目标:
1.成功搭建主从DNS服务器,实现正向反向解析
2.主DNS服务器只允许从DNS服务器的区域传送的请求,而从DNS服务器不能进行区域传送
3.域名解析请求的转发
4.acl和view的使用
Master DNS Server:192.168.0.22
Slave DNS Server:192.168.0.23
解析的域为 flyence.com
一. 搭建主DNS服务器
1. 安装bind
yum install bind –y
2. 启动named服务
Service named start
3.修改主配置文件/etc/named.conf,将下列3行注释
// listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; }; // allow-query { localhost; };
4. 编辑/etc/named.rfc1912.zones,建立正向解析区域
zone "flyence.com" IN { type master; file "flyence.com"; };
5.建立/var/named/flyence.com文件
$TTL 600 @ IN SOA dns.flyence.com. admin.flyence.com. ( 2014032301 ; serial 2H ; refresh (2 hours) 10M ; retry (10 minutes) 7D ; expire (1 week) 2H ; minimum (2 hours) ) IN NS dns IN NS dns2 ;辅助DNS服务器的IP地址 IN MX 10 mail dns IN A 192.168.0.22 dns2 IN A 192.168.0.23 mail IN A 192.168.0.100 www IN A 192.168.0.101 www IN A 192.168.0.102 music IN CNAME www
6.修改/var/named/flyence.com文件属性
chmod 640 /var/named/flyence.com chown :named /var/named/flyence.com
7. 编辑/etc/named.rfc1912.zones,建立反向解析区域
zone "0.168.192.in-addr.arpa" IN { type master; file "192.168.0"; };
8. 创建/var/named/192.168.0
$TTL 600 @ IN SOA dns.flyence.com. admin.flyence.com. ( 2014032301 2H 10M 7D 2H ) IN NS dns.flyence.com. IN NS dns2.flyence.com. 22 IN PTR dns.flyence.com. 23 IN PTR dns2.flyence.com. 100 IN PTR mail.flyence.com. 101 IN PTR www.flyence.com. 102 IN PTR www.flyence.com.
9. 修改/var/named/192.168.0文件属性
chmod 640 /var/named/192.168.0 chown :named /var/named/192.168.0
10. 重新载入配置文件并测试
rndc reload
11. 测试
二. 搭建辅助DNS服务器
1. 安装bind
yum install bind –y
2. 启动named服务
Service named start
3.修改主配置文件/etc/named.conf,将下列3行注释
// listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; }; // allow-query { localhost; };
4. 编辑/etc/named.rfc1912.zones,建立正向及反向解析区域
zone "flyence.com" IN { type slave; file "slave/flyence.com"; masters { 192.168.0.22; }; }; zone "0.168.192.in-addr.arpa" IN { type slave; file "slave/192.168.0"; masters { 192.168.0.22; }; };
5.重新读取主DNS服务器配置文件
rndc reload
6.测试
三. 配置allow-transfer
1. 主DNS只允许从DNS服务器的区域传送请求
在/etc/named.rfc1912.zones
zone "flyence.com" IN { type master; file "flyence.com"; allow-transfer { 192.168.0.23; }; }; zone "0.168.192.in-addr.arpa" IN { type master; file "192.168.0"; allow-transfer { 192.168.0.23; }; };
2.测试,从本机请求完全区域传送
3. 辅助DNS服务器不允许任何人的区域传送请求
zone "flyence.com." IN { type slave; file "slaves/flyence.com"; masters{ 192.168.0.22; }; allow-transfer{ none; }; }; zone "0.168.192.in-addr.arpa" IN { type slave; file "slaves/192.168.0"; masters{ 192.168.0.22; }; allow-transfer{ none; }; };
4.测试,从本机请求完全区域传送
四. 域名解析请求的转发
当前在辅助DNS服务器向主DNS服务器请求解析“baidu.com.”的时候,是不能得到结果的
首先要保证转发请求的服务器必须为请求者提供递归查询,默认是开启的。
查看/etc/named.conf中的options选项中应该有一项是
recursion yes;
没有的话就加上。
1. 在主DNS服务器的/etc/named.conf中的options中加上两行
forwarders { 192.168.0.1; }; forward only;
注意在这里forwarders中的IP因人而异,是你要将请求转发至的服务器
2. 建立解析域zone=,可以建立在/etc/named.conf或在/etc/named.rfc1912.zones里。这次实验将它建立在/etc/named.conf中。
zone "baidu.com." IN { type forward; forwarders{ 192.168.0.1; }; forward only; };
3. 重读配置文件,并在辅助DNS服务器上测试。
rndc reload
五. 使用acl访问控制
在第三步中,对allow-transfer进行了设定,在这里可以使用acl来进行组设定
1. 在/etc/named.conf的最上方添加acl
acl allowaxfr { 192.168.0.22; 192.168.0.23; };
2. 在/etc/named.rfc1912.zones中修改allow-transfer
zone "flyence.com" IN { type master; file "flyence.com"; allow-transfer { allowaxfr; }; };
在反向解析中也这样修改。
3. 重读配置文件并测试
这次允许本机和辅助DNS进行完全传送
六. 使用view实现智能DNS解析
当使用view时,所有区域都必须在view中,包括根。则在/etc/named.conf中的根域必须搬到到/etc/named.rfc1912.zones中。
具体的用法
view VIEW_NAME { match-clients{ .. }; zone ".." IN { ... }; }
192.168.0.23/32请求mail.flyence.com的IP时,显示192.168.0.100
其他所有主机请求mail.flyence.com的IP时,显示192.168.0.200
1. 将/etc/named.conf中的根域移动到/etc/named.rfc1912.zones中,并使用view
view "view1" { match-clients{ 192.168.0.23/32; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost.localdomain" IN { type master; file "named.localhost"; allow-update { none; }; }; zone "localhost" IN { type master; file "named.localhost"; allow-update { none; }; }; zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.a rpa" IN { type master; file "named.loopback"; allow-update { none; }; }; zone "1.0.0.127.in-addr.arpa" IN { type master; file "named.loopback"; allow-update { none; }; }; zone "0.in-addr.arpa" IN { type master; file "named.empty"; allow-update { none; }; }; zone "flyence.com" IN { type master; file "flyence.com"; }; zone "0.168.192.in-addr.arpa" IN { type master; file "192.168.0"; }; }; view "view2" { match-clients{ any; }; zone "flyence.com" IN { type master; file "flyence2.com"; }; };
2. 复制/var/named/flyence.com为/var/named/flyence2.com,并将mx的A记录改为192.168.0.200
cp /var/named/flyence.com /var/named/flyence2.com
3. 修改/var/named/flyence2.com的权限和属组
chmod 640 /var/named/flyence2.com chown :named /var/named/flyence2.com
4. 重读配置文件并进行测试
rndc reload
在192.168.0.23上
在192.168.2.134上测试