2007-06-15 18:07:28 Kenny

DNS Server

首先要感謝台灣FTP聯盟的站長 coca 不厭其煩的指導,才讓我在最短時間內無痛架好 Windows 2003 下的 DNS Server。

這份筆記主要是替整個架設過程留個紀錄,供日後有需要重灌時做參考,也給需要架 DNS Server 的人一個方向。

因為我個人是比較主張“從做中學”的,這次只是初步將 DNS Server 設定成功,其中有些概念或是較偏理論方面的觀念,也許就不是那麼的正確。如果下面說的東西正確,那是 coca 指導有方,如果有錯誤的地方,那就是我個人領悟力的不足了XD

首先,先來談一下為什麼要自己架 DNS Server 好了。申請過域名的人都知道,域名註冊商那邊通常都會提供 DNS 代管的服務,既然有人提供了,何必自己架設呢?

最主要的原因,就是這些代管服務可以設定的紀錄筆數通常不多,如果要增加的話,通常必須額外付費,甚至根本就無法增加!對於有需要設置大量 subdomain 或 MX Record 的人來說,自己架設 DNS Server 是比較省事的方法,尤其如果自己擁有一台有一定穩定度的實體主機,在系統可以負荷的前提下,多架這個服務也是無傷大雅。

如果你沒有上述需求,甚至自己也沒有實體主機、沒有固定 IP,那就沒辦法、也沒必要自己架設 DNS Server 了。事實上專業的 DNS Server 絕對比自己架的還要好,如果沒有特殊需求,還是乖乖使用 DNS 代管的服務就可以了。

架設 DNS Server 所需要的硬體門檻並不高,目前一般的電腦幾乎都可以勝任。至於軟體方面,在這邊僅以 Windows 2000 與 Windows 2003 都有內建的服務來講解。

首先,我們要先確認 DNS Server 是否已經安裝於系統中?因為預設是不安裝這個服務的,所以通常必須手動安裝這個功能。你可以先到系統管理工具中查看是否有 DNS 這個項目?如果有的話,代表已經安裝過;如果沒有的話,請到控制台新增或移除程式中,選擇新增/移除 Windows 元件,在 Networking Services 中找到網域名稱系統 (DNS),打勾並確定後,就可以安裝這個服務了。

確認有這個服務後,接著請執行系統管理工具中的 DNS,來開啟伺服器的主控視窗。在主控視窗的左邊,有個正向對應區域的項目,在上面按右鍵、選擇新增區域來開啟新增區域精靈。在這個精靈中,需要指定你自己的區域名稱,這邊只要輸入單純的域名就好了,例如 example.idv.tw 這樣,千萬不要在前面又加上 www 之類的子網域名稱。

新增區域精靈中的其他設定,就照預設值來就可以了,不需要做額外的變更。完成後,在正向對應區域下面,應該就會出現你的域名的項目了。接下來要進行更進一步的設定。

在你的域名項目下,預設已經有啟動授權 (SOA)名稱伺服器 (NS) 兩個項目了,首先先來設定這兩項。

在啟動授權 (SOA) 中,主要伺服器就填寫你的域名;而負責人當然就是你自己的名字囉。必須注意的是,這些項目的後面還要多加一個點(.),例如 example.idv.tw. 及 webmaster.,這樣才是正確的表達方式。

接下來,在設定名稱伺服器 (NS) 之前,我們必須先設定幾台主機的名稱,來作為 DNS Server 使用。首先在左方的域名名稱項目上按右鍵、選新增主機 (A)...,輸入你想要的主機名稱(例如 dns1)以及主機 IP。因為域名商那邊通常會要求設定兩組 DNS 伺服器,所以我們要用同樣的方式新增兩筆主機資料(例如 dns1 及 dns2)。

接下來就是要設定名稱伺服器 (NS)了。點兩下進入設定畫面後,輸入剛剛設定的兩組 DNS Server 資料。必須注意的是,這邊跟剛剛一樣,在後面都必須多加一個點(.),例如 dns.example.idv.tw. 這樣才對。

基本設定到這邊算是告一段落了。接下來,你可以用前面提到的新增主機的方式,繼續加入你需要的次網域名稱,例如 www、mail、ftp 等等。如果你需要 MX Record,新增的方式也是大同小異,只要注意如果是輸入 FQDN 的話,後面必須都要再加個點才正確。雖然,如果真的忘了加的話,在關閉主控視窗後,系統還是會自動幫你修正,不過好習慣還是要先養成會比較好喔。

全部好了之後,自己主機上的設定就算告一段落了。那要怎麼讓網路上的其他人知道有你這台 DNS Server 呢?這部分的設定就在域名商的操作介面內啦!

首先,登入你當初註冊域名的機構的網站,進到 DNS 設定 / 轉址 / 動態 DNS 的設定畫面中,選擇自行架設 DNS 伺服器,然後將剛剛設定好的兩台伺服器名稱(dns1.example.idv.tw 和 dns2.example.idv.tw)以及對應的 IP 設定上去,經過一段時間後就會生效了。雖然說理論上這些紀錄最慢要 24 ~ 72 小時才會生效,不過根據經驗,最多大約只要幾個小時的時間,就可以確認你的伺服器是不是有正常運作了。