ad_728x90

2013年12月24日 星期二

在Mac OS X Server架設DNS伺服器....



from:http://www.bnw.com.tw/conference/viewtopic.php?f=99&t=2701


請先閱讀前篇: 關於 apple.com 的 DNS 網域名稱伺服器,了解一下Apple的DNS伺服器設定,順便比對一下Apple網站與BNW網站的DNS設定方式有哪些不同? :lol: 



DNS是Domain Name System網域名稱系統的縮寫,所有的網站都必須靠DNS把網域名稱,例如apple.com解析為一組IP位址數字,解析的方式非常簡單,就是查DNS伺服器上記錄的資料表,看看apple.com網域對應那些IP位址即可。

當瀏覽器開啟一個網站的時候,就需要透過DNS查詢才能使用apple.com來開啟蘋果網站,如果沒有設定好DNS伺服器,那就只能用IP位址的方式,例如: http://220.130.181.99/ 來開啟網站了。

使用別人架設好的DNS Server當然是一件輕鬆簡單的事情,甚至很多會上網的user連DNS是什麼都不知道也沒關係,但哪天換成自己要架設網站,那就得先了解一下什麼是DNS Server。

在架設自己的DNS伺服器以前,不妨先去了解一下別人的網站是如何設定他的DNS Server?你可以在這個網站查詢全球任何一個網站的DNS資訊,不過他們網站限定每天只能查詢10次:

http://www.dnsreport.com/

如果看不到查詢的網頁結果,只好明天請早,或是過幾天再試試看了。我以apple.com為例,看看蘋果的DNS伺服器是如何設定的呢? :lol: 
在DNSreport輸入你想要查詢的網域名稱,請注意只是網域名稱,例如example.com,不可以是www.example.com或是IP位址!



稍後就會看到DNSreport跑去調查apple.com的DNS伺服器,所做出的一份調查報告書。接下來我用同樣的方式,透過DNSreport來調查自己架設的DNS伺服器。

事實上以前我是使用Windows Server 2000/2003來架設DNS伺服器,現在則是改用Mac OS X Server 10.4內建的DNS Server,雖然這兩種DNS Server的設計方式有很大的不同,但基本上都能達到相同的目的。

不過單純以DNS伺服器來說,Windows Server 2003提供的DNS功能強大,也比較容易操作使用,這點Mac OS X Server就吃了很大的虧,在Server Admin管理界面裡,提供的DNS設定欄位有限,超出的部份得自己修改位於 /var/named/ 檔案夾裡面的bnw.com.tw.zone設定檔,這是純文字格式,可以使用文字編輯或BBedit等工具加以修改。

但問題是如果你手動修改了example.com.zone設定檔,重新啟動DNS Server以後,會導致Server Admin再也無法管理DNS伺服器,甚至可能讓Server Admin當掉!Mac OS X承襲了UNIX文字設定檔的壞習慣,這點倒是滿吃虧的... :Orz 

換句話說,純粹以架設DNS伺服器來看,Mac OS X Server確實是遠不如Windows Server來得簡單好用。 :oops: 
不過我還是決定改用Mac OS X Server來架設DNS伺服器,因為... Windows再怎樣簡單好用,只要中木馬、感染病毒,這下就會上演Ghost或是重裝系統的戲碼... >:) 

從DNSreport的調查報告網頁,你可以看到在Parent母網域部份,BNW網站只有兩部DNS伺服器,分別是mserver.bnw.com.tw、nserver.bnw.com.tw,後面則是這兩部伺服器對應的IP位址。
由於台灣的網域都是由twnic.net.tw負責管理,因此bnw.com.tw的上層網域就是TWNIC。後面的TTL=86400是指DNS設定值的存活時間,TTL是Time To Leave的縮寫,超過這個時間的快取就會失效,而必須重新快取。這項設定似乎比apple.com的TTL=432000要小很多,86400其實是預設值,可能是某次我重新設定DNS的時候忘記修改bnw.com.tw.zone設定檔,這個問題我已經修正好了,下次你透過DNSreport調查BNW的DNS伺服器,應該會看到TTL=432000這樣的數字。 :lol: 



在NS名稱伺服器欄位,BNW比Apple多了一個警告,我們在Single Point of Failure項目都得到一個黃牌的WARN警告!說是有兩筆NS記錄指向同一台伺服器主機,事實上這並沒有什麼太大的問題,因為IP與伺服器主機不夠使用,所以www.bnw.com.tw與mac.bnw.com.tw其實是同一台網站伺服器主機,共用相同的IP位址。

為什麼BNW會得到一個WARN黃牌警告? :-? 

因為滑鼠指標所指的Nameserver on separate class C's名稱伺服器必須位於分開的C網段,由於BNW目前只有一條4M/1Mbps、3個IP的ADSL線路,因此這兩台DNS伺服器主機勢必會在同一個class C網段以內,因此這項測試的結果當然會得到WARN黃牌警告!不過這並不是錯誤,所以這兩台DNS伺服器仍然可以正常運作。 :lol: 



