架設DNS(DNS终结篇),第1张

架設DNS(DNS终结篇),第2张

前面所介紹的伺服器服務大多是用在內部網路環境中的﹐不過﹐以現代的情況和未來的趨勢來看﹐每個網路或多或少都需要 Internet 連線以及向 Internet 提供服務。從這一章開始﹐我們將為大家陸續介紹一些在 Internet 環境中常用到的伺服器之架設技巧。就算您目前還沒真的需要架設 Internet 相關的伺服器﹐但許多企業的 Intranet 環境中﹐也需要相類似的伺服器來為企業內部網路提供服務。

前提條件

在眾多 Internet 伺服器當中﹐有一種服務是所有服務的基礎﹐就是 DNS 服務。DNS 可以說是一個不容易弄清楚的概念﹐尤其是其運作原理。如果您看過“學習網路”中的“ DNS 協定”(我強烈建議您看看這篇文章﹗)﹐相信應該有一定概念了﹐否則﹐您在如下的閱讀中可能難以理解﹐也浪費您的時間。

無論如何﹐在您進一步閱讀下面文章之前﹐請您先確定能正確回答如下的問題﹕


什麼是 DNS 的授權模式﹖是怎樣進行的﹖
請解釋 zone 和 domain 的差別。
什麼是 DNS 正解和反解﹖
什麼是 DNS 的查詢模式﹖查詢過程是怎樣進行的﹖
請解釋 DNS cache 的作用和它對查詢流程的影響。

如果您未能從上面的聯結網頁找到答案﹐那我再推薦您多看一篇文章﹕


http://turtle.ee.ncku.edu.tw/~tung/dns/dnsintro.html

忠告﹕請不必急著知道怎樣設定 DNS﹐花點時間將 DNS 的原理弄明白非常重要﹐尤其是授權模式和查詢模式的正確理解。在日後的 DNS 架設和管理中﹐是否能正確理解這些 DNS 原理﹐往往是成敗的關鍵所在﹗

如果您在 NT 或 Win2K 下面設定過 DNS 伺服器﹐相信您會覺得在 Linux 下面難多了。除了概念上要比較清楚外﹐另外對檔案的關聯也要有清晰的追蹤能力﹐這對於進行 debug 尤為重要。因為在 Windows 系統上面﹐您的所有設定都透過圖形界面進行﹐方便是方便﹐但也因為這個圖形界面﹐限制了您的設定靈活性﹐同時也阻隔了您對 DNS 系統的深入了解。當您完成了這章的學習﹐而且成功在 Linux 架設出複雜的 DNS 環境之後﹐歡迎您再回到 Win2K 上嘗試做同樣的事情。或許﹐您就會認同我這裡的觀點了...

好了﹐閒話休提﹑言歸正傳﹐聽百遍不如做一遍﹐那就讓我們開始動手吧﹗

探索 NAMED

在 Linux 上面﹐提供 DNS 服務的套件是叫 bind﹐ 但執行服務程式名稱則是 named 。請您確定系統上裝有 bind﹑bind-utils﹑以及 caching-nameserver 這幾個套件﹐同時用 ntsysv 確定 named 被選擇為開機服務。

首先﹐讓我們設定一個最重要的 dns 設定檔﹐它就是 /etc/named.conf 。我將我自己的設定檔案列出來﹐然後逐部份進行解釋﹕

// generated by named-bootconf.pl

options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};

先讓我們了解這個檔案上面用來做註解的符號是“ // ”﹐而不是一般 shell script 的“#”﹔另外﹐“ /* ”與“ */ ”之間則註解一整段文字。同時﹐每一個完整的設定都以“ ﹔”結尾﹐請不要少了它﹗(初學者經常會犯這個錯誤)

上面的部份是在這個檔案開頭的 options 設定﹐首先用 directory 指定了 named 的資源記錄( RR - Resource Record )檔案目錄所在位置為﹕“/var/named”﹔也就是說﹐它會到這個目錄下面尋找 DNS 記錄檔案。所以﹐我們在這個檔案後面部份所指定的檔案﹐就無需使用絕對路徑了﹐但它們一定要放在這個目錄下面。

接下來﹐有一段文字﹐如果您仔細閱讀一下﹐它大致是說﹕如果您要設定的 DNS 伺服器和 client 之間是隔著火牆的話﹐要將“// query-source address * port 53;”前面的註解符號“ // ”拿掉(當然﹐您也必須要設定好您的火牆啦)。不過﹐這只對早期的版本有影響﹐而在 bind 8.1 之後則無需擔心這個設定。

接下來再讓我們看下一段句子﹕

//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "named.ca";
};

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 架設DNS(DNS终结篇)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情