DNS 正反向解析、主从同步配置

一、介绍

1.1全世界现有三个大的网络信息中心:

1位于美国的 Inter-NIC,负责美国及其他地区;

2位于荷兰的RIPE-NIC,负责欧洲地区;

3位于日本的APNIC ,负责亚太地区。


1.2DNS的分布式数据结构

223812746.png

缓存域名服务器

・通过想其他域名服务器查询获得域名――》ip 地址记录

・讲域名查询结果缓存到本地,提高重复查询时的速度


主域名服务器

・特定DNS区域的官方服务器,具有唯一性

・负责维护该区域内所有域名――》ip地址的映射记录


从域名服务器

・也称为辅助域名服务器

・其维护的域名――》ip 地址记录来源与主域名服务器


bind-utils        

bind              

bind-libs          

bind-chroot          


/etc/named.conf    mount

/var/named/chroot/etc/named.conf


主从DNS同步的两种方式:

1、主服务器发送指令让从服务器同步

2、从服务器根据序列号同步主服务器数据库文件


简单DNS配置:

[root@DNS~]# yum install bind bind-utils bind-chroot bind-libs


[root@DNS~]# mount

/dev/mapper/VolGroup-lv_rooton / type ext4 (rw)

proc on/proc type proc (rw)

sysfs on/sys type sysfs (rw)

devpts on/dev/pts type devpts (rw,gid=5,mode=620)

tmpfs on/dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1on /boot type ext4 (rw)

/dev/sr0on /media/cdrom type iso9660 (ro)

none on/proc/sys/fs/binfmt_misc type binfmt_misc (rw)


[root@DNS~]# service named start

Generating/etc/rndc.key:                                 [  OK  ]      //加密处理,有时候或许会在这里卡住,可以在该系统上移动鼠标。

Startingnamed:                                           [  OK  ]


[root@DNS~]# mount

/dev/mapper/VolGroup-lv_rooton / type ext4 (rw)

proc on/proc type proc (rw)

sysfs on/sys type sysfs (rw)

devpts on/dev/pts type devpts (rw,gid=5,mode=620)

tmpfs on/dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1on /boot type ext4 (rw)

/dev/sr0on /media/cdrom type iso9660 (ro)

none on/proc/sys/fs/binfmt_misc type binfmt_misc (rw)

/etc/named on/var/named/chroot/etc/named type none (rw,bind)

/var/named on/var/named/chroot/var/named type none (rw,bind)

/etc/named.conf on/var/named/chroot/etc/named.conf type none (rw,bind)

/etc/named.rfc1912.zones on/var/named/chroot/etc/named.rfc1912.zones type none (rw,bind)

/etc/rndc.key on/var/named/chroot/etc/rndc.key type none (rw,bind)

/usr/lib64/bind on/var/named/chroot/usr/lib64/bind type none (rw,bind)

/etc/named.iscdlv.key on/var/named/chroot/etc/named.iscdlv.key type none (rw,bind)

/etc/named.root.key on/var/named/chroot/etc/named.root.key type none (rw,bind)


可以看出,是利用mount的方式


[root@DNS ~]# ps aux|grep named

named     1316 0.0  3.0 162844 15172 ?        Ssl 20:20   0:00 /usr/sbin/named -unamed -t /var/named/chroot

查看启动进程,运行在chroot的环境中


[root@DNS ~]#netstat -nutpl |grep named

tcp        0     0 127.0.0.1:53               0.0.0.0:*                   LISTEN      1316/named          

tcp        0     0 127.0.0.1:953              0.0.0.0:*                   LISTEN      1316/named          

tcp        0     0 ::1:53                     :::*                        LISTEN      1316/named          

tcp        0     0 ::1:953                    :::*                        LISTEN      1316/named          

udp        0     0 127.0.0.1:53               0.0.0.0:*                              1316/named          

udp        0     0 ::1:53                     :::*                                   1316/named


监听53号端口


配置:

在全局定义里,把监听端口和允许访问段都改为any

