options {
directory "/var/named";
allow-recursion { 172.16.0.0/16;}; 说明只给这个网段的主机递归
};
加那句话之前 dig -t A www.souhu.com @192.168.9.247 用本机地址去递归souhu,但是必须手动
dig +trace -t A www.baidu.com @192.168.9.247 用本机去递归,自动显示所有过程
在options中添加
allow-query 只允许某些人访问
recursion no 不给任何人递归
完全区域传送
dig -t axfr mageedu.com
增量区域传送 (乱码就export LANG=en)
dig -t ixfr mageedu.com
例如:vim /var/named/mageedu.com.zone
在最后一行添加 pop IN A 192.168.9.4
然后将版本号+1
重启service named reloade
dig -t IXFR=2012040201 mageedu.com 相当于更新从DNS服务器的信息
#####################################################################
vim /etc/named.conf
如果在options中添加allow-transfer {192.168.9.225; };只允许谁来传送,并且对全局有效
也可以单独添加到某个域当中
当然啦!named.localhost 和 named.loopback不可能成为从服务器 所以
应该填写 allow-transfer { none;};
在正反区域中添加allow-transfer {192.168.9.225; };很有必要
service named restart重启
再去尝试dig -t axfr mageedu.com 发现本机的IP地址传送不了了
#########################################################################
*****************************************************************
咱们现在说说如何配置从DNS服务器
1、rpm -e bind-libs bind-utils 卸载他俩
2、cd /etc/yum.repos.d;;;;scp 172.16.100.1:/etc/yum.repos.d/server.repo ./ 将yum源保存到当前目录下
3、yum install bind97 bind97-utils -y 安装
4、你会发现 /var/named目录下有一个文件slaves 它的属主属组都是named
5、同步过来的文件要保存在/var/named目录下,要么保存在slaves下要么赋予named写权限
6、setenforce 0 关闭SElinux
7、mv /etc/named.conf /etc/named.conf.org 将原文件改名
8、scp 192.168.9.247:/etc/named.conf /etc/
9、vim /etc/named.conf 编辑配置文件
10、 zone "mageedu.com" IN {
type slave; #####代表是从服务器,上节课做的事master代表是主服务器
file "slaves/mageedu.com.zone.";
masters {192.168.9.247; }; 定义一下主服务器是谁
allow-transfer {none; }; 因为我不是主DNS服务器 ,所以不需要别人传送,也会更安全
};
11、然后咱们再把反向区域重新定义一下 同上
12、检查配置文件 named-checkconf
13、没有数据文件所以不用检查;所以只需要直接启动 service named start
14、报错!!!tail /var/log/messages 会发现:/etc/named.conf:permission denied
15、ll /etc/named.conf 会发现named的属主属组都是root;;;chgrp named /etc/named.conf 将属组改为named
16、service named start
17、tail /var/log/messages 查看log下的日志信息
18、cd /var/named/slaves/ 就是那个可读写的目录;用于保存从主DNS服务器上传送过来的更新信息
19、vim mageedu.com.zone 会见到人家的书写格式,更规范
20、咱们回到主服务器上,vim /var/named/mageedu.com.zone
添加一条:imap IN A 192.168.9.8 版本号+1 (DNS服务器都是要用ns1/2标记的;所以要加一条 IN NS ns2;;;;反向记录里也要添加)
20:详细介绍一下吧:我们每加一台NS服务器也就是DNS服务器,就要加一条NS记录 格式同上
21、service named reload 重读一下
22、tail /var/log/messages 查看日志 提示:reloading configuration succeeded
23、咱们再看看从服务器的日志 会发现版本号没有变化,没有传送;可能是refresh的时间没到
24、咱们去主服务器/etc/named.conf下编辑;在options下添加一项 notify yes;表示启动通知
25、service named reload 重启
26、会发现,只要在主DNS服务器的/var/nanmed/mageedu.com.zone 加一条记录,加一个版本。重启一下,从服务器就会自动接收并更新
27、来来来、咱们现在主服务器上编辑一条反向记录吧:vim /var/named/192.168.9.zone
28、添加一条主机 然后版本号+1 保存 重启 然后去从服务器上看,信息已经更新;多看看日志
END!!!!!!!!!!
###########################################################################################
如何用rndc控制我们的DNS服务器:
rndc
reload 重读配置文件和区域文件
reload zone 重读区域文件
retransfer zone 重新传送
flush 清空缓存
restart 重启服务器
既然rndc能够远程控制,那么他的命令和key一定是非常关键的;不然任何人都可以把我们分服务器关闭
1、rndc-confgen > /etc/rndc.conf 生成配置文件
2、打开rndc.conf这个文件 会看到一半信息是带有注释的 ;它会提示你:
Use with the following in named.conf 意思是将注释信息放入named.conf 并且去掉注释符
3、vim /etc/rndc.conf 这里面定义了rndc-key ; 默认密钥是什么;默认服务器是什么;默认端口是什么
4、删除/etc/rndc.key这个之前生成的文件
5、service named restart
6、看看状态:rndc -c /etc/rndc.conf status
7、手动通知一下区域rndc -c /etc/rndc.conf notify "mageedu.com" 此时看日志tail /var/log/messages 会发现它重新通知了一遍
8、rndc -c /etc/rndc.conf flush 清除缓存
9、rndc -c /etc/rndc.conf stop 停止服务器;;;netstat -tunlp 会发现53号端口都没有了
10、service named start 启动起来
11、但是我们控制的终究是本机:
我们需要修改named.conf 里面controls 选项的地址改一改
inet 后面写本机 下面allow写外网地址 让谁控制写谁
12、重启
13、netstat -tnlp 发现953监听在172.16.100.1上,(本机地址)
14、将100.1上/etc/rndc.conf 转发给100.2的root 目录下
15、到100.2上 编辑rndc.conf 将default-server 172.16.100.1;
16、rndc -c rndc.conf status 远程查看100.1的状态
17、报错可能因为时间不同步;一般不要开放远程控制,因为很危险;但是在本机上是很常用的