主域名服务器使用的VIEW分界,按照不同查询来源地址来回应不同的答案,这对于一般的查询工作是非常高效的。但是当从服务器进行SOA查询或者做Transfer时,如果主服务器看到客户端请求,只能回应该客户端所在的VIEW,而不能顺利完成其他VIEW的同步。保证主从域名服务器的数据同步,就是为域名服务正常工作提供保障。因此,如何保证域名系统的主从服务器的数据同步性,就显得极为重要。本文分别利用BIND 9的TRANSFER-SOURCE功能和TSIGKEY功能,阐述了这一问题的两种不同的解决方案。
触发同步的过程
首先介绍主从服务器的同步过程。触发同步过程的原因有4种:1.从域名服务器刚刚启动;2.主域名服务器的Serial值增大;3.执行了rndc reload命令;4.到了主从服务器的同步更新时间。
主从域名服务器开始同步(见图1):
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。
两种主从服务器的数据同步法
根据主从服务器的同步步骤,要解决域名服务器的同步问题,主要问题是如何标识主服务器的notify消息,即notify消息隶属于哪个VIEW、从服务器如何识别notify消息。同样,notify response消息、SOA query、SOA response消息、Zone transfer request消息、Zone transfer response消息、Zone transfer的数据也存在类似的问题。Bind 9提供了两种标识此类信息的方法:1.利用TRANSFER-SOURCE功能,从服务器需要设置和VIEW一一对应的IP地址;2.利用TSIGKEY功能对消息进行加密。
利用TRANSFER-SOURCE功能
环境假定:授权domain是test.lcu.edu.cn;
主DNS的IP地址是210.44.112.66(DNS包含Internet和Cernet两个VIEW);
从DNS的IP地址是210.44.112.67(对应Cernet View)和210.44.112.68(对应Internet View)。
1. 对主DNS的配置
include “/etc/cernet.cfg”; //指定教育网地址文件,可以根据自己的配置来进行灵活配置。
view “cernet” { //定义了一个Cernet view
match-clients {!210.44.112.68;cernet; }; //cernet是cernet.cfg定义的教育网ACL
zone "." IN {
type hint;
file "named.root";
};
zone “test.lcu.edu.cn” {
type master;
file “cernet.zone” ;
allow-transfer { 210.44.112.67; };//使用210.44.112.67作Cernet zone transfer
};
};
view "internet" {
match-clients {!210.44.112.67; any; };
recursion no;
zone "." IN {
type hint;
file "named.root";
};
zone "test.lcu.edu.cn" IN {
type master;
file "internet.zone";
allow-transfer { 210.44.112.68; }; //使用210.44.112.68作Internet zone transfer
};
};
2.对从服务器的配置
include “/etc/cernet.cfg”; //指定教育网地址文件,可以根据自己的配置来进行灵活配置。
view “cernet” {
match-clients {cernet; }; //cernet是cernet.cfg定义的教育网ACL
zone "." IN {
type hint;
file "named.root";
};
zone “test.lcu.edu.cn” {
type slave;
file “slave.cernet.zone” ;
masters { 210.44.112.66; };
allow-source { 210.44.112.67; };//和主DNS配置对应
};
};
view "internet" {
match-clients {any; };
recursion no;
zone "." IN {
type hint;
file "named.root";
};
zone "test.lcu.edu.cn" IN {
type slave;
file "slave.internet.zone";
masters { 210.44.112.66; };
allow-source { 210.44.112.68; }; //和主DNS配置对应
};
};
.分页: [1] [2]
- 上一篇:十招保护DNS服务器安全
- 下一篇:DNS技术在网络链路控制中的应用