?? 026.htm
字號:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->Linux HowTo 中譯版-->DNS HOWTO 中譯版 : 真實領域的例子</TITLE>
<META NAME="keywords" CONTENT=" Linux HowTo 中譯版 DNS HOWTO 中譯版 : 真實領域的例子">
<META NAME="description" CONTENT=" - Linux HowTo 中譯版 - DNS HOWTO 中譯版 : 真實領域的例子">
<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋體"}
.tt2 {font: 12pt/15pt "宋體"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%" bgcolor="#e0e0e0"><strong><A HREF="027.htm">后一頁</A><BR>
<A HREF="025.htm">前一頁</A><BR>
<A HREF="index.html">回目錄</A><BR>
<A HREF="../../../../index.htm">回首頁</A><BR>
</strong>
</TD>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷體_GB2312">DNS HOWTO 中譯版 : 真實領域的例子</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
姓名:Nicolai Langfeldt<br>
Email:<br>
地址 :<br>
轉摘 :http://member.netease.com/</p>
<BR>
<BR>
<hr SIZE="0">
<BR>
<p><br>
<br>
<br>
5. 真實領域的例子 <br>
這里我們列出一些真正的區域檔案 <br>
<br>
使用者建議我加上一個可以運作的真實例子,因為我對真正可運作的領域及虛擬□例之間差別解釋的不夠清楚.
<br>
<br>
關於這個例子有件事必須聲明: 千萬不要把它放到你的名稱伺服器上!
把它當作參考資料來閱讀就好.如果你想做實驗,用上面虛擬的例子.我經過
LAND-5 的 David Bullock 的同意才使用這個例子.這些檔案的日期是 1996
年九月二十日,因此如果你現在查詢 LAND-5
的名稱伺服器可能會發現有所不同.還有,請記住,刪去前面的空白
:-) <br>
<br>
5.1. /etc/named.boot (或 /var/named/named.boot) <br>
我們發現需要兩行 primary 的反向區域: 一個是 127.0.0,另一個是 LAND-5
的子網路 206.6.177.還有一行給 land-5.com
的正向區域.還有一點要注意的是不像我在這篇文章里將檔案放在 pz
目錄里,他將它們放到叫做 zone 的目錄. <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
; Boot file for LAND-5 name server <br>
; <br>
directory /var/named <br>
; <br>
; type domain source file or host <br>
cache . root.cache <br>
primary 0.0.127.in-addr.arpa zone/127.0.0 <br>
primary 177.6.206.in-addr.arpa zone/206.6.177 <br>
primary land-5.com zone/land-5.com <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
<br>
5.2. /var/named/root.cache <br>
記住這個檔案是動態的,這邊列出來的是舊的.你最好自己用 dig
產生一個新的. <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
; <<>> DiG 2.1 <<>> <br>
;; res options: init recurs defnam dnsrch <br>
;; got answer: <br>
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6 <br>
;; flags: qr rd ra; Ques: 1, Ans: 9, Auth: 0, Addit: 9 <br>
;; QUESTIONS: <br>
;; ., type = NS, class = IN <br>
<br>
;; ANSWERS: <br>
. 518357 NS H.ROOT-SERVERS.NET. <br>
. 518357 NS B.ROOT-SERVERS.NET. <br>
. 518357 NS C.ROOT-SERVERS.NET. <br>
. 518357 NS D.ROOT-SERVERS.NET. <br>
. 518357 NS E.ROOT-SERVERS.NET. <br>
. 518357 NS I.ROOT-SERVERS.NET. <br>
. 518357 NS F.ROOT-SERVERS.NET. <br>
. 518357 NS G.ROOT-SERVERS.NET. <br>
. 518357 NS A.ROOT-SERVERS.NET. <br>
<br>
;; ADDITIONAL RECORDS: <br>
H.ROOT-SERVERS.NET. 165593 A 128.63.2.53 <br>
B.ROOT-SERVERS.NET. 165593 A 128.9.0.107 <br>
C.ROOT-SERVERS.NET. 222766 A 192.33.4.12 <br>
D.ROOT-SERVERS.NET. 165593 A 128.8.10.90 <br>
E.ROOT-SERVERS.NET. 165593 A 192.203.230.10 <br>
I.ROOT-SERVERS.NET. 165593 A 192.36.148.17 <br>
F.ROOT-SERVERS.NET. 299616 A 192.5.5.241 <br>
G.ROOT-SERVERS.NET. 165593 A 192.112.36.4 <br>
A.ROOT-SERVERS.NET. 165593 A 198.41.0.4 <br>
<br>
;; Total query time: 250 msec <br>
;; FROM: land-5 to SERVER: default ---- 127.0.0.1 <br>
;; WHEN: Fri Sep 20 10:11:22 1996 <br>
;; MSG SIZE sent: 17 rcvd: 312 <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
<br>
5.3. /var/named/zone/127.0.0 <br>
不過是基本的,不能省略的 SOA 記錄,以及將 127.0.0.1 指向 localhost
的記錄.兩者都是必須的.不應有其它的東西在此檔案中.這個檔案可能永遠不必更新,除非你的名稱伺服器或管理人地址改變.
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
@ IN SOA land-5.com. root.land-5.com. ( <br>
199609203 ; Serial <br>
28800 ; Refresh <br>
7200 ; Retry <br>
604800 ; Expire <br>
86400) ; Minimum TTL <br>
NS land-5.com. <br>
<br>
1 PTR localhost. <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
<br>
5.4. /var/named/zone/land-5.com <br>
在這里我們看到這個必須的 SOA 記錄,必要的 NS
記錄.我們可以看到它有一個次要的名稱伺服器於 ns2.psi.net.這也應該是必要的,總是保有一個次要的伺服器做為備份.我們還看到做為
LAND-5 負責所有不同服務的主機,它以許多的 CNAME 記錄做到這點 (另一個做法是用
A 記錄). <br>
<br>
就像你從 SOA 記錄看到的一樣,區域檔案以 land-5.com 開始,管理人是
root@land-5.com.序號(serial)以 yyyymmdd 的格式加上當天的號碼; 它可能是
1996
年九月二十號那天的第六個版本的區域檔案.請記住序號必須單調地遞增,這里它只用一位數字表示當天的號碼,因此在編輯九次之後他必須等到明天才能再編輯這個檔案.[譯注]
因此應該考慮用兩位數字. <br>
<br>
[譯注] <br>
讀者可能會奇怪為什麼不能用 1996092010 ?
這個數字也是遞增的,所以當然可以.但到了明天第一次編檔案時該用什麼呢?
如果用 199609211,那麼這個數字就比 1996092010
要小了.這樣會有麻煩.因此作者建議應用兩位數字,如 1996092006. <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
@ IN SOA land-5.com. root.land-5.com. ( <br>
199609206 ; serial, todays date + todays serial # <br>
10800 ; refresh, seconds <br>
7200 ; retry, seconds <br>
10800 ; expire, seconds <br>
86400 ) ; minimum, seconds <br>
NS land-5.com. <br>
NS ns2.psi.net. <br>
MX 10 land-5.com. ; Primary Mail Exchanger <br>
<br>
localhost A 127.0.0.1 <br>
<br>
router A 206.6.177.1 <br>
<br>
land-5.com. A 206.6.177.2 <br>
ns CNAME land-5.com. <br>
ftp CNAME land-5.com. <br>
www CNAME land-5.com. <br>
mail CNAME land-5.com. <br>
news CNAME land-5.com. <br>
<br>
funn A 206.6.177.3 <br>
illusions CNAME funn.land-5.com. <br>
@ TXT "LAND-5 Corporation" <br>
<br>
; <br>
; Workstations <br>
; <br>
ws_177200 A 206.6.177.200 <br>
MX 10 land-5.com. ; Primary Mail Host <br>
ws_177201 A 206.6.177.201 <br>
MX 10 land-5.com. ; Primary Mail Host <br>
ws_177202 A 206.6.177.202 <br>
MX 10 land-5.com. ; Primary Mail Host <br>
ws_177203 A 206.6.177.203 <br>
MX 10 land-5.com. ; Primary Mail Host <br>
ws_177204 A 206.6.177.204 <br>
MX 10 land-5.com. ; Primary Mail Host <br>
ws_177205 A 206.6.177.205 <br>
MX 10 land-5.com. ; Primary Mail Host <br>
; {Many repetitive definitions deleted - SNIP} <br>
ws_177250 A 206.6.177.250 <br>
MX 10 land-5.com. ; Primary Mail Host <br>
ws_177251 A 206.6.177.251 <br>
MX 10 land-5.com. ; Primary Mail Host <br>
ws_177252 A 206.6.177.252 <br>
MX 10 land-5.com. ; Primary Mail Host <br>
ws_177253 A 206.6.177.253 <br>
MX 10 land-5.com. ; Primary Mail Host <br>
ws_177254 A 206.6.177.254 <br>
MX 10 land-5.com. ; Primary Mail Host <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
<br>
另一件值得注意的事所有的工作站都沒有個別的名稱,而是用一開頭加上最後兩位的
IP
數字.用這樣的慣例可以大量地簡化維護工作,但可能有點不方便,而且,事實上可能是你的客戶不滿的來源.
<br>
<br>
5.5. /var/named/zone/206.6.177 <br>
我將在後面說明這個檔案. <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
@ IN SOA land-5.com. root.land-5.com. ( <br>
199609206 ; Serial <br>
28800 ; Refresh <br>
7200 ; Retry <br>
604800 ; Expire <br>
86400) ; Minimum TTL <br>
NS land-5.com. <br>
NS ns2.psi.net. <br>
; <br>
; Servers <br>
; <br>
1 PTR router.land-5.com. <br>
2 PTR land-5.com. <br>
3 PTR funn.land-5.com. <br>
; <br>
; Workstations <br>
; <br>
200 PTR ws_177200.land-5.com. <br>
201 PTR ws_177201.land-5.com. <br>
202 PTR ws_177202.land-5.com. <br>
203 PTR ws_177203.land-5.com. <br>
204 PTR ws_177204.land-5.com. <br>
205 PTR ws_177205.land-5.com. <br>
; {Many repetitive definitions deleted - SNIP} <br>
250 PTR ws_177250.land-5.com. <br>
251 PTR ws_177251.land-5.com. <br>
252 PTR ws_177252.land-5.com. <br>
253 PTR ws_177253.land-5.com. <br>
254 PTR ws_177254.land-5.com. <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
<br>
反向區域似乎是整個設定中最讓人頭痛的部份.它是在你有機器的 IP
數字時查詢機器名稱用的.例如: 你有一部 irc 伺服器接受 irc
客戶端的連線.但你是挪威的伺服器因此你只希望接受來自挪威及其它斯堪地那維亞國家的連線.當你接到來自客戶端的連線時
C 程式庫能夠告訴你連線機器的 IP 位址,因為客戶端的 IP
數字是包含在傳入的網路封包中的.然後你可以呼叫一函式
gethostbyaddr 以給定的 IP 查詢機器名稱. gethostbyaddr 函式會向 DNS
詢問,DNS 就會出去查詢這臺機器名稱.假設客戶端來自
ws_177200.land-5.com,C 程式庫提供給 irc 伺服器的 IP 是 206.6.177.200.為找出機器的名稱我們要查詢
200.177.6.206.in-addr.arpa.DNS 伺服器首先找到負責 arpa.
的伺服器.然後找到 in-addr.arpa. 的伺服器,再來是反過來的 206,然後是
6,最後找到在 LAND-5 負責 177.6.206.in-addr.arpa
區域的伺服器.由此我們得到 200.177.6.206.in-addr.arpa 的答案是 'PTR
ws_177200.land-5.com' 記錄,意指擁有 IP 206.6.177.200 的名稱是
ws_177200.land-5.com.不過就像在解釋 prep.ai.mit.edu
如何查詢時所說,這過程稍微有點不對. <br>
<br>
回到 irc 伺服器的例子.irc
伺服器只接再來自斯堪地那維亞國家的連線,也就是, *.no, *.se, *.dk.ws_177200.land-5.com
這個名字顯然并不符合任何這些.因此伺服器會拒絕連線.如果沒有經由
in-addr.arpa 區域到 206.2.177.200
的反向對應,伺服器將無法查到機器名稱而將會拿 206.2.177.200 來和
*.no, *.se 及 *.dk 比較,當然找不到符合的. <br>
<br>
有些人會告訴你反向對應查詢只對伺服器重要,或是一點也不重要.當然不是:
許多 ftp, news, irc 甚至 http
伺服器將不接受無法查到名稱的機器連線.因此事實上機器的反向名稱對應是必須的.
<br>
</p>
<BR>
<hr color="#EE9B73" size="1" width="94%">
</TD>
<TD CLASS="tt3" VALIGN="bottom" width="8%" bgcolor="#e0e0e0"><strong><A HREF="027.htm">后一頁</A><BR>
<A HREF="025.htm">前一頁</A><BR>
<A HREF="index.html">回目錄</A><BR>
<A HREF="../../../../index.htm">回首頁</A><BR>
</strong>
</TD>
</TR>
</table>
</BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -