您的位置:首页 > 其它

DNS主、从服务器配置

2010-09-12 14:34 375 查看
一、 主从DNS服务器同步原理

[align=left] 主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更新完成。[/align]
[align=left] [/align]
[align=left]二、 主、从DNS服务器安装配置 以下配置不考虑安全问题[/align]
[align=left]这里主服务器的IP为192.168.175.200,从服务器IP为192.168.175.135[/align]
[align=left] 安装所需软件:yum -y install bind caching-nameserver[/align]
[align=left] [/align]
[align=left] 软件介绍:[/align]
[align=left] BIND是一种开源的DNS(Domain Name System)协议的实现,包含对域名的查询和响应所需的所有软件。它是互联网上最广泛使用的一种DNS服务器,对于类UNIX系统来说,已经成为事实上的标准。[/align]
[align=left]BIND软件包包括三个部分:[/align]
[align=left]  •DNS服务器。这是一个叫做named的程序,代表name daemon的简写。它根据DNS协议标准的规定,响应收到的查询。 [/align]
[align=left]  •DNS解析库(resolver library)。一个解析器是一个程序,通过发送请求到合适的服务器并且对服务器的响应做出合适的回应,来解析对一个域名的查询。一个解析库是程序组件的集合,可以在开发其它程序时使用,为这些程序提供域名解析的功能。 [/align]
[align=left]  •测试服务器的软件工具。[/align]
[align=left] Caching-nameserver 为bind提供主配置文件模板[/align]
[align=left] [/align]
[align=left]以下是详细配置:[/align]
[align=left] [/align]
[align=left] 1、主服务器配置:[/align]
[align=left]首先拷贝主配置文件:[/align]
[align=left]#cp /etc/named /etc/named.conf[/align]
[align=left]修改主配置文件的属主、属组[/align]
[align=left]#chown named:named /etc/named.conf[/align]
[align=left]编辑主配置文件 以ghost.com域为例[/align]
[align=left]#vim /etc/named.conf[/align]
[align=left] [/align]
[align=left]options {[/align]
[align=left] directory "/var/named";[/align]
[align=left]};[/align]
[align=left] [/align]
[align=left] [/align]
[align=left]zone "." IN {[/align]
[align=left] type hint;[/align]
[align=left] file "named.ca";[/align]
[align=left]};[/align]
[align=left] [/align]
[align=left]zone "localhost" IN {[/align]
[align=left] type master;[/align]
[align=left] file "localhost.zone";[/align]
[align=left]};[/align]
[align=left] [/align]
[align=left]zone "ghost.com" IN {[/align]
[align=left] type master;[/align]
[align=left] file "ghost.com.zone";[/align]
[align=left] allow-transfer { 192.168.175.135;};[/align]
[align=left] notify yes;[/align]
[align=left] also-notify { 192.168.175.135;};[/align]
[align=left]};[/align]
[align=left] [/align]
[align=left]zone "0.0.127.in-addr.arpa" IN {[/align]
[align=left] type master;[/align]
[align=left] file "named.local";[/align]
[align=left]}; [/align]
[align=left] [/align]
[align=left]zone "175.168.192.in-addr-arpa" IN {[/align]
[align=left] type master;[/align]
[align=left] file "192.168.175.zone";[/align]
[align=left] allow-transfer { 192.168.175.135;};[/align]
[align=left] notify yes;[/align]
[align=left] also-notify { 192.168.175.135;};[/align]
[align=left]};[/align]
[align=left] [/align]
[align=left]编辑区域文件:[/align]
[align=left](正向解析文件)[/align]
[align=left]# vim /var/named/ghost.com.zone[/align]
[align=left] [/align]
[align=left]$TTL 86400[/align]
[align=left]@ 86400 IN SOA ns.ghost.com. root.ghost.com. ([/align]
[align=left] 2010090905 ; serial (d. adams)[/align]
[align=left] 5 ; refresh[/align]
[align=left] 5 ; retry[/align]
[align=left] 1W ; expiry[/align]
[align=left] 1D ) ; minimum[/align]
[align=left] IN NS ns.ghost.com.[/align]
[align=left]Ns.ghost.com. IN A 192.168.175.200[/align]
[align=left]www.ghost.com. IN A 192.168.175.200[/align]
[align=left]ftp.ghost.com. IN A 192.168.175.200[/align]
[align=left]@ IN MX 10 mail.ghost.com.[/align]
mail.ghost.com. IN A 192.168.175.200

