建立master/slave 主从DNS实验

建立master/slave 主从DNS实验

参考了很多文章.有鸟哥的,有徐秉�x(Albert Hsu)另外一些网络文章,自己也来做做加深一下认识
vm虚拟机6.5  host-only连接
网段为192.168.135.0/24 gateway 192.168.135.1
rhel5系统   2个  默认关闭selinux
一个master 192.168.135.129
一个slave 192.168.135.128
[root@localhost ~]# rpm -qa bind*
bind-9.3.4-10.P1.el5
bind-sdb-9.3.4-10.P1.el5
bind-chroot-9.3.4-10.P1.el5
bind-devel-9.3.4-10.P1.el5
bind-libs-9.3.4-10.P1.el5
bind-libbind-devel-9.3.4-10.P1.el5
bind-utils-9.3.4-10.P1.el5
[root@localhost ~]# rpm -qa caching*
caching-nameserver-9.3.4-10.P1.el5        具体就不说什么了.大家都知道虾米原因
――主master =192.168.135.129
vi /var/named/chroot/etc/named.conf
这里的named.conf 系统默认是没有的,我做的是从最简单开始,所以自己写
options {
directory        “/var/named”;
allow-transfer { none; };  //默认是禁止,这样是为了安全
};
zone    “yuan.org” IN {      //我的正解zone
type master;
file “yuan.org.zone”;
allow-transfer  { 192.168.135.128; }; //然后个别使用
allow-update { localhost; };
};
zone    “135.168.192.in-addr.arpa” IN { //反解zone
type master;
file “135.168.192.zone”; //这里这些其实都是按照个人习惯,不过我懒乱写了个
理论上用135.168.192.in-addr.arpa这个比较规范
allow-transfer  { 192.168.135.128; } ;
allow-update { localhost; };
};
网上面好多文章说还有name.ca 阿什么的 其实暂时对于我们作实验是没用的,我等下也转载一篇东西,大家明白到DNS解析是怎么搞的就知道那几个文件是干嘛的,也会明白为什么不需要
vi /var/named/chroot/var/named/yuan.org.zone  正解文件,或者叫正解zone的数据库
$ORIGIN .      ――  �@���O定值可以重新指定 zone 的定�x。(可有可无,作用也分的很详细时候才有用)
.点代表一��完整主�C名�Q (FQDN) 而不是�H有 hostname 而已
$TTL 86400      ; 1 day
yuan.org                IN SOA  ns.yuan.org. root.yuan.org. (
2009052209 ; serial 传送与否就看这个数字
10800      ; refresh (3 hours)
900        ; retry (15 minutes)
604800     ; expire (1 week)
86400      ; minimum (1 day)
)
NS      ns.yuan.org.
NS      slave.yuan.org.
$ORIGIN yuan.org.
ns                      A       192.168.135.129 ;主master DNS服务器 的A记录
slave                   A       192.168.135.128 ;从slave DNS服务器 的A记录
vi /var/named/chroot/var/named/135.168.192.zone ―-反解数据库
$TTL    86400
@       IN SOA  ns.yuan.org.       root (
2009052209              ; serial (d. adams)
3H              ; refresh
15M             ; retry
1W              ; expiry
1D )            ; minimum
@               IN NS           ns.yuan.org.
129             IN PTR          ns.yuan.org.
@               IN NS           slave.yuan.org.
128             IN PTR          slave.yuan.org.
――�C从slave 192.168.135.128
slave从DNS主机的named.conf是跟主master的named.conf 的options部分是几乎一样的
在options作特别的修改,毕竟主从是用来备份的…
不同的是zone部分
vi /var/named/chroot/etc/named.conf
zone “yuan.org” IN {
type slave;  //这里是slave
file “slaves/yuan.org.zone.bak”; //这里的文件位置是放在
…../var/named/slaves这里,当然也可以自己设置位置,但是你要保证权限是给予named用户写入,不然的话 会提示权限不够,还有我这里是bak的后缀,是为了好分辨,
masters { 192.168.135.129; }; //注意的是masters
};
zone “135.168.192.in-addr.arpa” IN {
type slave;
file “slaves/135.168.192.zone.bak”;
masters { 192.168.135.129; };
};
从slave就这么设置完成了,因为主从关系,正解库跟反解库文件会自行自动的写入
这就是主从的设置原因,所以你的正解反解库 在从机上是不需要的,如果有,清删除,
可能会出现莫名其妙的错误
―――-
还有一个 就是
vi /etc/resolv.conf  ―- Resolver
相��於是 DNS server 的 client 端, 通常是以函式�斓姆绞奖环旁谡�套作�I系�y中, 各�的��用程式�由呼叫�@�� resolver 函式�炜梢院苋菀椎叵� DNS server �M行查�, 得到所要的�Y料. (正统的解释)
search yuan.org
nameserver 192.168.135.129
nameserver 192.168.135.128
其实这个就是我们进行测试 用nslookup 或者dig 或者host的时候,默认的DNS搜索方向
如果不进行设置的话,我们在作测试的时候就要自己设定,不然你是不能查询你想要查询DNS是否正常
另外其实还有一个/etc/host 的文件,这个是更加强悍的一个
>>>>>引用一下鸟哥的话(就是鸟语拉)
我��先�碚�一�����O定�n吧!
  • /etc/hosts :����上面就提�^了,�@��是最早的 hostname ��� IP 的�n案;
  • /etc/resolv.conf :�@��重要!就是 DNS 主�C的 IP;
  • /etc/nsswitch.conf:�@���n案�t是在『�Q定』先要使用 /etc/hosts �是 /etc/resolv.conf 的�O定!
