在Linux上建立DNS服务器(3)

(3)获得 db.cache 文件
在 Linux 系统上通常在/var/named下已经提供了一个named.ca,该文件文件中包含了Internet的顶层域名服务器,但这个文件通常会发生变化,所以建议最好从Internic下载最新的版本。该文件可通过匿名ftp从ftp.rs.internic.net下载,在 domain目录下,文件名为 named.root。注意该文件下载后要拷贝到named的工作目录并重命名成 named.boot中指定的文件名,本文中为 db.cache。
五、启动和测试named
首先,根据先前推荐的方法,用ndc启动 named:
ndc start
然后,为了使用和测试 named,要把 Linux 设置在使用 DNS 状态。方法是在 /etc 目录下,创建 resolv.conf 文件。以我们的例子,/etc/resolv.conf 内容为:
search my.com
nameserver 192.22.33.20
然后,我们就可以测试named 了。
Linux和其他Unix系统均提供了nslookup工具,在命令行状态下输入:
nslookup
就进入交换式nslookup环境,如果named正常启动,nslookup会显示当前DNS服务器的地址和域名,否则表示named没能正常启动。下面简单介绍一些基本的DNS诊断:
(1)检查正向DNS解析在nslookup提示符下输入带域名的主机名,如 hp712.my.com,nslookup 应能显示该主机名对应的 IP地址,如果只输入hp712,nslookup 会根据/etc/resolv.conf 的定义,自动添加my.com域名并回答对应的IP地址。
(2)检查反向 DNS 解析在 nslookup 提示符下输入某个IP地址,如192.22.33.20,nslookup应能回答该IP地址所对应的主机名。
(3)检查 MX 邮件地址记录在 nslookup 提示符下输入:
set q=mx
然后输入某个域名,以本文的例子,输入 my.com 或 mail.my.com,nslookup 应能够回答对应的邮件服务器地址,即 support.my.com 和 support2.my.com。
(4)检查 CNAME 别名记录在 nslookup 提示符下输入:
set q=cname
然后输入某个别名,如 ,nslookup 应能回答对应的真实主机名,即 hp712.my.com。如要退出 nslookup,可输入 exit。
六、修改 DNS 数据
如果要在网络中增加主机,例如要增加一台叫做pc01.my.com的PC机,管理员要在db.my中增加该主机对应的A记录,并且要在db.192.22.33中增加对应的PTR记录,然后用ndc更新named的数据:
ndc reload
要注意必须同时更改A记录和PTR记录,许多管理员往往只增加A记录而忽略了逆向查询用的PTR记录,结果会使许多应用程序不能正常运行。特别注意,一旦修改了 DNS 数据文件的内容,请务必改动数据文件的版本号( Serial )
七、使网络中的其他系统(客户机)使用 DNS 服务器
一旦DNS服务器开始工作,就可以配置所有企业网内的主机使用 DNS 服务。Unix主机配置的方法,已经在前面说明过,即创建 /etc/resolv.conf 文件,内容见前面第五节。
Windows 95的配置则是在网卡的TCP/IP配置中,选择使用DNS(enable),然后在配置窗口中分别填入各项参数。以本文的例子,如果运行 Windows95 的主机被命名为 pc01.my.com,则在主机名(Host)一栏中填 pc01,在域名(Domain)一栏中填my.com,然后把域名服务器(DNS Server)加入搜索列表中。
Windows NT 节点的配置大致相同。
八、种不同环境下的修正
(1)如果 IP 网段多于一个假定现在在 my.com 域中增加一个 IP 网段 192.22.37,则 /etc/named.boot 的内容中就增加一个网段的定义,具体如下:
;
; boot file for name server
;
directory /var/named
primary my.com db.my
primary 0.0.127.IN-ADDR.ARPA db.127.0.0
primary 33.22.192.IN-ADDR.ARPA db.192.22.33
primary 37.22.192.IN-ADDR.ARPA db.192.22.37
cache . db.cache
而反向 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 secondary name server
;
directory /var/named
secondary my.com 192.22.33.20 db.my
secondary 0.0.127.IN-ADDR.ARPA 192.22.33.20 db.127.0.0
secondary 33.22.192.IN-ADDR.ARPA 192.22.33.20 db.192.22.33
cache . db.cache
其中、等是你能直接访问到的 DNS 服务器的地址,通常就是你的 ISP (169、上海热线等)的 DNS 服务器的地址,至少要有一个。
通过 forwarders 和 options forward-only 参数的指定,你的企业 DNS 服务器就工作在 forward-only 模式下,所有本地不能解决的名字都被传送到 ISP 的 DNS 服务器上去解析。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwwfsf.html