@ IN SOA linux.my.com. root.linux.my.com. (
199511301 ; serial, todays date + todays serial #
28800 ; refresh, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86400 ) ; minimum, seconds
NS linux.my.com.
MX 10 support.my.com.
localhost A 127.0.0.1
linux A 192.22.33.20
support2 A 192.22.33.102
hp712 A 192.22.33.160
support A 192.22.33.100
mail MX 10 support.my.com.
MX 20 support2.my.com.
www CNAME hp712.my.com.
ftp CNAME hp712.my.com.
ns CNAME linux.my.com.
其中第一行是 SOA 记录,定义了域名数据的基本信息,依次是 DNS 服务器名、DNS 管理员邮件地址,括号内的第一个数字是文件版本号,每次本文件内容修改后,必须更改此号。其余数字与DNS服务器直接的数据交换有关,在这里我们不需要改动。
在此以下是各种域名/地址转换数据,其中 A 记录是 DNS 域名到 IP 地址的记录,是必须有的,以hp712.my.com 为例,在 A 记录中域 my.com 被省略,只写成 hp712,named 在处理时会根据 named.boot中的定义自动加上 my.com,而其对应 IP 地址为 192.22.33.160。
而反向 DNS 数据文件则增加一个定义 192.22.37 网段的文件 db.192.22.37,其中包括了所有处于192.22.37 网段中的节点,其格式与 db.192.22.33 类似。
(2)如果企业网是封闭的
如果企业网络不与外界 Internet 直接互连,DNS 服务器就不必关心本企业域以外的域名,所以配置 named的时候可以不理会 db.cache,我们可以将 /etc/named.boot 中的 cache 行去除。
(3)如果你联入的公共网不能访问 Internet
如果你的内部网接入的公共网只能访问有限的范围,如免费的169网、上海热线等,那么你的 DNS 服务器就不能通过 Internet 的顶层服务器(root server)进行地址解析,所以你必须用你直接能访问到的 DNS 服务器来替代。具体办法是用 forwarders 选项来指定上级 DNS 服务器,以本文为例,named.boot 的内容为:
;
; boot file for name server
;
directory /var/named
其中、等是你能直接访问到的 DNS 服务器的地址,通常就是你的 ISP (169、上海热线等)的 DNS 服务器的地址,至少要有一个。
通过 forwarders 和 options forward-only 参数的指定,你的企业 DNS 服务器就工作在 forward-only 模式下,所有本地不能解决的名字都被传送到 ISP 的 DNS 服务器上去解析。
九、建立后备 DNS 服务器 (Secondary DNS Server)
通常有一台 DNS 主服务器,网络即可正常工作,但根据 Internic 对域名的管理规范,一个独立的域名必须至少有两台 DNS 服务器,即一台 DNS 主服务器 ( Primary Server )和一台后备 DNS 服务器?Secondary Server ),这主要是为 DNS 服务的可靠性考虑,能使 Internet 的性能更为可靠。
现在仍以前面的例子,现在要加入一台运行 Linux 的机器 nspc.my.com,IP 地址为 192.22.33.60。
(1)主服务器上的修改
首先确认 DNS 主服务器工作正常,然后,在主服务器上的正向 DNS 数据文件 db.my 中,加入 nspc.my.com的有关记录,并增加一个NS记录,使主服务器上的 db.my 成为下列内容:
localhost A 127.0.0.1
linux A 192.22.33.20
support2 A 192.22.33.102
hp712 A 192.22.33.160
support A 192.22.33.100
nspc A 192.22.33.60 ; 增加的记录
mail MX 10 support.my.com.
MX 20 support2.my.com.
www CNAME hp712.my.com.
ftp CNAME hp712.my.com.
ns2 CNAME nspc.my.com. ; 增加的记录
ns CNAME linux.my.com.
然后对主服务器上的各个反向 DNS 数据文件做类似的修改,增加有关后备服务器的 NS 记录,然后重新起动named。
可见,其实在主 DNS 服务器上的改动主要是增加了一条 NS 记录,其余的改动和增加一台普通节点一样,如果是用现有的节点做后备 DNS 服务器,则增加 NS 记录是唯一必须的步骤。
(2)后备 DNS 服务器(secondary server)的配置
需要在后备 DNS 服务器上创建的配置文件只有 named.boot 和 db.cache,格式与主服务器相似,named.boot 内容为:
;
; boot file for secondary name server
;
directory /var/named
其中的三行 secondary 定义,使得 named 从 192.22.33.20,即主服务器上获得各种DNS 数据,并存在本地的各个数据文件中。本地的数据文件由 named 从主 DNS 服务器的named 下载后生成,通常与主服务器上的数据文件完全一样,万一后备服务器与主服务器失去连接而不能下载 DNS 数据,后备服务器可利用本地的数据文件工作。
而后备 DNS 服务器的 db.cache 通常由系统管理员从主服务器上拷贝过来即可。
通常,后备 DNS 服务器可以建立在企业网内,也可利用外部的 DNS 服务器充当,如让 ISP 的服务器作为企业的后备 DNS 服务器,这样可以提高 DNS 服务的可靠性。注意,同一台 DNS 服务器可以同时成为多个 DNS域的服务器,而且可以既作某些域的主服务器,同时又是另一些域的后备服务器。
(3)DNS 客户机端的改动
对于内部网上的 Unix 主机,应该在 /etc/resolv.conf 中增加一行 nameserver 说明,使得系统能够搜索后备 DNS 服务器,以本文的例子,/etc/resolv.conf 的内容为: