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