[align=left] (反向解析文件)[/align]
[align=left]# vim /var/named/192.168.175.zone[/align]
[align=left] [/align]
[align=left]$TTL 86400[/align]
[align=left]@ 86400 IN SOA ns.ghost.com. root.ghost.com. ([/align]
[align=left] 2010090905 ; Serial[/align]
[align=left] 5 ; Refresh[/align]
[align=left] 5 ; Retry[/align]
[align=left] 1W ; Expire[/align]
[align=left] 1D ) ; Minimum[/align]
[align=left] IN NS ns.ghost.com.[/align]
[align=left]200 IN PTR ns.ghost.com.[/align]
[align=left]200 IN PTR www.ghost.com.[/align]
[align=left]200 IN PTR ftp.ghost.com.[/align]
[align=left] [/align]
[align=left]2、从服务器配置:[/align]
[align=left]从服务器的安装很简单只需要配置named.conf文件即可,区域文件无须手动建立,但同样要修改主配置文件的属主、属组[/align]
[align=left]#chown named:named /etc/named.conf[/align]
[align=left]另外:还要将从服务器的/var/named/slaves/下所有文件的属主、属组都修改为named [/align]
[align=left]#chown named:named /var/named/slaves[/align]
[align=left] [/align]
[align=left]# vim /etc/named.conf[/align]
[align=left] [/align]
[align=left]options {[/align]
[align=left]directory "/var/named";[/align]
[align=left]};[/align]
zone "." IN {

type hint;

file "named.ca";

};
[align=left]zone "localhost" IN {[/align]
[align=left] type master;[/align]
[align=left] file "localhost.zone";[/align]
[align=left]};[/align]
[align=left] [/align]
[align=left]zone "0.0.127.in-addr.arpa" IN {[/align]
[align=left] type master;[/align]
[align=left] file "named.local";[/align]
[align=left]};[/align]
[align=left] [/align]
[align=left]zone "175.168.192.in-addr-arpa" IN {[/align]
[align=left] type slave;[/align]
[align=left] file "slaves/192.168.175.zone";[/align]
[align=left] masters { 192.168.175.200; };[/align]
[align=left] notify yes;[/align]
[align=left] also-notify { 192.168.175.135;};[/align]
[align=left]};[/align]
[align=left] [/align]
[align=left]zone "ghost.com" IN {[/align]
[align=left] type slave;[/align]
[align=left] file "slaves/ghost.com.zone";[/align]
[align=left] masters { 192.168.175.200; };[/align]
[align=left] notify yes;[/align]
[align=left] also-notify { 192.168.175.135;};[/align]
[align=left]}; [/align]
[align=left] [/align]
[align=left]上述配置后,分别启动主从的DNS服务器后,从服务器会在slaves/下生成ghost.com.zone和192.168.175.zone区域文件,这样主从服务器即建好了。[/align]
[align=left] 3、故障分析:[/align]
[align=left] 主DNS服务器修改记录或添加区域辅助DNS同步不过去,或者需要很长时间。[/align]
[align=left] 这样如果在现实生活中,会造成各地访问的结果不同。所以有必要研究一下主DNS服务器上修改完成后如何快速的同步给其它辅助的DNS。[/align]
为了查清故障的原因,这个时候输入命令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。

本文出自 “别样的天空” 博客,请务必保留此出处http://shyzzu.blog.51cto.com/1846675/390555
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: