手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络知识>网络管理>列表

架設 DNS(DNS终结篇)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!


Tips﹕雖然﹐我們通常喜歡用‘10’﹑‘20’﹑‘30’.... 這樣的偏好值( preference ) 來分配 MX 記錄﹐但只要您喜歡﹐用‘1’﹑‘2’﹑‘3’... 這樣的順序一樣可以。不過﹐我建議您還是使用慣例啦。

現在很多大型郵件系統﹐都可以同時使用多台郵件主機來提供郵件交換服務﹐這時候您可以將 MX 的 preference 設為相同﹐然後利用 NIS 和 NFS 服務﹐將郵件同步到相同的帳號去。您已經在前面的章節裡面學會了 NIS 和 NFS﹐等日後學習郵件主機架設的時候﹐不妨玩玩看﹗


或許﹐您還發現我這裡為所有主機指定了 MX 記錄﹐有些直接指向自己(如 rh71﹑mdk 等)﹐而有些則指向別的機器(如 lp64﹑acer 等)。在 Linux 機器上面﹐各主機本身就具備郵件交換功能(除非您將之移除了)﹐而 Windows 則除非額外加裝﹐否則本身是沒有郵件交換功能的。這裡的設定是﹐從外面通過 DNS 查詢而寄往那些主機的郵件﹐都會轉到 MX 上面指定的郵件伺服器。這在實際的網路環境中很常見﹐尤其您接觸過“ mail hub ”這個概念。無論如何﹐我建議您應該幫負責 domain 的郵件伺服器本身設定一個偏好值最低的 MX 記錄指向自己(但這不是硬性必須如此的)。


Tips﹕事實上﹐我當初對 MX 的理解一直存在著錯誤﹐直到有一次在新聞組上和大家討論﹐才糾正過來。如果您對這個故事感興趣的話﹐或是想更進一步了解 MX 的實際運作原理﹐請參考 << Sendmail 與 MX >> 一文。

在過去﹐有些人並不知道如何正確的運用 MX 記錄﹐但相對的﹐他們會為 domain 名稱本身設定一個 A 記錄 (@ IN A 192.168.100.23 )。這樣的做法雖然不是正統的﹐但也行之有年了。而且﹐在許多網站的 URL 上﹐這樣的設定﹐也能讓您少輸入“ www. ”這四個鍵~~~


另外﹐在這個檔裡面﹐您或許還發現‘ TXT ’這樣的記錄類別﹐它是‘Text InFORMation’的意思﹐它實際上不牽涉任何設定﹐只記錄一些環境說明而已﹔這和‘ HINFO(Host InFORMation) ’差不多﹐但 HINFO 一定要有兩項記錄(分別用引號分開)﹐其中第一項是關於 CPU 的訊息﹐第二項則是作業系統。然而﹐TXT 和 HINFO 這些資訊僅能在一個信任的環境中提供﹐如果您架設的 DNS 是對外提供服務的﹐那麼﹐就不要設定這些資訊了。要不然﹐入侵者可非常感謝您哦﹐因為您幫他們省卻了很多主機系統的探測手續~~~ 所以﹐這裡僅做範例﹐供您參考而已。

而最後您所看到的‘CNAME’記錄又是怎樣的呢﹖CNAME 也是一個常見的記錄類別﹐它是一個別名記錄( Canonical Name )。當 DNS 系統在查詢 CNAME 左面的名稱的時候﹐都會轉向 CNAME 右面的名稱再進行查詢﹐一直追蹤到最後的 PTR 或 A 名稱﹐成功查詢後才會做出回應﹐否則失敗。例如﹐在正解查詢中﹐一個 IP 通常(當然也有例外)﹐只會對應一個 A 記錄﹐但我們可以使用 CNAME 在 A 名稱之上賦予該 IP 更多的名稱。也就是說﹕所有關於‘www.siyongc.domain’﹑‘ftp.siyongc.domain’﹑‘mail.siyongc.domain’這些名稱的查詢﹐實際上都會再查詢一次‘rh71.siyongc.domain.’這個記錄﹐直到找到它的 IP 位址為止。有些朋友或許會設定多層的 CNAME 查詢﹐例如﹕


C CNAME B
B CNAME A

這樣的話﹐會一層一層的逐級 CNAME 下去... 但是﹐這很浪費 DNS 資源﹗因為每一個 CNAME 都一定會產生另外一個查詢動作﹐如果層級越多﹐那就產生越多的重複查詢。所以﹐精明的 DNS 管理員﹐都會儘量的減少查詢次數的發生﹐他會將 CNAME 變成這樣子﹕


C CNAME A
B CNAME A

這樣就用心多了﹗

基本上﹐我們在正解設定上所使用到的記錄大概就前面所看到的。哦﹐對了~~ 還有另外一個 /var/named/dmz.domain 檔案也不要忘記了﹕

$TTL 86400
$ORIGIN dmz.domain.
@ IN SOA rh71.siyongc.domain. root.rh71.siyongc.domain. (
2001111601 28800 14400 3600000 86400 )
IN NS rh71.siyongc.domain.
IN NS lp64.dmz.domain.
IN MX 10 rh71.dmz.domain.

;; -- linux servers --
rh71 IN A 10.0.1.131
IN MX 0 rh71.dmz.domain.
IN HINFO "Petium II 266""Redhat 7.1"
IN TXT "The internet gateway."

lp64 IN A 10.0.1.130
IN MX 0 rh71.dmz.domain.
IN HINFO "Pentium 90""Linpus 6.4"

;; -- cnames --
gw IN CNAME lp64
www IN CNAME lp64
ftp IN CNAME lp64
mail IN CNAME lp64

您看﹗就這樣﹐我們的 DNS 就已經設定好了﹐包括反解和正解哦~~~

重新啟動 named

當您以為所有設定檔都設定好之後﹐最想做的事情莫過於要測試一下啦。但在測試之前﹐我們還要重新啟動 named ﹐否則﹐您查詢出來的還是舊資料。聰明的您或許已經知道使用如下命令來重新啟動DNS 服務了吧﹕

service named restart


然而﹐作為一個有經驗的 DNS 管理員﹐在重新啟動 named 服務之後﹐他一定會檢查一個檔案﹐就是 /var/log/messages 。因為﹐許多時候﹐當您執行 service named restart 之後您看到的都是綠色的 OK ﹐但事實上是否真的 OK 呢﹖誰也不敢保證﹐除非您在 log 檔中沒發現錯誤信息。所以﹐我也強烈建議您每次重新啟動 named 之後﹐一定一定要做如下動作﹕

vi /var/log/messages


然後按“G”鍵(大寫)跳到檔案末尾部份(事實上﹐您也可以用 tail 命令)。您或許會看到如下這樣的記錄﹕

Nov 16 14:54:10 rh71 named[2211]: starting BIND 9.1.0 -u named
Nov 16 14:54:10 rh71 named[2211]: using 1 CPU
Nov 16 14:54:10 rh71 named: named startup succeeded
Nov 16 14:54:10 rh71 named[2215]: loading configuration from '/etc/named.conf'
Nov 16 14:54:10 rh71 named[2215]: the default for the 'auth-nxdomain' option is now 'no'
Nov 16 14:54:10 rh71 named[2215]: no IPv6 interfaces found
Nov 16 14:54:10 rh71 named[2215]: listening on IPv4 interface lo, 127.0.0.1#53
Nov 16 14:54:10 rh71 named[2215]: listening on IPv4 interface eth0, 192.168.100.23#53
Nov 16 14:54:10 rh71 named[2215]: listening on IPv4 interface eth1, 10.0.1.1#53

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!