作者:JC Pollman 和 Bill Mote 譯者:小牟
聲明: 此文章的內容取自其他的出版物、HOWTO、man 提示、新聞組、和在鍵盤上 長時間的輸入,但這並不意味此篇指南中就包括了所有的相關內容,更准確的說是給初學者關於交互介質 (intermedia)一塊敲門磚. 所有的例子取自我們的家用小型網絡,確信是工作正常的,
此指南的使用:
方括號中的內容象[ENTER]這樣的是指按下鍵盤的該鍵或者是點擊鼠標。 圓括號中的內容象(your name here)這樣的是指需要填入實際的數據 斜體的字符是指要在提示符下要輸入的內容 先決條件: 在此之先假定你已安裝了bind v8.2,並且你選定了一個合法的域名,使用IP偽裝程序 將你機器的IP地址給隱藏了。如果你用的是 bind V4.x將不能正常工作,你有兩個選擇,一是升級(4.x有安全方面的問題)另外的就 是超出本文所探究的范圍了。需要注意的是多數的Linux發布中包含三個bind 的包, 其中“caching-only“的版本是不需要的。 什麼是 DNS? DNS是Domain Name System(域名解析)的縮寫,而實際上是一種協議。所要用的 Bind(Berkeley Internet Name Domain)程序是同時運行在服務器端和客戶端的, DNS能將我們人所能夠理解的字母-數字形式的名字轉換成計算機所能理解的IP地址,反之亦然; 換而言之,就是能將www.netscape.com這樣的形式轉換成207.200.75.200這樣的IP地址.
為什麼要設立自己的 DNS 服務器? 其實僅僅依賴於ISP的服務器也是可以的,設立自己的DNS服務器可以加速尋址,方便管理, 在目前現有的網絡環境中添加新的計算機也會變的更加容易,sendmail會工作的更好,另 外空余時間也有個好的項目做做。
當前是誰提供的DNS服務? 一般而言就是你當地的ISP服務商。下面的測試能夠驗證我們的假設是否正確,另外這也是 安裝完成之後測試DNS的基本步驟。接入你的ISP然後在終端窗口裡輸入以下的命令:
nslookup[Enter] Default Server: {這裡顯示出來的就是ISP的DNS名} Address: {顯示出來的就是ISP服務器的IP地址}
現在輸入以下內容看DNS是否工作: >www.tux.org
通常是這樣回應: Name: gwyn.tux.org Address: 207.96.122.8 Aliases: http://www.tux.org/ >exit [Enter]
注意 - 一定要隱藏IP地址, 除非你已經申請注冊了網址,擁有一個真正的IP地址,否則沒有隱藏的前提下要自己設立DNS就想也不用想了。 反之系統會真的把你弄的稀裡糊塗更甚至可能會收到發往真正擁有那個IP地址的一些亂七八糟 的email. 而隱藏了IP地址後,你就可以隨心所欲的給你的小網設立個IP地址, 同時隱藏的還有通過Internet連接的請求
安裝DNS: 必須安裝bind程序才能使DNS開始工作,我是如下設置的,域名設為 kulai.org,采用隱藏措施後,使得kulai.org在任何地方都列不出, 同時也沒有在任何地方注冊過。當選擇了你的域名後,為了避免將事情搞糟,要確信沒有被其他人注冊, 可以使用whois程序檢查所選的域名是否已經被合法則注冊,連接好以後可以象下面這樣進行檢查:
whois kulai.org [Enter] 得到大量的回應後,是以類似下面的提示這樣結束的: 在此篇文章中我的相關的設置是這樣的
master.kulai.org 192.168.124.10 僅安裝linux , 做為服務器 jc.kulai.org 192.168.124.1 同時安裝了linux 和 win98 fserver.kulai.org 192.168.124.11 僅安裝了freebsd phillip.kulai.org 192.168.124.20 僅有win98
設置DNS: 首先要使用你習慣使用的文本編輯器創建5個普通的文本文件,也可從例程中拷貝過來,只須 將域名和IP地址改過來,要仔細的修改這些文件,不過一定要符合他們特殊的語法。
/etc/named.conf /var/named/db.cache /var/named/db.kulai.org (我的域名設為是kulai.org) /var/named/db.124.168.192 (地址設置為192.168.124.0) /var/named/db.127.0.0 警告WARNING: 設置完成DNS後,在將/etc/resolv.conf 改名之前決不要重新啟動, 改名後計算機重起來後,再改回來,如果錯誤的設置DNS後將導致不能啟動, 然後只能rescue啟動了,而改名可以避免這樣的錯誤。 同時檢查/etc/nsswitch.cnf的設置, “hosts“ 一行中應該如下書寫:“hosts: files dns“. 這樣系統將首先通過/etc/hosts進行域名解析,而不致可能報告無效的DNS. 如果設有NIS,那麼這行應該如下寫:“hosts: files nis dns“.
啟動DNS:建成上述5個文件後,編輯/etc/resolv.conf文件, 在其中僅列你自己的主機。
search kulai.org nameserver 192.168.124.10 請注意Note: /etc/resolv.conf is manditory for bind 8.* then type: tail -f /var/log/messages[Enter] named 守護進程啟動後會提示錯誤的信息,打開另外的窗口或者是在其他的控制台上輸入: /usr/sbin/ndc start [Enter] (對於RedHat發布則是: /etc/rc.d/init.d/named start ) 在/var/log/messages 文件中包含有關named 的條目,以下面的內容作為結束: Jul 10 15:54:26 master named: named startup sUCceeded Jul 10 15:54:26 master named[3523]: Ready to answer queries. 連入internet後,用上面 當前是誰提供的DNS服務一節中的方法來測試DNS. 報告出的主機名應該是你自己的DNS主機, 輸入你經常浏覽的地址看能否輸出ip地址。 如果不能正常工作: 1. 首先檢查named進程是否運行: ps axgrep named [Enter]
2. 在其他的機器上通過IP地址和機器名稱ping一下: ping 192.168.124.10 [Enter] ping master.kulai.org [Enter]
3. telnet 連接到服務器,如果接入的時間較長就意味著可能設置有問題。
如果一切正常,只需要將你小網上的計算機連到域名服務器就可以了。
Final thoughts結束語:在此只是給出了設定一個簡單的dns的方案,而通常成功的經歷更能激發學習的興趣,你 可以在以下的網址中學到更多的東西:
The DNS HOWTO DNS and Bind by O‘Reilly DNS - ZDNet Webopedia Definition and Links Troubeshooters.com: DNS -- 包含了一些與老版本bind有關的內容
The DNS HOWTO DNS and Bind by O‘Reilly DNS - ZDNet Webopedia Definition and Links Troubeshooters.com: DNS -- 包含了一些與老版本bind有關的內容