幾年前第一次接觸到活動目錄的時候,正是領導要求部署活動目錄的時候。雖然當時手頭上有幾本書,但是時間緊迫沒有來得及仔細研究。邊看著幫助邊運行dcpromo就開始活動目錄的部署了,相信不少人和我當年差不多,稀裡糊塗的就開始當起了活動目錄的管理員。對於DNS,因為安裝會提示自動部署,相信很多人都不會在這方面下很多功夫(包括我原來也是)。我為此付出了不少代價--因為不懂DNS所以遇到DNS的問題不知如何解決。我有保存論壇上感興趣帖子的習慣(顯然直接另存是保存不下來的),我保存有關DNS問題的帖子數量,占各種問題的第三位(我也很吃驚)。 g,>S{#]T \
Fd]sZsV
但是論壇上也沒有很系統的關於DNS的總結(這畢竟是一個可以寫成一本書的很大的方面)。我通過對自己收藏的帖子和參考書的閱讀,加上自己經驗的總結得出一些操作方面的結論和總結。希望對大家能有所幫助,因為我不擅長DNS(在論壇上我也很少給朋友解決DNS問題),所以我想肯定有我寫錯的地方,我希望斑竹們能幫忙校正(我臉皮厚)。我的真正目的是通過這篇文章認識到我在DNS方面都存在哪些誤解(我還是挺有私心的)。 S\Sa8d0n)
S5gqdE
閒話少說,書歸正傳。 Ri$-y[:f
{5J$'-
有過DNS域部署經驗的朋友都能感覺到,活動目錄的DNS、DHCP和WINS(用的不多了)和NetBios是息息相關的。也是很容易混淆的。所以很麻煩,通常我們開始部署AD的時候是在一個小公司裡,大約有幾十台電腦的局域網。人員流動不是很頻繁,所以的電腦也差不多的天天都開。很少有電腦會換地方,我們全都使用DNS的默認配置就可以很少會出問題。但這樣的地方我們不能待一輩子,我們來到一個相對復雜的網絡環境時,意識到自己缺乏對DNS的起碼常識,怎麼辦?為了在遇到難題時能正確表述自己的問題(否則別人想幫你都沒辦法,除了UP我們更重要的是說清楚自己的問題和聽明白高手的意思)那麼和我一樣從基礎開始吧。 =7Y07CIk
Cj`!9_,
什麼樣的DNS系統是一個比較完美的系統呢?Dns服務器的連續性能提供出色的性能,減少WAN的通信,安全性也必須得到保障。 v()|(H X0
%9V7>-C M
我們先從概念開始 OI 7doP
1A5![ F1`
1。DNS和活動目錄關系 L^xnh9|z
BPL*.
DNS定義“命名空間”(名字空間)---微軟把例如“contoso.com”的東東叫命名空間,這個空間內的主機儲存在一個“區域文件”(zonefile)裡---主要是一種映射的關系(中學數學就有映射的概念) 7PQ"OceuwF
<Kx\N!n8u
活動目錄的域(domain)“存儲域和域中的對象”,把用戶、租計算機帳戶記錄組注冊表的SAM裡。---當然域不止這些內容。 4Ol$)*
TBu2RAgV
DNS和域的結合--完全合格域名(FQDN):例如srv1.contoso.com--說明了srv1主機位於contoso.com這個域裡面。 *a}fY3/XPI
{PiI=xs3
注意: &~.AvB
zKTFV
DNS的結構中,頂級域com.的末尾是有一個句點"."的。DNS解析器是從左到右解析FDQN(看看上面FDQN的例子)的,最後到“.”結束。因為windows的DNS會自動在末尾添加“.”所以我們很容易忘了它的存在,在我們檢測DNS(尤其是命令行方式)最好加上末尾的這個"."正因為根域上有這個點,所以我們在林根的DNS上設置轉發的時候會發現那個轉發器的選現是灰的,不讓你設置,因為"."認為自己是根了,沒必要轉發。所以解決的方法是刪掉這個點,才能轉發(刪掉後就不會灰色可以選擇轉發了)。 FO\1/]0k
v}}[0{^(
如果沒有行政方面的要求你完全可以在域裡使用例如devil.coco的域名稱,不一定非要.net或者.com.即使父域叫contoso.com,子域也可以叫devil.coco。 b2NpXtuM>
Qtpl{#.LV
當一個企業在做DNS規劃時要注意。當企業外部服務(例如網站)需要在internet上注冊名稱(例如,公司.com)。如果企業內部使用活動目錄,那麼要使內外部使用不同的名字或者內部的活動目錄使用外部名稱的一個子域。例如:“contoso.com”,作為企業在internet上的網站,使用www.contoso.com域名。內部的域可以使用contoso.net或者corp.contoso.com作為DNS名。如果不這麼做將有可能使內部和外部名稱空間出現重疊。客戶端登陸域或訪問internet都將可能產生問題。尤其當涉及網絡地址轉換(NAT)並且外部IP地址處於內部客戶端夠不到的范圍中時就會有麻煩了(了解NAT的人應該知道,如果客戶端不配置可以正確解析外部地址的DNS是無法訪問相關網站的.)。
:CLurfC
除此之外還有一種“僅緩存名稱服務器”(caching-onlynameserver),它上面僅保存緩存的查詢結果(從輔助Dns服務器那裡獲得),以便使客戶端盡快獲得查詢信息。 k}Y+TzjkY
U-> ]c
這種機制讓人想起NT時代的主域控制器和備份域控制器――當然這是一種脆弱的機制。微軟為了能多湊合一些時間,允許任何運行DNS的DC都能被設置為它所在域的主Dns服務器。 It)yJ@T
^zU @WO
4.權威性應答與非權威性應答 w-$vIP
+}9TBK
naq`%~/N+
" |[#MN
按照我的理解,如果DNS服務器在自己的區域文件裡找到了客戶端需要查詢的記錄,就會返回一個權威性應答。―――例如客戶端要查找srv1.contoso.com主機的IP地址。在contoso.com的DC(也就是Dns服務器)上查找該主機的“A記錄”,我們找到了。就把記錄內容通過DNS應答的方式發還給客戶端,這就是一個權威性應答。――當然實際的查詢方式比較復雜遠沒有我說的這麼簡單。 !B` pWQBd
%*gDG5<
此外,如果Dns服務器最近被查找過該主機(可能其他客戶端也查找過)記錄,就會在緩存裡找到記錄應答客戶端――當然上一種方法快。 6 TS0 MI
|W9D`
如果該DC服務器找不到srv1.contoso.com主機的A記錄,就會返回(RecordNotFound)應答――同樣也是權威性應答 ] /Q t LJ-
]ZiN&t5!j
如果接到DNS查詢請求的服務器不是contoso.com的DC(Dns服務器),那麼有3種方法處理該請求:
[@LP0$"+