首先要感謝台灣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 小時才會生效,不過根據經驗,最多大約只要幾個小時的時間,就可以確認你的伺服器是不是有正常運作了。
小弟幫忙補充一點:在DNS Server上如果有安裝防火牆,請記得打開TCP 53以及UDP 53,不然還是會痴痴的等喔...=.=
一個只記得TCP卻忘了UDP的傢伙
評論由 Vinix 發表 @ 七月 20 日, 2007 3:51 下午
謝謝 Vinix 不吝分享自己的心得
評論由 C.H.Weng 發表 @ 七月 24 日, 2007 7:04 下午
請問一下
我DNS一架好之後
dns.exe 的 udp 數 會增加到 『至少』 2500筆
你用 netstat -a 就可以看到了
這是怎麼回事呢?
謝謝
評論由 daniel 發表 @ 七月 17 日, 2008 2:16 下午
這我倒是沒注意過耶。
我自己的經驗是沒有增加這麼多連線數,對電腦效能也幾乎沒有影響。
這方面我也不是專家,很多事情都是知其然不知其所以然。所以可能要請你再另請高明囉。
評論由 C.H.Weng 發表 @ 七月 21 日, 2008 8:22 上午
您好我有個問題想詢問,我網域是在網路中文申請的,再填入自管DNS時,他要求輸入兩組Server與IP,且這兩組IP不得相同,請問這樣如何設定呢?
評論由 Sinchen 發表 @ 一月 19 日, 2010 5:38 下午
一般來說,IP 應該是可以相同的喔。多設一組主機名稱(A)給他,IP 都設一樣應該就可以了。
評論由 C.H.Weng 發表 @ 一月 19 日, 2010 7:28 下午
真的耶.設定好.再根據Vinix補充的設定後.竟然就可以輸入網址看到自己的網頁.太感動了.
評論由 andy 發表 @ 六月 21 日, 2011 10:43 上午
接下來,在設定名稱伺服器 (NS) 之前,我們必須先設定幾台主機的名稱,來作為 DNS Server 使用。首先在左方的域名名稱項目上按右鍵、選新增主機 (A)...,輸入你想要的主機名稱(例如 dns1)以及主機 IP。因為域名商那邊通常會要求設定兩組 DNS 伺服器,所以我們要用同樣的方式新增兩筆主機資料(例如 dns1 及 dns2)。
你好,請問上述要輸入dns的主機ip,這個ip是公司內部的假ip,或是internet網絡上的真ip?
謝謝
評論由 Kenneth 發表 @ 十月 27 日, 2011 12:47 下午