环境: 系统 版本 CentOS Linux release 7.2.1511 (Core)
bind 版本 bind.x86_64 32:9.9.4-38
已关闭firewalld和selinux
两台DNS付服务器:
主机名 | dns-master | dns-slave |
---|---|---|
IP | 10.0.0.28 | 10.0.0.29 |
# yum -y install bind*.x86_64
# systemctl enable named
# systemctl start named
查看named 的端口
[root@dns-master ~]# netstat -lntup|grep 53
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3531/named
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 2328/dnsmasq
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 3531/named
tcp6 0 0 ::1:53 :::* LISTEN 3531/named
tcp6 0 0 ::1:953 :::* LISTEN 3531/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 3531/named
udp 0 0 192.168.122.1:53 0.0.0.0:* 2328/dnsmasq
udp 0 0 0.0.0.0:5353 0.0.0.0:* 848/avahi-daemon: r
udp6 0 0 ::1:53 :::* 3531/named
如上,则bind启动完成
# vim /etc/named.conf
改options中的listen-on那一行的 “127.0.0.1” 为 “any”,allow-query 中的“localhost” 为”any”,意思是接受其他主机的访问和查询,如下:
在named.conf 下面添加一个zone
zone "test.com." IN {
type master;
file "test.com.zone";
};
如下:
# cd /var/named/ (这个目录是 /etc/named.conf 文件中 options 模块的 directory 参数中配置的 )
# cp named.localhost test.com.zone (注意:和named.localhost 的权限、所属用户及组 保持一致,自己看看)
# chgrp named test.com.zone
# chmod 640 test.com.zone
# vim /var/named/test.com.zone
改为如下配置:
$TTL 1D
@ IN SOA ns.test.com. xx.test.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.test.com.
ns A 10.0.0.28
master A 10.0.0.28
slave A 10.0.0.29
www CNAME master
web CNAME slave
上面的参数配置的详解,可参考:点击打开链接
检查配置文件:
# named-checkconf /etc/named.conf
# named-checkzone "test.com." /var/named/test.com.zone
没报错就OK,报错了,检查是否 按照上面的步骤来操作
# systemctl restart named
测试:
# dig www.test.com @10.0.0.28 (‘@’后面指定dns 服务器的地址,就可以不用改本机的dns了)
如上,在dns 服务器 10.0.0.28 上查到 www.test.com 指向 master.test.com,然后master.test.com 指向 10.0.0.28
编辑 /etc/named.conf 在第3步添加的 zone 下面 添加:
# cp test.com.zone 10.0.0.rev
# chgrp named 10.0.0.rev
编辑 10.0.0.rev 为
$TTL 1D
@ IN SOA ns.test.com. xx.test.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS ns.test.com.
28 PTR ns.test.com.
28 PTR master.test.com.
29 PTR slave.test.com.
检查:
# named-checkconf /etc/named.conf
# named-checkzone "0.0.10.in-addr.arpa" /var/named/10.0.0.rev
测试:
# dig -x 10.0.0.29 @10.0.0.28
# yum -y install bind*.x86_64
# systemctl enable named
# systemctl start named
# vim /etc/named.conf
改options中的listen-on那一行的 “127.0.0.1” 为 “any”,allow-query 中的“localhost” 为”any”
添加两个zone
# named-checkconf /etc/named.conf
重启服务
# systemctl restart named