在SOA欄位你可以看到BNW的DNS全部都是All PASS!喔耶~ :clip: :clip: :clip: 
SOA是Start of Authority啟動授權的縮寫。什麼是SOA?請參考微軟的技術支援網頁:

DNS SOA 記錄的結構

任何網域名稱系統 (DNS) 區域檔案中的第一筆資源記錄應該的啟動授權 (SOA) 資源記錄。 SOA 資源記錄指出這台 DNS 伺服器名稱是最佳的資訊為這個 DNS 網域內的資料來源。

SOA 資源記錄包含下列資訊:

● 來源主機的主機檔案的位置是建立的。(註:微軟翻譯機器人的品質也沒有很好,原文應該是The host name for the primary name server for the zone. 也就是網域主要名稱伺服器的主機名稱)。

● 電子郵件 - 負責管理網域的區域檔案的電子郵件地址。 請注意, 是用來代替的 " 「 @ 」 在電子郵件名稱的 "。

● 序號 - 區域檔案的修訂編號。 每次變更區域檔案是這個數字遞增。 很重要, 做了變更, 每次遞增這個值, 以便變更將會散發至任何次要 DNS 伺服器。

● 重新整理時間 - The time in seconds, 次要 DNS 伺服器等待查詢來檢查是否有變更主要 DNS 伺服器的 SOA 記錄 當重新整理的時間過期, 次要 DNS 伺服器會要求從主要的目前 SOA 記錄複本。 主要 DNS 伺服器符合與這個要求。 次要 DNS 伺服器會比較主要 DNS 伺服器的目前 SOA 記錄的序號與在其自己的 SOA 記錄序號。 從主要 DNS 伺服器如果它們是否不同, 次要 DNS 伺服器會要求區域轉送。 預設值為 3,600。

● 重試時間 - The time in seconds, 次要伺服器等待重試失敗的區域轉送 重試時間, 通常是小於重新整理的時間。 預設值為 600。

● 過期時間 - The time, in 秒, 次要伺服器將保留嘗試完成區域轉送。 如果這次到期, 才能成功的區域轉送, 次要伺服器將到期的區域檔案。 這表示次要資料庫將會停止接聽查詢, 如認為其太舊, 無法被可靠的資料。 預設值是 86,400。

● 最小 TTL - time - to - 存活的最小值套用至區域檔案中所有資源記錄。 這個值是提供在查詢回應, 以通知其他伺服器多久他們應該保留資料快取中。 預設值為 3,600。




BNW只架設了一部郵件伺服器主機,所以只有一筆MX record記錄,郵件伺服器主機的網域名稱是mail.bnw.com.tw。為了避免收到一堆垃圾信件,我在防火牆上設定了只准某些網域的IP網段才可以寄信給我們,因此會有很多垃圾人無法直接寄信到BNW! >:) 
在MX記錄的最後一筆是Reverse DNS entries for MX records,也就是反解網域名稱,你可以看到有一筆從IP位址反查網域名稱的記錄。



在Mail欄位調查項目,你可以看到全部都是All PASS!這表示我們的DNS伺服器與Mail郵件伺服器主機的架設都沒有問題~ :lol: 
在最後一項SPF record,這是用來避免讓你的郵件伺服器,被大家當成是不知名的spammers垃圾傢伙!因此SPF記錄是一項很重要的設定,你可以在這個網站,透過Setup Wizard設定精靈來幫你產生SPF記錄:

http://old.openspf.org/index.html

你只要把這筆SPF記錄複製到bnw.com.tw.zone設定檔,然後重新啟動DNS Server即可。設定完畢並經過一天時間以後,你可以透過這個網站來確認SPF記錄有沒有生效?

http://www.kitterman.com/spf/validate.html



在WWW欄位各項測試也都全部All PASS! :lol: 
最後一個欄位Domain A Lookup沒辦法在Mac OS X Server的Server Admin設定,只能自己動手在bnw.com.tw.zone設定檔新增一筆記錄,讓bnw.com.tw網域名稱能對應到一組IP位址。從畫面上來看,其實這組IP位址就是負責擔任BNW的首頁伺服器的IP位址。



回顧以上的設定,你可以看到BNW的DNS伺服器主機,除了兩個WARN黃牌警告,並沒有FAIL失敗的紅色錯誤訊息! :lol: 
如果你架設的DNS Server有看到太多WARN與FAIL,就得檢查一下什麼地方設錯了?當DNS Server無法正常運作,網頁伺服器、郵件主機與全部的網站伺服器,通通會無法正常運作!請善用DNSreport網站工具,幫你把DNS調整到最佳的狀態! :-)

COMMENTS HAVE BEEN DISABLED FOR THIS POST [文章的評論已被禁用]

Ratings and Recommendations by outbrain