DNS
域名系统 (DNS) 服务器将 IP 地址解释为其他计算机或网站的域名和地址。如果没有 DNS,您需要在 Web 浏览器中输入 IP 地址。例如,如果您未访问 DNS 并希望查看 IBM 的网站,则必须输入 129.42.18.103 而不是 www.ibm.com。DNS 让通过 Web 浏览器访问 Internet 和通过网络连接到其他服务器变得容易。记住 www.ibm.com 比记住 129.42.18.103 要容易得多!
使用 DNS 的另一个优点在于,服务器的 IP 地址有时会发生改变。例如,服务器可能需要从一个地点迁移到另一个地点,或被新设备所取代。执行这类迁移有时需要在服务器抵达新场地后更改服务器的 IP 地址,因为新地点具有不同的网络规划。当发生此类事件时,用户记住服务器的名称要比记住新旧 IP 地址容易得多。如果服务器成功迁移,用户将不会体验到差异。
如前所述,在设置网络适配器时,您输入了名称服务器的 IP 地址。该服务器是您的主 DNS 服务器位置。最好拥有多个 DNS 服务器,以防单个服务器在查找某个地址时无法找到。如果使用多个 DNS 服务器,当服务器查找某个交叉引用的 IP 或主机名时,如果第一个 DNS 服务器未包含该信息或不可用,则查找请求将转移到第二个 DNS 服务器,依此类推。
要添加其他 DNS 服务器,您必须修改 /etc/resolv.conf 文件。清单 1 提供此类文件的示例。
清单 1. /etc/resolv.conf 文件
domain ATC-DOMAIN.com nameserver 10.20.30.23 nameserver 10.20.30.24 nameserver 10.20.30.25 search atc-domain2.com, atc-domain3.com, atc-domain4.com options debug
在接下来的部分中将对清单 1 中使用的各个参数进行说明。
domain
domain
参数指示如果字符串不以.
(句点)结尾,则解析功能将 <domain name>
附加到要查找的字符串的末尾。例如,如果输入用于查找的字符串为 ibm,则实际使用的字符串为 ibm.ATC-DOMAIN.com。
如果在 domain
参数中未包含域(也就是说,使用 ATC-AIX1 而不是 ATC-AIX.ATC-DOMAIN.com),则假定为当前服务器的 root
域。
注意:在 /etc/resolv.conf 文件中只能使用一个域条目。
nameserver
nameserver
参数告诉服务器通过哪个 DNS 服务器来解析 IP 地址和主机名。解析程序按照 /etc/resolv.conf 中提供的顺序查询各个名称服务器,直到 IP 地址得到正确解析。
注意:在 /etc/resolv.conf 文件中只能使用三个名称服务器条目。
search
search
参数为解析程序提供解析 IP 地址或主机名时使用的域的列表。只能使用 domain
或 search
条目之一。如果使用 domain
,则search
将成为 domain
的值。
注意:虽然您可以向 search
选项添加多个域名,但不能超出 1,024 个字符。
Options
options
参数提供了根据您的喜好来调试和调整查找功能的额外方法:
-
debug
: 此选项开启解析功能的调试模式 -
ndots:<N>
: 如果找到包含<N>
或更多句点的域,DNS 将尝试首先解析该字符串,而不附加 search 域列表。有关 DNS 的更多信息,请参阅参考资料。
traceroute 命令
尽管 ping
在某次尝试中可能失败,但这不一定表示您无法连接到 Internet。以下示例显示在尝试与 ATC-AIX2 通信时 ping
失败:
ping ATC-AIX2 PING ATC-AIX2: (10.20.90.41): 56 data bytes ^C ----10.20.90.41 PING Statistics---- 6 packets transmitted, 0 packets received, 100% packet loss
以下是使用 traceroute
命令进行的同一测试:
traceroute ATC-AIX2 traceroute to ATC-AIX2.ATC-DOMAIN.com (10.20.90.41) from ATC-AIX1.ATC-DOMAIN.com (10.20.30.40), 30 hops max outgoing MTU = 1500 1 10.20.30.254 (10.20.30.254) 8 ms 3 ms 3 ms 2 10.20.30.252 (10.20.30.252) 4 ms 4 ms 3 ms 3 19.16.15.240 (19.16.15.240) 5 ms 5 ms 5 ms 4 17.30.11.23 (17.30.11.23) 4 ms 5 ms 4 ms 5 10.20.90.252 (10.20.90.252) 4 ms 5 ms 4 ms 6 10.20.90.252 (10.20.90.254) 8 ms 5 ms 4 ms 7 10.20.90.41 (10.20.90.41) 8 ms 6 ms 5 ms
traceroute
命令是很有用的故障诊断工具。如果您的 traceroute
导致错误,输出结果可以引导您找到问题所在—即哪个服务器或网络设备可能在阻止您的访问。
nslookup 和 dig 命令
使用 ping
和 traceroute
命令时,请注意主要使用主机名。使用主机名对于用户来说很有帮助,因为他们不需要记住不同的 IP 地址。确定 DNS 实际是否在工作的一种方法是使用 name server lookup 或 nslookup
命令。使用 nslookup
可以提供主机名信息以及与主机名关联的 IP 地址。该命令对于用户尝试连接到服务器但未得到响应,因而报告问题的情况很有用。在这种情况下,有可能他们的 DNS 信息尚未更新,并且还在使用旧地址,您可以使用 nslookup
来快速地验证这一点。
以下代码显示了与 IBM.com 关联的 IP 地址:
nslookup ibm.com Server: ATC-AIX1.ATC-DOMAIN.com Address: 10.20.30.40 Non-authoritative answer: Name: ibm.com Addresses: 129.42.17.103, 129.42.18.103, 129.42.16.103
与 nslookup
类似的较新程序是 dig
。dig
提供与 nslookup
相同的信息,但包括目标 DNS 设置的更完整视图:
dig ibm.com ; <<>> DiG 9.2.0 <<>> ibm.com ;; global options: printcmd ;; Got answer: ;; -<<HEADER<<- opcode: QUERY, status: NOERROR, id: 16463 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 13, ADDITIONAL: 13 ;; QUESTION SECTION: ;ibm.com. IN A ;; ANSWER SECTION: ibm.com. 14740 IN A 129.42.16.103 ibm.com. 14740 IN A 129.42.17.103 ibm.com. 14740 IN A 129.42.18.103 ;; AUTHORITY SECTION: . 24402 IN NS I.ROOT-SERVERS.NET. . 24402 IN NS G.ROOT-SERVERS.NET. . 24402 IN NS C.ROOT-SERVERS.NET. . 24402 IN NS F.ROOT-SERVERS.NET. . 24402 IN NS M.ROOT-SERVERS.NET. . 24402 IN NS E.ROOT-SERVERS.NET. . 24402 IN NS L.ROOT-SERVERS.NET. . 24402 IN NS D.ROOT-SERVERS.NET. . 24402 IN NS J.ROOT-SERVERS.NET. . 24402 IN NS H.ROOT-SERVERS.NET. . 24402 IN NS A.ROOT-SERVERS.NET. . 24402 IN NS B.ROOT-SERVERS.NET. . 24402 IN NS K.ROOT-SERVERS.NET. ;; ADDITIONAL SECTION: I.ROOT-SERVERS.NET. 31808 IN A 192.36.148.17 G.ROOT-SERVERS.NET. 2961 IN A 192.112.36.4 C.ROOT-SERVERS.NET. 36288 IN A 192.33.4.12 F.ROOT-SERVERS.NET. 40867 IN A 192.5.5.241 M.ROOT-SERVERS.NET. 15357 IN A 202.12.27.33 E.ROOT-SERVERS.NET. 26901 IN A 192.203.230.10 L.ROOT-SERVERS.NET. 21568 IN A 199.7.83.42 D.ROOT-SERVERS.NET. 9464 IN A 128.8.10.90 J.ROOT-SERVERS.NET. 35190 IN A 192.58.128.30 H.ROOT-SERVERS.NET. 7936 IN A 128.63.2.53 A.ROOT-SERVERS.NET. 35190 IN A 198.41.0.4 B.ROOT-SERVERS.NET. 29770 IN A 192.228.79.201 K.ROOT-SERVERS.NET. 16473 IN A 193.0.14.129 ;; Query time: 3 msec ;; SERVER: 10.20.30.40#53(10.20.30.40) ;; WHEN: Wed Mar 12 17:02:32 2008 ;; MSG SIZE rcvd: 492