DNS主、从服务器配置
时间:2010-09-12 来源:ghost_shy
一、 主从DNS服务器同步原理
主从DNS服务器数据同步的过程,首先master DNS服务器每次修改完成并重启服务后,将传送notify给所有的slave DNS服务器。slave DNS服务器将查询master服务器的SOA记录,master DNS服务器收到请求后将SOA记录发送给Slave DNS服务器,Slave DNS服务器收到后同时对比查询结果中的serial值,如果serial值不大于本机的话将结束数据同步过程;但是如果serial值大于本机的话,slave DNS将发送zone transfer请求要求(AXFR/IXFR)。Master响应zone transfer请求并传送结果,直到整个slave更新完成。 二、 主、从DNS服务器安装配置 以下配置不考虑安全问题 这里主服务器的IP为192.168.175.200,从服务器IP为192.168.175.135 安装所需软件:yum -y install bind caching-nameserver 软件介绍: BIND是一种开源的DNS(Domain Name System)协议的实现,包含对域名的查询和响应所需的所有软件。它是互联网上最广泛使用的一种DNS服务器,对于类UNIX系统来说,已经成为事实上的标准。 BIND软件包包括三个部分: •DNS服务器。这是一个叫做named的程序,代表name daemon的简写。它根据DNS协议标准的规定,响应收到的查询。 •DNS解析库(resolver library)。一个解析器是一个程序,通过发送请求到合适的服务器并且对服务器的响应做出合适的回应,来解析对一个域名的查询。一个解析库是程序组件的集合,可以在开发其它程序时使用,为这些程序提供域名解析的功能。 •测试服务器的软件工具。 Caching-nameserver 为bind提供主配置文件模板 以下是详细配置: 1、主服务器配置: 首先拷贝主配置文件: #cp /etc/named /etc/named.conf 修改主配置文件的属主、属组 #chown named:named /etc/named.conf 编辑主配置文件 以ghost.com域为例 #vim /etc/named.conf options { directory "/var/named"; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file "localhost.zone"; }; zone "ghost.com" IN { type master; file "ghost.com.zone"; allow-transfer { 192.168.175.135;}; notify yes; also-notify { 192.168.175.135;}; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; }; zone "175.168.192.in-addr-arpa" IN { type master; file "192.168.175.zone"; allow-transfer { 192.168.175.135;}; notify yes; also-notify { 192.168.175.135;}; }; 编辑区域文件: (正向解析文件) # vim /var/named/ghost.com.zone $TTL 86400 @ 86400 IN SOA ns.ghost.com. root.ghost.com. ( 2010090905 ; serial (d. adams) 5 ; refresh 5 ; retry 1W ; expiry 1D ) ; minimum IN NS ns.ghost.com. Ns.ghost.com. IN A 192.168.175.200 www.ghost.com. IN A 192.168.175.200 ftp.ghost.com. IN A 192.168.175.200 @ IN MX 10 mail.ghost.com. mail.ghost.com. IN A 192.168.175.200(反向解析文件) # vim /var/named/192.168.175.zone $TTL 86400 @ 86400 IN SOA ns.ghost.com. root.ghost.com. ( 2010090905 ; Serial 5 ; Refresh 5 ; Retry 1W ; Expire 1D ) ; Minimum IN NS ns.ghost.com. 200 IN PTR ns.ghost.com. 200 IN PTR www.ghost.com. 200 IN PTR ftp.ghost.com. 2、从服务器配置: 从服务器的安装很简单只需要配置named.conf文件即可,区域文件无须手动建立,但同样要修改主配置文件的属主、属组 #chown named:named /etc/named.conf 另外:还要将从服务器的/var/named/slaves/下所有文件的属主、属组都修改为named #chown named:named /var/named/slaves # vim /etc/named.conf options { directory "/var/named"; }; zone "." IN {
type hint;
file "named.ca";
}; zone "localhost" IN { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; }; zone "175.168.192.in-addr-arpa" IN { type slave; file "slaves/192.168.175.zone"; masters { 192.168.175.200; }; notify yes; also-notify { 192.168.175.135;}; }; zone "ghost.com" IN { type slave; file "slaves/ghost.com.zone"; masters { 192.168.175.200; }; notify yes; also-notify { 192.168.175.135;}; }; 上述配置后,分别启动主从的DNS服务器后,从服务器会在slaves/下生成ghost.com.zone和192.168.175.zone区域文件,这样主从服务器即建好了。 3、故障分析: 主DNS服务器修改记录或添加区域辅助DNS同步不过去,或者需要很长时间。 这样如果在现实生活中,会造成各地访问的结果不同。所以有必要研究一下主DNS服务器上修改完成后如何快速的同步给其它辅助的DNS。 为了查清故障的原因,这个时候输入命令tail -f /var/log/messages动态监控日志,发现没有产生任何日志。这个时候,思考了一下主辅DNS的工作原理,每次主DNS修改完成后重启服务会传送notify值,但是这里却没有传送。考虑到是区域文件中那几个时间的问题于是修改了一下 Refresh值为5 ,再次重启服务,结果很快就同步了。
在解决问题的过程中有的朋友说将SOA中的Refresh值修改小一点,没错!但是这个值什么时候生效呢?当我们主DNS服务器上修改完成后重启服务,会主动传送notify值,如果辅助DNS服务器没有收到才参考Refresh,Refresh 不成功,则参考Retry ,Retry 一直不成功, 则参考 Expire,如果Expire也不成功,则选择放弃zone transfer的过程。建议这几个参数的值为:Refresh=1H Retry=10M expiry=7D minimum=1D。
相关阅读 更多 +