1、位于美国的 Inter-NIC,负责美国及其他地区;
2、位于荷兰的RIPE-NIC,负责欧洲地区;
3、位于日本的APNIC ,负责亚太地区。
缓存域名服务器
・通过想其他域名服务器查询获得域名――》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]#
检查语法错误
其所属的组为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号端口进行通讯。
2、BIND域名服务器的文件会全部挂载到/var/named/chroot/目录下,即使黑客连接上了DNS服务器,他怎么修改,都是修改/var/named/chroot/中的文件,并不会影响系统 / 下面其他文件的情况。
3、
当我们主DNS服务器上修改完成后重启服务,会主动传送notify值,如果辅助DNS服务器没有收到才参考Refresh,Refresh不成功,则参考Retry ,Retry 一直不成功, 则参考 Expire,如果Expire也不成功,则选择放弃zone transfer的过程。