一般而言, Linux 的�A�O主�C名�Q�c IP 的���搜�ざ家� /etc/hosts ���先, �槭颤N呢?您可以查看一下 /etc/nsswitch.conf ,�K找到 hosts 的�目:
[root@linux ~]# vi /etc/nsswitch.conf
hosts: files dns
上面那�� files 就是使用 /etc/hosts 而最後的 dns �t是使用 /etc/resolv.conf 的 DNS 主�C IP 搜�だ玻∫虼耍�您可以先以 /etc/hosts �碓O定 IP ���ㄋㄟ! ��然啦,您也可以�⑺��{�Q�^�恚�不�^,�是 /etc/hosts 比�^��危�所以�⑺��[在前面比�^好啦!
>>>>>>>>>>>>
设定完成之后 还有一个地方
system-config-securitylevel
这个是iptables 的图形化界面
在这里要明白一点,
master 是要通过建立tcp 来进行transfer 所以你要将防火墙iptables的53tcp端口打开
默认是紧闭的
而slave 是用53udp 来进行查询的,其实一般DNS都是用udp53来进行查询
ex:  �C也可以自己写iptables
An example iptables rule for the 192.168.15.0/24 subnet would be:
iptables -A INPUT -s 192.168.15.0/24 -p udp --dport 53 -j ACCEPT
service iptables save
Master/Slave
�D五、Master/Slave 的 DNS 主�C�Y料同步�^程
整��更新的�^程是�@�拥模�
  1. Slave 判�嗍欠裥枰�更新(1.1):
    我��可以在 Slave �O定好向 Master DNS 主�C要求�Y料更新的�L期�r�g,�t每��到�_更新�r�g�r, Slave ��向 Master 索取是否需要更新�Y料,�@��更新�Y料的判��t以 Serial number 是否不同�磉M行更新喔!

  2. Master 判�嗍欠裥枰�更新(1.2):
    除了由 Slave 向 Master 的查�之外,Master 如果 DNS �Y料��^�更,且想要 Slave 同步更新�r,也可以主�拥南� Slave �M行更新通知!

  3. �Y料同步化(2):
    最後��然就是�Y料由 Master �魉偷� Slave �砀�新 Slave 的 DNS �Y料�樱�
(这个繁体的自然又是鸟大的杰作)
>>>>>>>>>>>>
使用工具检查
看了一下rh官方里面介绍了一下
ex:
named-checkzone hughes.lan hughes.lan.zone
named-checkzone 15.168.192.in-addr.arpa 192.168.15.zone
用named-checkzone 检查你的正解库跟反解库语法上,权限上的错误
>>>>>>>>>>>>
另外关于dig 的用法
其实不外乎
dig -x  ip  查反解
dig 域名 MX或者NS…
dig yuan.org NS
dig XXXXX @ XXXXX 直接询问@后面的DNS主机 @前面的那个DNS
具体参考dig的用法,一般来说dig 比较强大 nslookup 次之  host 最后
>>>>>>>>>>>>
tail /var/log/message  这里面有很强悍的信息来查询你的错误原因
>>>>>>>>>>>>
最后这个实验的用法就是你将master的那个
2009052209 ; serial    每次修改zone 都要增加该数字,一般来说用日期时间来设定,
这样就可以快速进行实验,而不需要等refresh时间,另外每次修改完named的各类文件都要重新启动/etc/init.d/named restart

你可能感兴趣的:(职场,休闲,建立master/slave,主从DNS实验)