003.DNS主从正反解析部署
一 实验环境
1.1 实验需求
- 配置正向解析bind
- 配置反向解析bind
- 配置辅助dns的bind
- 实现主辅dns之间的区域传送
1.2 环境规划
主dns:centos6.8-01 172.24.8.10 linuxmaster.aliyun.com
辅dns:centos6.8-02 172.24.8.11 linuxslave.aliyun.com
yum+www服务器:centos7-03 172.24.8.30 mirrors.aliyun.com
client:centos6.8-03 172.24.8.20
domain name:aliyun.com
二 配置正向解析
- 第一步:使用yum安装dns所使用的软件包(bind)
- 第二步:创建或修改主配置文件(/etc/named.conf)
- 第三步:创建区域数据文件(/var/named/***.zone)
- 第四步:使用相关命令(named-checkconf、named-checkzone)测试配置文件及区域文件是否存在语法错误
- 第五步:确保主配置文件和各区域解析库文件的权限为640,属主为root,属组为named;
- 第六步:重启服务或重新加载配置文件
- 第七步:更改iptables和selinux的设置(如果不了解此两项可以暂时关闭它们)
- 第八步:分别使用(dig/nslookup)在linux/windows主机进行查询dns相关资源记录
2.1 安装bind
2.2 配置主配置文件
1 [root@linuxmaster ~]# cat /etc/named.conf 2 …… 3 options { 4 listen-on port 53 { 127.0.0.1; }; 5 listen-on-v6 port 53 { ::1; }; 6 directory "/var/named"; #存放区域文件根目录,下面给出的相对路径都是相对此目录 7 dump-file "/var/named/data/cache_dump.db"; 8 statistics-file "/var/named/data/named_stats.txt"; 9 memstatistics-file "/var/named/data/named_mem_stats.txt"; 10 allow-query { localhost; }; #允许哪些主机查询 11 recursion yes; #是否允许递归查询 12 13 dnssec-enable yes; 14 dnssec-validation yes; 15 16 /* path to isc dlv key */ 17 bindkeys-file "/etc/named.iscdlv.key"; 18 19 managed-keys-directory "/var/named/dynamic"; 20 }; 21 22 logging { #定义日志 23 channel default_debug { 24 file "data/named.run"; 25 severity dynamic; 26 }; 27 }; 28 29 zone "." in { #定义根区域文件名称 30 type hint; 31 file "named.ca"; #相对路径,即可/var/named/named.ca 32 }; 33 34 include "/etc/named.rfc1912.zones"; #定义区域配置文件,若要新增也可以在此使用include 35 include "/etc/named.root.key"; #根区域的key文件,与事务签名相关 36 注释以下三行—— 37 //listen-on port 53 { 127.0.0.1; }; 38 //listen-on-v6 port 53 { ::1; }; 39 //allow-query { localhost; }; 40 [root@linuxmaster ~]# service named start #启动named服务 41 [root@linuxmaster ~]# ss -taunl | grep "53" 42 [root@linuxmaster ~]# netstat -tlun #验证服务正常启动
2.3· 区域配置文件中新增zone
1 [root@linuxmaster ~]# vi /etc/named.conf #在zone文件中增加区域 2 …… 3 zone "aliyun.com" in { 4 type master; 5 file "aliyun.com.zone"; 6 }; 7 ……
2.4 新建区域zone文件
1 [root@linuxmaster ~]# cd /var/named/ 2 [root@linuxmaster named]# cp /var/named/named.localhost /var/named/aliyun.com.zone 3 [root@linuxmaster named]# vi /var/named/aliyun.com.zone 4 $ttl 300; 5 @ in soa linuxmaster.aliyun.com. admin.aliyun.com. ( 6 2017051720 7 1h 8 5m 9 7d 10 3d ) 11 in ns linuxmaster 12 in mx 20 mx 13 linuxmaster in a 172.24.8.10 14 www in a 172.24.8.30 15 mirrors in a 172.24.8.30 16 ftp in cname www 17 [root@linuxmaster ~]# named-checkconf #检查配置文件 18 [root@linuxmaster named]# named-checkzone "aliyun.com.zone" /var/named/aliyun.com.zone 19 zone aliyun.com.zone/in: loaded serial 2017051720 20 ok
2.5 修改权限
1 [root@linuxmaster ~]# chmod 640 /var/named/aliyun.com.zone 2 [root@linuxmaster ~]# chown root:named /var/named/aliyun.com.zone 3 注意:确保主配置文件和各区域文件权限为640,属主为root,属组为named。 4 [root@linuxmaster ~]# service named restart
2.6 关闭防火墙和selinux
1 [root@linuxmaster ~]# service iptables stop 2 [root@linuxmaster ~]# setenforce 0 3 [root@linuxmaster ~]# service named restart
2.7 测试解析
将dns修改为主dns服务器地址,之后ping linuxmaster.aliyun.com测试。
三 反向解析bind配置
正向解析与反向解析各自采用不同的解析库,一台dns服务器可以只有正向解析库或只有反向解析库,也可以同时提供正向/反向解析。
反向区域的区域名称格式:
reverseip.in-addr.arpa.
例如:假设网络地址为172.16.100.1 那么规则命名为100.16.172.in-addr.arpa
3.1 区域配置文件中新增反向zone
1 [root@linuxmaster ~]# vi /etc/named.conf 2 …… 3 zone "8.24.172.in-addr.arpa" in { 4 type master; 5 file "8.24.172.zone"; 6 }; 7 ……
3.2 新建反向区域zone文件
1 [root@linuxmaster ~]# /var/named/8.24.172.zone 2 $ttl 300; 3 @ in soa linuxmaster.aliyun.com. admin.aliyun.com. ( 4 2017051720 5 1h 6 5m 7 7d 8 3d ) 9 in ns linuxmaster.aliyun.com. 10 8.10 in ptr linuxmaster.aliyun.com. 11 8.30 in ptr www.aliyun.com. 12 8.30 in ptr mirrors.aliyun.com. 13 8.10 in ptr mx.aliyun.com.
注意:
反向解析不需要cname记录,且mx记录决不允许出现在反向解析库里;
8.10 ip地址没写全会自动从主配置文件中定义的区域名“24.172.in-addr.arpa”,没写全最后面不需要加.
1 [root@linuxmaster ~]# named-checkconf #检查配置文件 2 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/aliyun.com.zone 3 zone aliyun.com.zone/in: loaded serial 2017051720 4 ok 5 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/8.24.172.zone 6 zone aliyun.com.zone/in: loaded serial 2017051720 7 ok
3.3 修改权限
1 [root@linuxmaster ~]# chmod 640 /var/named/24.172.zone 2 [root@linuxmaster ~]# chown root:named /var/named/24.172.zone
注意:确保主配置文件和各区域文件权限为640,属主为root,属组为named。
1 [root@linuxmaster ~]# service named restart
3.4 关闭防火墙和selinux
1 [root@linuxmaster ~]# service iptables stop 2 [root@linuxmaster ~]# setenforce 0 3 [root@linuxmaster ~]# service named restart
3.5 测试解析
将dns修改为主dns服务器地址,之后在windows客户端使用nslookup测试。
四 辅助dns配置
辅助dns是针对区域来说的,如果有多台dns服务器,必须为每个dns服务器建立ns记录,否则主dns将不向其发送通知。
4.1 定义区域
1 zone “区域名称” in { 2 type slave; #区域类型为辅助 3 file "slaves/zone_name.zone"; #区域文件必须保存在slaves目录下,放在其他目录没有权限 4 masters { #指出主服务器是谁,注意:花括号前后要有一个空格 5 master_dns_ip; 6 master_dns2_ip; 7 }; 8 };
4.2 辅dns上安装bind
4.3 区域配置文件中新增辅助zone
1 [root@linuxslave ~]# vi /etc/named.rfc1912.zones #建议添加在named.rfc1912.zones里 2 …… 3 zone "aliyun.com" in { 4 type slave; 5 file "slaves/aliyun.com.zone"; 6 masters { 172.24.8.10; }; #主dns的地址 7 }; 8 zone "8.24.172-addr.arpa" in { 9 type slave; 10 file "slaves/24.8.172.zone"; 11 masters { 172.24.8.10; }; 12 }; 13 [root@linuxslave ~]# named-checkconf #检查配置
4.4 辅助dns关闭防火墙和selinux
1 [root@linuxslave ~]# service iptables stop 2 [root@linuxslave ~]# setenforce 0 3 [root@linuxslave ~]# service named restart
4.5 主dns正向解析添加辅助dns记录
1 [root@linuxmaster ~]# vi /var/named/aliyun.com.zone 2 $ttl 300; 3 @ in soa linuxmaster.aliyun.com. admin.aliyun.com. ( 4 2017051720 5 1h 6 5m 7 7d 8 3d ) 9 in ns linuxmaster 10 in ns linuxslave 11 in mx 20 mx 12 linuxmaster in a 172.24.8.10 13 linuxslave in a 172.24.8.11 14 www in a 172.24.8.30 15 mirrors in a 172.24.8.30 16 mx in a 172.24.8.10 17 ftp in cname www
4.6 主dns反向解析添加辅助dns记录
1 [root@linuxmaster ~]# vi /var/named/8.24.172.zone 2 $ttl 300; 3 @ in soa linuxmaster.aliyun.com. admin.aliyun.com. ( 4 2017051720 5 1h 6 5m 7 7d 8 3d ) 9 in ns linuxmaster.aliyun.com. 10 in ns linuxslave.aliyun.com. 11 8.10 in ptr linuxmaster.aliyun.com. 12 8.11 in ptr linuxslave.aliyun.com. 13 8.30 in ptr www.aliyun.com. 14 8.30 in ptr mirrors.aliyun.com. 15 8.10 in ptr mx.aliyun.com.
4.7 检查配置
1 [root@linuxmaster ~]# named-checkconf #检查配置文件 2 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/aliyun.com.zone 3 zone aliyun.com.zone/in: loaded serial 2017051720 4 ok 5 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/8.24.172.zone 6 zone aliyun.com.zone/in: loaded serial 2017051720 7 ok 8 [root@linuxmaster ~]# service named restart
查看主dns往辅助dns的数据同步情况
4.8 查看辅助dns
1 [root@linuxslave ~]# yum -y install bind-utils #安装客户端 2 [root@linuxslave ~]# dig -t axfr aliyun.com @172.24.8.10 #查看辅助dns同步情况
注意:辅助dns资源记录是从主dns同步过来的,不能手动更改。
windows客户端检测。
总结:
- 1、每个dns服务器必须要有一个对应的ns资源记录;
- 2、创建slave的时候,其配置文件类型必须是type slave; 必须指定主服务器的 ip地址 ;
- 3、可以使用dig -t axfr test.com @server_ip 从主dns服务器拉取所有解析库资源记录;
- 4、主辅同步完成后,将自动在slave服务器上的slaves/目录下生成zone文件,这些区域文件是从主dns同步过来的,一般为只读,不建议更改slave的zone文件;
- 5、在主dns上修改区域文件时,必须将soa记录的serial加1 因为slave是通过serial值来进行判断更新的(windows系统上是自动完成的);
- 6、dns的日志默认全部保存在/var/log/messege 文件中;
- 7、dns的解析依赖于解析库,所以就算是所配置的内容是完全不存在的也可以解析(且正向解析和反向解析的解析库是各自独立的)。需要注意,正向解析里没有ptr记录,而反向解析库里不需要a记录、mx记录和cname记录
上一篇: 16JavaScript for循环
下一篇: html iframe高度自适应