架設 DNS(DNS终结篇) (4)

2008-02-23 04:53:55来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


Tips﹕關於更多的記錄名稱﹐請參閱“學習網路”中的“DNS 協定”。

最後﹐讓我們檢查剩下的 named.local 檔案吧。如果您還沒忘記 /etc/named.conf 的內容的話﹐應知道這個檔案是 zone "0.0.127.in-addr.arpa" 的‘反解’記錄檔﹐它的內容也很簡單﹕

$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.

1 IN PTR localhost.

前面的部份應該不用多解釋了(如果您還不清楚﹐那就必須重讀前面的文章)。最後一行我們看到一個“ PTR ”記錄﹐它是“Pointer”的意思。 PTR 通常用於反記錄當中﹐將 IP 指向主機名稱(剛好和 A 記錄相反)。您或許還不是很清楚這個句子為什麼是這樣設定的吧﹖或許您會這樣問﹕您不是說 PTR 是從 IP 反查詢主機名稱的嗎﹖為什麼這裡是 1 而不是 127.0.0.1 ?

哦﹐如果您有這樣的問題﹐那證明您對 DNS 的查詢模式還不是了解得很透徹﹐不過也不用緊張﹐在後面的實作例子中﹐您將獲得更進一步的感性認識。這裡﹐我暫時簡單解釋上面這行就是了﹕

我們知道 127.0.0.1 所對應的主機名稱就是 localhost ﹐因為這裡是反向查詢﹐所以 IP 順序是掉過來寫的﹐於是這個反查詢 IP 就是﹕“ 1.0.0.127.in-addr.arpa. ”﹐由於我們這裡的 ORIGIN ( @ ) 是“ 0.0.127.in-addr.arpa." ”﹐因為在記錄檔中﹐如果名稱不帶小數點﹐則被補上 $ORIGIN 或 zone 的名稱﹐所以這個 “ 1 ”就成了 1.0.0.127.in-addr.arpa. ”。同樣道理﹐後面的“ localhost. ”如果漏了最後的小點的話﹐則會成為“ localhost.0.0.127.in-addr.arpa. ”﹐這顯然是不對的。假如您喜歡﹐可以將這行句子修改成為下面的樣子﹕

﹔﹔修改前﹕
1 IN PTR localhost.

﹔﹔修改後﹕
1.0.0.127.in-addr.arpa. IN PTR localhost.

嗯~~ DNS 的設定看起來真的蠻傷腦筋的﹐或許您到這裡已經被搞得亂七八糟了。假如真的如此﹐我建議您先休息一下﹐然後回來重讀上面的內容﹐直到您能理解之後﹐才繼續下面的。否則﹐越往後﹐您的問題越像滾雪球那樣越來越大﹐這更浪費時間啦~~~ Okay? Take it easy ...

前面所看到的設定﹐事實上已經足夠讓您的 DNS 主機跑起來了﹗因為它能夠透過 root 查詢其他 DNS 的緣故﹐您無須在再加設任何設定﹐您就可以利用這台主機為大家提供 Internet 的 DNS 查詢服務。只是﹐這樣的 DNS 主機﹐我們稱之為 cache only name server 而已。如果您了解 DNS 的查詢流程﹐您應該知道 DNS 的 cache 作用和它的效益。所以﹐就算您不打算設定自己的 domain name 服務 ﹐我也建議您至少可以將 cache only NS 跑起來。

設定 NAMED

當您對 /etc/named.conf 檔案和 /var/named 目錄的設定有初步了解之後﹐下面﹐讓我們用一個實際例子來看看如何設定自己的 domain name 服務吧。我個人的習慣是先將網域和主機的資料整理出來﹐並列成一個表格﹕

Domain 名稱 IP 位址
rh71.siyongc.domain 192.168.100.23
acer.siyongc.domain 192.168.100.20
mdk.siyongc.domain 192.168.100.24
emilie.siyongc.domain 192.168.100.11
rh71.dmz.domain 10.0.1.131
lp64.dmz.domain 10.0.1.130


當所有的主機名稱和 IP 整理出來之後﹐再看看我們這裡需要設定哪些 domain ﹖ 從上面的資料中﹐我們不難發現有兩個正解 zone 和兩個反解 zone 需要設定﹐分別是﹕

區域名稱 記錄項名稱
siyongc.domain emilie﹑acer﹑rh71﹑mdk
dmz.domain lp64﹑rh71
100.168.192.in-addr.arpa 11﹑20﹑23﹑24
1.0.10.in-addr.arpa 130﹑131


因為這些 IP 和 domain 都在內部網路使用﹐所以我們省卻了註冊這關﹐同時也不必擔心授權的問題。但這些資訊也只能在內部網路使用﹐無論如何是不能設定在對外的 DNS 上面的 (為什麼﹖除了安全的考量之外﹐private IP 的使用本來就有這樣的規定﹐就算您真的對外散佈這些 DNS 資訊﹐在 IP 的路由上還是有問題﹐所以﹐內部的資訊﹐只能內部使用)。

一般來說﹐我會先設定“反查詢區域(revers zone)”﹐當然﹐這是個人習慣而已。所以﹐我首先在 /etc/named.conf 上面補上兩個反解 zone 的設定﹕


zone "100.168.192.in-addr.arpa" IN {// 定義反解區域名稱
type master;// 定義伺服器類型
file "192.168.100.rev";// 指定記錄檔名稱
};// 結束區域設定

zone "1.0.10.in-addr.arpa" IN {
type master;
file "10.0.1.rev";
};
注意哦﹕如果您要設定外部 DNS 的反解﹐那就先獲得 ISP 的授權才能自己設定﹔否則反解部份就不用自己擔心了﹐但一定要請 ISP 幫忙。


Tips﹕假如您是 hinet 的固定制 ADSL 用戶﹐可以到 hinet 的網站填寫表格﹐請他們幫忙設定反解﹕


http://hidomain.hinet.net/rever.html

其它 ISP 的用戶﹐請自行接洽 ISP 的客服部門。無論如何﹐如果沒有取得授權﹐那就不要自己設﹗


這裡﹐我們再一次碰到反解區域的識別標誌﹕“ .in-addr.arpa ”﹐同時﹐我們解釋一下上次關於本機反解還沒說明的地方﹕如果您了解 DNS 的授權和查詢過程(這章一開始的時候﹐我就已要求您一定要學習的)﹐您會知道反解查詢是先從 root 開始(正解也是一樣)﹐然後到 arpa ﹑到 in-addr ﹑到第一組 IP ﹑到第二組 IP ﹑...... 這樣查詢下來的。所以﹐在設定反區域的時候﹐您一定要將您的 net ID 部份反過來寫﹐例如﹕我的網路為 192.168.100.0/24﹐它的反查詢區域名則是﹕“100.168.192.in-addr.arpa”﹔假如我將 netmask 改為 16 bit ﹐即變成 192.168.0.0/16﹐它的反解區域名就會變成﹕“168.192.in-addr.arpa”。如果您還搞不懂如何區分 Net ID 和 Host ID﹐請立即去看一看“學習網路”中的“IP 基礎”。

同時﹐我將這些 zone 都設定為“主 DNS 伺服器”(即﹕master﹐也有人稱之為 primary dns )。

在每個 zone 的最後部份﹐我分別指定了它們各自的記錄檔名稱。它們都存放在 /var/named 這個目錄下面(也就是前面 options 指定的 directory 啦)。檔案的名稱隨您喜歡﹐不致做成混亂則可。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:主要省份城市的DNS服务器地址

下一篇:如何增强网络排错技能