options {

       listen-on port 53 { any; };

       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     { any; };

       recursion yes;


添加一个正向区域名

zone"zhang.com" IN{

       type master;

       file "zhang.com.zone";

};



[root@MASTER ~]#named-checkconf named.conf

none:0: open:named.conf: file not found

[root@MASTER ~]# cd/var/named/chroot/etc/

[root@MASTER etc]#named-checkconf named.conf

[root@MASTER etc]#

检查语法错误


224950495.png


其所属的组为named


[root@MASTER named]#ll

total 36

drwxr-x---. 6root  named 4096 Oct 12 20:57 chroot

drwxrwx---. 2 namednamed 4096 Oct 12 21:01 data

drwxrwx---. 2 namednamed 4096 Oct 12 21:01 dynamic

-rw-r-----. 1root  named 1892 Feb 18  2008 named.ca

-rw-r-----. 1root  named  152 Dec 15 2009 named.empty

-rw-r-----. 1root  named  152 Jun 21 2007 named.localhost

-rw-r-----. 1root  named  168 Dec 15 2009 named.loopback

drwxrwx---. 2 namednamed 4096 Dec  5  2012 slaves

-rw-r--r--. 1root  root   120 Oct 12 21:15 zhang.com.zone

[root@MASTER named]#chgrp named zhang.com.zone

[root@MASTER named]#ll

total 36

drwxr-x---. 6root  named 4096 Oct 12 20:57 chroot

drwxrwx---. 2 namednamed 4096 Oct 12 21:01 data

drwxrwx---. 2 namednamed 4096 Oct 12 21:01 dynamic

-rw-r-----. 1root  named 1892 Feb 18  2008 named.ca

-rw-r-----. 1root  named  152 Dec 15 2009 named.empty

-rw-r-----. 1root  named  152 Jun 21 2007 named.localhost

-rw-r-----. 1root  named  168 Dec 15 2009 named.loopback

drwxrwx---. 2 namednamed 4096 Dec  5  2012 slaves

-rw-r--r--. 1root  named  120Oct 12 21:15 zhang.com.zone


配置正向域

[root@MASTER named]#vim zhang.com.zone

$TTL 1D     //缓存时间

@ IN SOAdns.zhang.com. root.zhang.com. (

0 ;serial

                                                                                      3H ;minimum

15M ;

                                       1W ;expire

1D) ;refresh

@       ns dns.zhang.com.

dns     IN A 192.168.1.1

www     IN A 192.168.1.2


$TTL 1D:设置邮箱地址解析记录的默认缓存时间,默认为1天(1D

@IN  SOA  @ rname.invalid. (设置SOA标记、域名、域管理邮箱rname@invalid,由于 @  有其他含义,所以用“.”代替。注意: @ 在正向区域文件中代表的是“dns.zhang.com. root.zhang.com.)

0 :更新序列号,用于标示数据库的表换,可以在10位以内,如果存在从dns区域,建议每次更新完数据库,手动加1.

1D :刷新时间,从域名服务器更新该地址数据库文件的间隔时间,默认为1天;

1H 重试延时,从域名服务器更新地址数据库失败以后,等待多长时间,默认为1小时;

1W 失效时间,超过该时间仍无法更新地址数据库,则不再尝试,默认为1周;

3H ;设置无效地址解析记录(该数据库中不存在的地址)

NS @ 域名服务器记录,用于设置当前域的DNS服务器的域名地址;

A 127.0.0.1 设置域名服服务器的A记录,地址为ipv4的地址127.0.0.1

AAAA ::1       设置域名服务器的A 记录,地址为ipv6的地址。


每次配置完后重启服务:

[root@MASTER named]#service named restart

Stopping named:                                           [  OK  ]

Starting named:                                           [  OK  ]


测试:

[root@MASTER named]#nslookup www.zhang.com

Server:                192.168.41.146

Address:        192.168.41.146#53


Name:        www.zhang.com

Address: 192.168.1.2



CNAME 的作用

若在zone文件中添加:

blog    IN CNAME www


则会定向到原来的www中,即:

www     IN A 192.168.1.2


[root@MASTER named]#nslookup blog.zhang.com

Server:                192.168.41.146

Address:        192.168.41.146#53


blog.zhang.com        canonicalname = www.zhang.com.

Name:        www.zhang.com

Address: 192.168.1.2



配置反向解析:


格式:一般格式为“ip.arpa”,ip不包含最后一位。


[root@MASTER named]#vim /etc/named.conf

zone"1.168.192.in-addr.arpa" IN {

       type master;

       file "zhang.com.zone.db";

};



[root@MASTER named]#vim zhang.com.zone.db

$TTL 1D

@ IN SOAdns.zhang.com. root.zhang.com. (

                                       1 ;

                                       3H;minimum

                                       15M ;

                                       1W ;expire

                                       1D);refresh

@       ns dns.zhang.com.

1       IN PTR dns.zhang.com.                                //创建反向PTR指针

2       IN PTR www.zhang.com.


重启服务:


[root@MASTER named]#service named restart

Stopping named:                                           [  OK  ]

Starting named:                                           [  OK  ]


测试:

[root@MASTER named]#nslookup 192.168.1.1

Server:                192.168.41.146

Address:        192.168.41.146#53


1.1.168.192.in-addr.arpa        name= dns.zhang.com.


[root@MASTER named]#nslookup 192.168.1.2

Server:                192.168.41.146

Address:        192.168.41.146#53


2.1.168.192.in-addr.arpa        name= www.zhang.com.




配置从服务器:

[root@SLAVE ~]# yuminstall bind bind-chroot bind-utils bind-libs


[root@SLAVE ~]#service named start

Generating/etc/rndc.key:                                 [  OK  ]

Starting named:                                           [  OK  ]


跟主服务器一样:

在全局定义里,把监听端口和允许访问段都改为any

listen-on port 53 {any; };

allow-query     { any; };


添加正向和反向区域:

zone"zhang.com" IN {

       type slave;

masters{ 192.168.41.146; };注意格式

       file "slaves/zhang.com.zone";

};


zone"1.168.192.in-addr.arpa"   IN {

       type slave;

       masters { 192.168.41.146; };

       file"slaves/zhang.com.zone.db";

};

/var/named/chroot/var/named/slaves


重启服务。


[root@SLAVE slaves]#ls

[root@SLAVE slaves]#


没有同步到主服务器的文件


所以主服务器要配置防火墙:

防火墙配置:

[root@MASTER etc]#iptables -I INPUT 4 -m state --state NEW -p tcp --dport 53 -j ACCEPT

[root@MASTERetc]# iptables -I INPUT 4 -m state --state NEW -p udp --dport 53 -j ACCEPT

[root@MASTER etc]#service iptables save


[root@SLAVE slaves]#ls

zhang.com.zone  zhang.com.zone.db

可以同步。



本地测试:

[root@SLAVE slaves]#nslookup www.zhang.com

Server:                192.168.41.147

Address:        192.168.41.147#53


Name:        www.zhang.com

Address: 192.168.1.2

[root@SLAVE slaves]#nslookup

> 192.168.1.1

Server:                192.168.41.147

Address:        192.168.41.147#53


1.1.168.192.in-addr.arpa        name= dns.zhang.com.


远地测试:

先修改/etc/resolv.conf

[root@DNS etc]#nslookup

> www.zhang.com

;; connection timedout; trying next origin

;; connection timedout; no servers could be reached



修改从服务器防火墙配置:

iptables-I INPUT 4 -m state --state NEW -p udp --dport 53 -j ACCEPT

[root@SLAVE slaves]#service iptables save

iptables: Savingfirewall rules to /etc/sysconfig/iptables:[ OK  ]




远地测试:

[root@DNS etc]#nslookup 192.168.1.2

Server:                192.168.41.147

Address:        192.168.41.147#53


2.1.168.192.in-addr.arpa        name= www.zhang.com.



配置自动同步:

主服务器配置:

需要在option选项中添加:

       allow-transfer { 192.168.41.147; };

       also-notify { 192.168.41.147; };

       notify yes;




小结:


1、master slave 使用udp 53号端口进行通讯。

2BIND域名服务器的文件会全部挂载到/var/named/chroot/目录下,即使黑客连接上了DNS服务器,他怎么修改,都是修改/var/named/chroot/中的文件,并不会影响系统  /   下面其他文件的情况。


3

当我们主DNS服务器上修改完成后重启服务,会主动传送notify值,如果辅助DNS服务器没有收到才参考Refresh,Refresh不成功,则参考Retry ,Retry 一直不成功, 则参考 Expire,如果Expire也不成功,则选择放弃zone transfer的过程。


你可能感兴趣的:(反向解析,正向解析,主从复制)