一、DNS主从同步原因及过程
为了保证更好地进行域名解析服务,一般在网络中设置主、从两台DNS服务器。
主从服务器触发同步过程的原因有4种:
1.从域名服务器刚刚启动;
2.主域名服务器的Serial值增大;
3.执行了rndc reload命令;
4.到了主从服务器的同步更新时间。
主从域名服务器同步过程:
1. 主服务器向从服务器发送notify消息
2. 从服务器收到主服务器发送notify消息,向主服务器返回一个notify response消息。
3. 从服务器向主服务器发送SOA query消息。
4. 主服务器向从服务器返回SOA response消息。
5. 从服务器收到SOA response消息后,比对自身的Serial值,如果发现主服务器的Serial值大于自身的Serial值,那么就发送Zone transfer request消息。
6. 主服务器返回Zone transfer response消息。
7. 主服务器执行Zone transfer。
二、准备工作
1、准备两天服务器:
主服务器:172.16.251.45
从服务器:172.16.251.46
2、分别安装DNS
yum -y install bind
yum -y install bind-utils (包含一些配置和测试工具)
三、配置主DNS服务器
1、配置主DNS主配置文件/etc/named.conf
vim /etc/named.conf
//// named.conf//// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS// server as a caching only nameserver (as a localhost DNS resolver only).//// See /usr/share/doc/bind*/sample/ for example named configuration files.//options {// listen-on port 53 { 127.0.0.1; };// listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt";// allow-query { localhost; }; recursion yes;// dnssec-enable yes;// dnssec-validation yes;// dnssec-lookaside auto; /* Path to ISC DLV key */// bindkeys-file "/etc/named.iscdlv.key";// managed-keys-directory "/var/named/dynamic";};logging { channel default_debug { file "data/named.run"; severity dynamic; };};zone "." IN { type hint; file "named.ca";};include "/etc/named.rfc1912.zones";//include "/etc/named.root.key";
2、/etc/named.rfc1912.zones最下面添加正向解析、反向解析区域文件
vim /etc/named.rfc1912.zones
zone "test1.com" IN { //正向解析 type master; //类型为主DNS file "test1.com.zone"; //正向解析文件位置 allow-transfer { 172.16.251.46; }; //授权从DNS连接主DNS allow-update { none; }; //允许自动更新};zone "251.16.172.in-addr.arpa" IN { //反向解析 type master; //类型为主DNS file " 172.16.251.zone"; //反向解析文件位置 allow-transfer { 172.16.251.46; };//授权从DNS连接主DNS allow-update { none; }; //允许自动更新};
3、在/var/named/目录中编辑正反向解析文件
vim /var/named/test1.com.zone
$TTL 600@ IN SOA dns.test1.com dnsmail.test1.com. (//SOA字段 2014031945 //版本号 同步一次 +1 1H //更新时间 2M // 更新失败,重试更新时间 2D // 更新失败多长时间后此DNS失效时间 1D //解析不到请求不予回复时间) IN NS dns //有两域名服务器 IN NS ns2 IN MX 10 mail // 定义邮件服务器,10指优先级 0-99 数字越小优先级越高ns2 IN A 172.16.251.46 //ns2域名服务器的ip地址dns IN A 172.16.251.45 //dns域名服务器的ip地址mail IN A 172.16.251.1 //邮件服务器的ip地址www IN A 172.16.251.2 //www.test1.com的ip地址pop IN CNAME mail //pop的正式名字是mailftp IN CNAME www //ftp的正式名字是www
4、在/var/named/目录中编辑反反向解析文件
vim /var/named/172.16.251.zone
$TTL 600@ INSOA dns.test1.com dnsmail.test1.com. ( 2014031945 1H 2M 2D 1D) IN NS dns.test1.com.10 IN PTR dns.test1.com. //反向解析PTR格式1 IN PTR mail.test1.com.2 IN PTR www.test1.com.// 声明域的时候已经有了,172.16.251 所以我们只需要输入45既代表172.16.251.45
5、检查语法错误,修改权限
named-checkconf
named-checkzone "test1.com" /var/named/test1.com.zone
named-checkzone "251.16.172.in-addr.arpa" /var/named/172.16.251.zone
把两个自定义区域文件的属组改为named
安全起见,把这2个文件权限改成640
chown :named test1.com.zone //若这步没做正向解析会出现”server can't find www.cwlinux.com:SERVFAIL”的错误chown :named 172.16.251.zone //若这步没做反向解析会出现”server can't find 45.251.16.172.in-addr.arpa:SERVFAIL”的错误chmod 640 test1.com.zone 172.16.251.zone
重启bind服务
service named restart //需要敲打键盘。。。如果时间较长请耐心
6、在主DNS上测试正反向解析
dig -t A www.test1.com @172.16.251.45 //正向解析测试dig -x 172.16.251.1 @172.16.251.45 //反向解析测试
四、配置从DNS服务器
1、配置从DNS主配置文件/etc/named.conf,和主DNS内容一样
vim /etc/named.conf
2、在/etc/named.rfc1912.zones最下面添加正向解析、反向解析区域文件
vim /etc/named.rfc1912.zone
zone "test1.com" IN { //正向解析 type slave; //类型为从DNS masters { 172.16.251.45; }; //主DNS ip地址 file "slaves/test1.com.zone"; //test1.com.zone拷贝到slaves目录下(/var/named/slaves) allow-update { none; }; //允许自动更新}; zone "251.16.172.in-addr.arpa" IN { type slave; masters { 172.16.251.45; }; file "slaves/172.16.251.zone"; allow-update { none; }; };
3、重启从DNS
service named restart
无限打打字中。。。
查看从主服务器自动拷贝过来的正反向解析文件
ls /var/named/slaves/
4、测试从DNS正向解析
dig -t NS test1.com @172.16.251.46dig -x 172.16.251.2 @172.16.251.46
五、主从同步
在主DNS /var/named/text1.com.zone 中修改版本号并加一条A记录(红线部分)
注意:主DNS版本号必须大于从DNS版本号
重读DNS文件
service named reload
同步成功!
以上就是DNS主从同步