本节将介绍简单的DNS配置与测试。
这里假定用户建立的DNS服务器所管辖的域名为redhat.com,对应的子网IP地址是192.168.0.0,域名服务器的IP地址为192.168.0.61。配置过程如下所示。
该文件是域名服务器进程named启动时读取到内存的第一个文件。在该文件中定义了域名服务器的类型、所授权管理的域以及相应数据库文件和其所在的目录。该文件的内容如下:
options {
directory "/var/named";
notify no;
forwarders{
202.96.136.133;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "redhat.com" IN {
type master;
file " named.hosts";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "named.192.168.0 ";
allow-update { none; };
};
在Fedora系统上通常在/var/named目录下已经提供了一个named.ca,该文件中包含了Internet的顶层域名服务器,但这个文件通常会有变化,所以建议最好从Inter NIC下载最新的版本。该文件可以通过匿名ftp下载。
该文件指定了域中主机域名同IP地址的映射,内容如下:
$TTL 86400
@ IN SOAa100.redhat.com. root.redhat.com. (
2005013000 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ; minimum
)
IN NS a100.redhat.com.
IN MX 10 a100.redhat.com.
localhost. IN A 127.0.0.1
a100 IN A 192.168.0.61
a101 IN A 192.168.0.62
www IN CNAME a100
在文件中所有的记录行(本文件从第10行开始)都要顶行写,前面不能有空格。
“IN NS a100.redhat.com.”说明该域的域名服务器,至少应该定义一个。
“IN MX 10 a100.redhat.com.”是MX记录,该程序专门处理邮件地址的主机部分为“@redhat.com”的邮件,“10”表示优先级别。
类似“a100 IN A 192.168.0.61”是一系列的“A”记录,表示主机名和IP地址的对应关系建立起来。a100是主机名,192.168.0.61是它的IP地址。
“www IN CNAME a100”表示一条定义别名的记录。即“www.redhat.com”和“a100.redhat.com”表示同一台主机。
该文件主要定义了IP地址到主机名的转换。IP地址到主机名的转换是非常重要的,Internet上很多应用,例如NFS、Web服务等都要用到该功能。该文件的内容如下:
$TTL 86400
@ IN SOAa100.redhat.com. root.a100.redhat.com. (
2005013000 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ; minimum
)
IN NS a100.redhat.com.
61 IN PTRa100.redhat.com.
62 IN PTRa101.redhat.com.
注意:PTR记录的最后一项必须是一个完整的标识域名,以“.”结束。
该文件用来说明“回送地址”的IP地址到主机名的映射。该文件的内容如下:
$TTL 86400
@ IN SOAa100.redhat.com. root.a100.redhat.com. (
2005013000 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ; minimum
)
IN NS a100.redhat.com.
1 IN PTRlocalhost.
此文件的内容是特定的,在不同的域的域名服务器上,所要修改的只是SOA记录和NS记录。
该文件用来告诉解析器调用的本地域名、域名查找的顺序以及要访问域名服务器的IP地址。该文件的内容如下:
domain redhat.com
nameserver 192.168.0.61
search redhat.com
该文件中和域名服务有关的一项是hosts。修改如下:
hosts: files dns nisplus nis
在命令行中输入下面命令,启动DNS。
/etc/rc.d/init.d/named start或restart
DNS测试最常用的是nslookup命令。用户可以使用这个命令来测试DNS服务器。
查找主机。在命令行中输入下面命令,该命令用来查找主机a100.redhat.com的IP地址。
[root@localhost root]#nslookup
>a100.redhat.com
Server: 192.168.0.61
Address: 192.168.0.61#53
Name: a100.redhat.com
Address: 192.168.0.61
如果只输入以下命令,nslookup应该能够根据文件/etc/resolv.conf中的定义,自动添加redhat.com的域名,然后显示与上面相同的结果。
>a100
在命令行中输入下面的命令,可以查找域名信息。
[root@localhost root]#nslookup
>set type=ns
>redhat.com
Server: 192.168.0.61
Address: 192.168.0.61#53
redhat.com nameserver = a100.redhat.com.
假如要查找IP地址为192.168.0.61的域名,可以输入以下命令:
[root@localhost root]#nslookup
>set type=ptr
>192.168.0.61
Server: 192.168.0.61
Address: 192.168.0.61#53
61.16.1.10.in-addr.arpaname = a100.redhat.com.
要查找redflag.com域的邮件记录地址,输入以下命令:
[root@localhost root]#nslookup
>set type=mx
>redhat.com
Server: 192.168.0.61
Address: 192.168.0.61#53
redhat.com mail exchanger = 10 a100.redhat.com.
要查找www.redhat.com主机的别名,输入以下命令:
[root@localhost root]#nslookup
>set type=cname
>www.redhat.com
Server: 192.168.0.61
Address: 192.168.0.61#53
www.redhat.com canonical name = a100.redhat.com.
用户还可以使用更为简单的检测方式ping命令,如果成功将显示以下信息:
# ping www.redhat.com
……
64 bytes from 10.10.10.2:icmp_seq=0 ttl=255 time=1.3ms
64 bytes from 10.10.10.2:icmp_seq=1 ttl=255 time=0.6ms
……
以下是named.ca文件内容:
; This file holds the information on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . <file>"
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC registration services
; under anonymous FTP as
; file /domain/named.root
; on server FTP.RS.INTERNIC.NET
; -OR- under Gopher at RS.INTERNIC.NET
; under menu InterNIC Registration Services (NSI)
; submenu InterNIC Registration Archives
; file named.root
;
; last update: Aug 22, 1997
; related version of root zone: 1997082200
;
;
; formerly NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 196.41.0.4
;
; formerly NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 126.9.0.107
;
; formerly C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.6.12
;
; formerly TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 126.6.10.90
;
; formerly NS.NASA.GOV
;
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
;
; formerly NS.ISC.ORG
;
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 126.63.2.53
;
; formerly NIC.NORDU.NET
;
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.146.17
;
; temporarily housed at NSI (InterNIC)
;
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 196.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.16.129
;
; temporarily housed at ISI (IANA)
;
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 196.32.66.12
;
; housed in Japan, operated by WIDE
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
; End of File