在《DNS服务器之一:DNS简介及BIND安装与基本配置》一文中,介绍了DNS服务器BIND98的安装和基本配置,实现了最基本的域名解析功能,今天我们来实现如下功能:
- DNS反向解析
- DNS主从复制
试验环境:
- 主DNS服务器:ns.toxingwang.com IP:192.168.8.101
- 从DNS服务器:ns2.toxingwang.com IP:192.168.8.100
一、反向解析
反向解析是实现IP到FQDN的解析。实现方法如下:
1.1 配置named.conf,添加反向解析区域配置:
打开named.conf,添加如下内容:
zone “8.168.192.in-addr.arpa” IN { ##反向解析区域的格式,IP反向及in-addr.arpa是必须的
type master;
file “named.192.168.8”;
};
1.2 配置数据文件,实现反向解析:
进入named数据文件目录,复制原来正向解析区域的数据文件为反向解析数据文件:
[root@ns ~]# cd /var/named/
[root@ns named]# cp -p named.toxingwang.com named.192.168.8
编辑named.192.168.8:
$TTL 1H
@ IN SOA ns.toxingwang.com. admin.toxingwang.com. (
2013081701 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns.toxingwang.com. ##注意,这条是必须的
101 IN PTR ns.toxingwang.com.
100 IN PTR www.toxingwang.com.
3 IN PTR mail.toxingwang.com.
测试配置是否存在语法错误:
[root@ns named]# named-checkconf
[root@ns named]# named-checkzone “8.168.192.in-addr.arpa” named.192.168.8
zone 8.168.192.in-addr.arpa/IN: loaded serial 2013081701
OK
测试无误后重启服务生效:
[root@ns named]# service named restart
停止 named:. [确定]
启动 named: [确定]
1.3 测试反向解析:
从上面测试可以看出,反向解析已经正常生效。
二、主从复制
2.1 主DNS服务器配置:
配置named.conf,增加区域传输配置:
options {
listen-on port 53 { 192.168.8.101; };
allow-query { 192.168.8.0/24; };
directory “/var/named”;
notify yes; ##允许在主DNS服务器变更时,主动通知从DNS服务器更新
};zone “.” IN {
type hint;
file “named.ca”;
##跟区域无需定义传输规则,定义反而会报错
};zone “toxingwang.com” IN {
type master;
file “named.toxingwang.com”;
allow-transfer { 192.168.8.100; }; ##允许本区域传输至特定的从DNS服务器
};zone “localhost” IN {
type master;
file “named.localhost”;
allow-transfer { none; }; ##不传输本地区域
};
zone “8.168.192.in-addr.arpa” IN {
type master;
file “named.192.168.8”;
allow-transfer { 192.168.8.100; }; ##允许本区域传输至特定的从DNS服务器
};
修改区域数据文件,增加从DNS服务器的解析,包括NS、A、PTR等记录。
配置正向解析区域:
[root@ns named]# vi named.toxingwang.com
$TTL 1H
@ IN SOA ns.toxingwang.com. admin.toxingwang.com. (
2013081702 ; serial ##注意,当主DNS修改DNS解析时,需增加本序号
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns.toxingwang.com.
IN NS ns2.toxingwang.com. ##增加从DNS服务器到NS记录
IN MX 10 mail.toxingwang.com.
ns IN A 192.168.8.101
ns2 IN A 192.168.8.100 ##增加从DNS服务器的A记录
www IN A 192.168.8.100
mail IN A 192.168.8.3
www2 IN CNAME www.toxingwang.com.
配置反向解析区域:
$TTL 1H
@ IN SOA ns.toxingwang.com. admin.toxingwang.com. (
2013081702 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns.toxingwang.com.
@ IN NS ns2.toxingwang.com. ##增加NS记录
101 IN PTR ns.toxingwang.com.
100 IN PTR ns2.toxingwang.com. ##增加反向解析记录
100 IN PTR www.toxingwang.com.
3 IN PTR mail.toxingwang.com.
重启服务生效:
[root@ns named]# service named restart
停止 named: [确定]
启动 named: [确定]
2.2 从DNS服务器配置:
从DNS服务器的安装与主DNS服务器安装过程相同,这里不再做介绍,而是直接讲解配置过程:
named.conf区域定义配置:
zone “.” IN {
type hint;
file “named.ca”;
};zone “toxingwang.com” IN {
type slave; ##区域类型
file “slaves/named.toxingwang.com”; ##数据文件路径
masters { 192.168.8.101; }; ##主DNS服务器地址
allow-transfer { none; };
};zone “localhost” IN {
type master;
file “named.localhost”;
allow-transfer { none; };
};
zone “8.168.192.in-addr.arpa” IN {
type slave; ##类型为slave
file “slaves/named.192.168.8”; ##数据文件路径
masters { 192.168.8.101; }; ##主DNS服务器地址
allow-transfer { none; };
};
检查配置是否有误:
[root@ns2 ~]# named-checkconf ##没有提示表示没有语法错误
从DNS服务器数据文件是直接从主DNS服务器复制而来,因此不需要配置数据文件。
重启named服务生效:
[root@ns2 ~]# service named restart
停止 named:. [确定]
启动 named: [确定]
2.3 检查主从复制结果:
查看从DNS服务器数据文件是否生成:
[root@ns2 ~]# cd /var/named/slaves/
[root@ns2 slaves]# ls
named.192.168.8 named.toxingwang.com
##可以看到数据文件已经自动生成
查看从DNS服务器数据文件内容:
[root@ns2 slaves]# cat named.toxingwang.com
$ORIGIN .
$TTL 3600 ; 1 hour
toxingwang.com IN SOA ns.toxingwang.com. admin.toxingwang.com. (
2013081701 ; serial
86400 ; refresh (1 day)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10800 ; minimum (3 hours)
)
NS ns.toxingwang.com.
NS ns2.toxingwang.com.
MX 10 mail.toxingwang.com.
$ORIGIN toxingwang.com.
mail A 192.168.8.3
ns A 192.168.8.101
ns2 A 192.168.8.100
www A 192.168.8.100
www2 CNAME www[root@ns2 slaves]# cat named.192.168.8
$ORIGIN .
$TTL 3600 ; 1 hour
8.168.192.in-addr.arpa IN SOA ns.toxingwang.com. admin.toxingwang.com. (
2013081701 ; serial
86400 ; refresh (1 day)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10800 ; minimum (3 hours)
)
NS ns.toxingwang.com.
NS ns2.toxingwang.com.
$ORIGIN 8.168.192.in-addr.arpa.
100 PTR ns2.toxingwang.com.
PTR www.toxingwang.com.
101 PTR ns.toxingwang.com.
3 PTR mail.toxingwang.com.
从自动生成的数据文件中,我们学到一些配置技巧,如宏的定义和使用:$ORIGIN $TTL
查看主DNS服务器日志:
[root@ns named]# tail /var/log/messages
Aug 17 06:51:09 ns named[1886]: managed-keys-zone ./IN: loaded serial 0
Aug 17 06:51:09 ns named[1886]: running
Aug 17 06:51:09 ns named[1886]: zone toxingwang.com/IN: sending notifies (serial 2013081701)
Aug 17 06:51:09 ns named[1886]: zone 8.168.192.in-addr.arpa/IN: sending notifies (serial 2013081701)
Aug 17 06:51:09 ns named[1886]: client 192.168.8.100#49937: transfer of ‘8.168.192.in-addr.arpa/IN’: AXFR-style IXFR started
Aug 17 06:51:09 ns named[1886]: client 192.168.8.100#49937: transfer of ‘8.168.192.in-addr.arpa/IN’: AXFR-style IXFR ended
Aug 17 06:57:05 ns named[1886]: client 192.168.8.100#51933: transfer of ‘8.168.192.in-addr.arpa/IN’: AXFR started
Aug 17 06:57:05 ns named[1886]: client 192.168.8.100#51933: transfer of ‘8.168.192.in-addr.arpa/IN’: AXFR ended
Aug 17 06:57:06 ns named[1886]: client 192.168.8.100#47153: transfer of ‘toxingwang.com/IN’: AXFR started
Aug 17 06:57:06 ns named[1886]: client 192.168.8.100#47153: transfer of ‘toxingwang.com/IN’: AXFR ended
客户端测试从DNS服务器解析情况:
修改主DNS中的解析,测试从服务器复制情况:
[root@ns named]# vi named.toxingwang.com
$TTL 1H
@ IN SOA ns.toxingwang.com. admin.toxingwang.com. (
2013081702 ; serial ##修改序号
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns.toxingwang.com.
IN NS ns2.toxingwang.com.
IN MX 10 mail.toxingwang.com.
ns IN A 192.168.8.101
ns2 IN A 192.168.8.100
www IN A 192.168.8.2 ##修改www主机解析
mail IN A 192.168.8.3
www2 IN CNAME www.toxingwang.com.
blog IN A 192.168.8.4 ##增加blog主机解析
主DNS服务器重新加载数据文件生效:
[root@ns named]# service named reload
重新载入named: [确定]
查看主DNS服务器日志:
Aug 17 07:12:00 ns named[1886]: reloading configuration succeeded
Aug 17 07:12:00 ns named[1886]: reloading zones succeeded
Aug 17 07:12:00 ns named[1886]: zone toxingwang.com/IN: loaded serial 2013081703
Aug 17 07:12:00 ns named[1886]: zone toxingwang.com/IN: sending notifies (serial 2013081703)
Aug 17 07:12:00 ns named[1886]: client 192.168.8.100#38052: transfer of ‘toxingwang.com/IN’: AXFR-style IXFR started
Aug 17 07:12:00 ns named[1886]: client 192.168.8.100#38052: transfer of ‘toxingwang.com/IN’: AXFR-style IXFR ended
客户端测试:
通过测试,可以看出从DNS是可以正常工作的。