linux IN CNAME www
8.4.2 DNS服务的搭建(2)
可以看出,区域数据文件的内容很简单。
第1行是一个TTL设定,定义区域数据文件里面的各项记录的默认TTL值为86400s,缺少此行不影响使用,但是会出现警告信息。
第2行是一个SOA记录的设定,"@"代表相应的域名,也就是在named.conf中设定的zone,如在这里表示ixdba.net,IN表示后面的数据使用的是Internet标准。SOA的全称是"Start Of Authority",表示目前区域授权开始。每一个区域数据文件只能有一个SOA,不能重复,而且必须是所负责的zone中第一个"记录"。在SOA后面分别指定了这个区域的授权主机名称和管理者的信箱。
注意 授权主机名和管理员信箱后面都要有一个".",而且授权主机名称必须能够在DNS设置中找到一个A记录(下面会讲到)。由于"@"在区域数据文件中有其他含义,因此管理员信箱邮件地址中用"."代替"@"符号。
接下来包含在括弧中的5组数字是作为与Slave服务器同步信息而设置的,含义如下。
Serial:表示配置文件的修改版本,格式是年月日加上修改的次数,每次修改这个配置文件时都应该修改这个数字,因为Slave DNS进行信息同步时,会比较这个数值。如果这个数值比自身的数值大,就进行更新,否则忽略更新。
注意 这个设置很重要,如果在修改区域数据文件后,没有更新该值,那么所做的更改就不会更新到网上的其他DNS服务器。
refresh:用来设定Slave DNS与Master DNS进行同步的间隔时间。
retry:设定Slave DNS在更新失败后,再进行重试的间隔时间。
expiry:设定Slave DNS在与Master DNS同步失败后,多长时间清除对应的记录。
Minimum:这是默认的最小TTL值,如果在前面没有指定TTL值,就以这个为基准。
以上的数字都是以s(秒)为单位的,但也可以用H(小时)、D(天)、W(星期)来作单位。
第8~14行,是对域名解析的具体设置,第1列表示不同的主机域名,但是省略了后面的域信息。例如"www"其实是
www.ixdba.net,"mail"是指mail.ixdba.net。其他具有相同的含义。"IN"后面的指令含义说明如下。
NS:用来定义这个主机是个域名服务器。
MX:定义了一个邮件交换器。
A指针:定义了一个A记录,即域名到IP的记录。
CNAME:定义了域名的别名。
从上面的例子可知,我们首先定义了一个NS(Name Server)为ns.ixdba.net,然后定义了一个邮件交换器,交换优先级为10,接着定义了4个A记录,不同域名指向了不同的IP地址。最后定义了一个www的别名,即访问linux.ixdba.net与访问
www.ixdba.net是相同的。
下面接着分析一下反向区域数据文件60.168.192.zone的各个选项的含义:
- [root@localhost named]#more /var/named/chroot/var/named/60.168.192.zone
- $TTL 86400
- 60.168.192.in-addr.arpa. IN SOA
ns.ixdba.net. root.ixdba.net.( - 1997022700 ; Serial
- 28800 ; Refresh
- 14400 ; Retry
- 3600000 ; Expire
- 86400 ) ; Minimum
- IN NS ns.ixdba.net
- 136 IN PTR mail.ixdba.net.
- 135 IN PTR www.ixdba.net.
可以看出,基本结构与正向区域数据文件完全相同,只不过这里多出了一个PTR选项。PTR用来定义一个反向记录,也就是通过IP可以查到对应的域名信息。最后两行的第1列表示的是主机的IP地址,只不过省略了网络地址部分,如136对应的IP为192.168.60.136,同理,135对应的IP为192.168.60.135。
至此,DNS文件配置部分已经讲述完毕。从配置DNS的过程可以看出,DNS配置文件对格式要求非常严格。如果设置语句以空格键或"Tab"键开始的话,其设置就被认为是一个"记录项"的内容;如果设置语句不是以空格键或"Tab"键开头,也不在SOA指定的括号内,那么表示这个语句要定义一个新的"记录项"。因此,在修改配置文件时要特别小心。
3.测试DNS配置
在对DNS文件的所有配置完成后,需要重启服务,以使配置生效。执行如下命令重启DNS服务:
- [root@localhost named]#/etc/init.d/named restart
下面我们用nslookup命令对DNS解析情况进行测试。
- [root@localhost ~]# nslookup
下面指定DNS服务器为本机,因为我们在DNS本机进行测试。
- > server 127.0.0.1
- Default server: 127.0.0.1
- Address: 127.0.0.1#53
下面是测试A记录解析情况。
- > www.ixdba.net
- Server: 127.0.0.1
- Address: 127.0.0.1#53
- Name: www.ixdba.net
- Address: 192.168.60.135
- > mail.ixdba.net
- Server: 127.0.0.1
- Address: 127.0.0.1#53
- Name: mail.ixdba.net
- Address: 192.168.60.136
下面是测试CMANE记录解析情况。
- > linux.ixdba.net
- Server: 127.0.0.1
- Address: 127.0.0.1#53
- linux.ixdba.net canonical name = www.ixdba.net.
- Name: www.ixdba.net
- Address: 192.168.60.135
下面是测试MX记录解析情况。
- > set type=mx
- > ixdba.net
- Server: 127.0.0.1
- Address: 127.0.0.1#53
- ixdba.net mail exchanger = 10 mail.ixdba.net.
下面是测试PTR记录解析情况。
- > set type=PTR
- > 192.168.60.135
- Server: 127.0.0.1
- Address: 127.0.0.1#53
- 135.60.168.192.in-addr.arpa name = www.ixdba.net.
- > 192.168.60.136
- Server: 127.0.0.1
- Address: 127.0.0.1#53
- 136.60.168.192.in-addr.arpa name = mail.ixdba.net.
下面是测试NS记录解析情况。
- > set type=ns
- > ixdba.net
- Server: 127.0.0.1
- Address: 127.0.0.1#53
- ixdba.net nameserver = ns.ixdba.net.
从上面的输出可以看出,DNS都可以正确解析,说明我们上面的配置没有问题,DNS服务器已经可以工作了。