微軟學(xué)習(xí):關(guān)于DNS的不完全總結(jié)

字號(hào):

幾年前第一次接觸到活動(dòng)目錄的時(shí)候,正是領(lǐng)導(dǎo)要求部署活動(dòng)目錄的時(shí)候。雖然當(dāng)時(shí)手頭上有幾本書,但是時(shí)間緊迫沒有來(lái)得及仔細(xì)研究。邊看著幫助邊運(yùn)行dcpromo就開始活動(dòng)目錄的部署了,相信不少人和我當(dāng)年差不多,稀里糊涂的就開始當(dāng)起了活動(dòng)目錄的管理員。對(duì)于DNS,因?yàn)榘惭b會(huì)提示自動(dòng)部署,相信很多人都不會(huì)在這方面下很多功夫(包括我原來(lái)也是)。我為此付出了不少代價(jià)--因?yàn)椴欢瓺NS所以遇到DNS的問(wèn)題不知如何解決。我通過(guò)對(duì)論壇上的帖子和參考書的閱讀,加上自己經(jīng)驗(yàn)的總結(jié)得出一些操作方面的結(jié)論和總結(jié)。希望對(duì)大家能有所幫助。
    有過(guò)DNS域部署經(jīng)驗(yàn)的朋友都能感覺到,活動(dòng)目錄的DNS、DHCP和WINS(用的不多了)和NetBios是息息相關(guān)的。也是很容易混淆的。所以很麻煩,通常我們開始部署AD的時(shí)候是在一個(gè)小公司里,大約有幾十臺(tái)電腦的局域網(wǎng)。人員流動(dòng)不是很頻繁,所以的電腦也差不多的天天都開。很少有電腦會(huì)換地方,我們?nèi)际褂肈NS的默認(rèn)配置就可以很少會(huì)出問(wèn)題。但這樣的地方我們不能待一輩子,我們來(lái)到一個(gè)相對(duì)復(fù)雜的網(wǎng)絡(luò)環(huán)境時(shí),意識(shí)到自己缺乏對(duì)DNS的起碼常識(shí),怎么辦? 為了在遇到難題時(shí)能正確表述自己的問(wèn)題(否則別人想幫你都沒辦法,除了UP我們更重要的是說(shuō)清楚自己的問(wèn)題和聽明白高手的意思)那么和我一樣從基礎(chǔ)開始吧。
    什么樣的DNS系統(tǒng)是一個(gè)比較完美的系統(tǒng)呢?DNS服務(wù)器的連續(xù)性能提供出色的性能,減少WAN的通信,安全性也必須得到保障。我們先從概念開始。
    1.DNS和活動(dòng)目錄關(guān)系
    DNS定義“命名空間”(名字空間)---微軟把例如“contoso.com”的東東叫命名空間,這個(gè)空間內(nèi)的主機(jī)儲(chǔ)存在一個(gè)“區(qū)域文件”(zone file)里---主要是一種映射的關(guān)系(中學(xué)數(shù)學(xué)就有映射的概念)
    活動(dòng)目錄的域(domain)“存儲(chǔ)域和域中的對(duì)象”,把用戶、租計(jì)算機(jī)帳戶記錄組注冊(cè)表的SAM里。---當(dāng)然域不止這些內(nèi)容。
    DNS和域的結(jié)合--完全合格域名(FQDN):例如srv1.contoso.com--說(shuō)明了srv1主機(jī)位于contoso.com這個(gè)域里面。
    注意:
    DNS的結(jié)構(gòu)中,域com.的末尾是有一個(gè)句點(diǎn).的。DNS解析器是從左到右解析FDQN(看看上面FDQN的例子)的,最后到“.”結(jié)束。因?yàn)閣indows的DNS會(huì)自動(dòng)在末尾添加“.”所以我們很容易忘了它的存在,在我們檢測(cè)DNS(尤其是命令行方式)加上末尾的這個(gè).正因?yàn)楦蛏嫌羞@個(gè)點(diǎn),所以我們?cè)诹指腄NS上設(shè)置轉(zhuǎn)發(fā)的時(shí)候會(huì)發(fā)現(xiàn)那個(gè)轉(zhuǎn)發(fā)器的選現(xiàn)是灰的,不讓你設(shè)置,因?yàn)?認(rèn)為自己是根了,沒必要轉(zhuǎn)發(fā)。所以解決的方法是刪掉這個(gè)點(diǎn),才能轉(zhuǎn)發(fā)(刪掉后就不會(huì)灰色可以選擇轉(zhuǎn)發(fā)了)。
    如果沒有行政方面的要求你完全可以在域里使用例如devil.coco的域名稱,不一定非要.net或者.com.即使父域叫contoso.com,子域也可以叫devil.coco。
    當(dāng)一個(gè)企業(yè)在做DNS規(guī)劃時(shí)要注意。當(dāng)企業(yè)外部服務(wù)(例如網(wǎng)站)需要在internet上注冊(cè)名稱(例如,公司.com)。如果企業(yè)內(nèi)部使用活動(dòng)目錄,那么要使內(nèi)外部使用不同的名字或者內(nèi)部的活動(dòng)目錄使用外部名稱的一個(gè)子域。例如:“contoso.com”,作為企業(yè)在internet上的網(wǎng)站,使用www.contoso.com域名。內(nèi)部的域可以使用contoso.net或者corp.contoso.com作為DNS名。如果不這么做將有可能使內(nèi)部和外部名稱空間出現(xiàn)重疊。客戶端登陸域或訪問(wèn)internet都將可能產(chǎn)生問(wèn)題。尤其當(dāng)涉及網(wǎng)絡(luò)地址轉(zhuǎn)換 (NAT) 并且外部 IP 地址處于內(nèi)部客戶端夠不到的范圍中時(shí)就會(huì)有麻煩了(了解NAT 的 人應(yīng)該知道,如果客戶端不配置可以正確解析外部地址的DNS是無(wú)法訪問(wèn)相關(guān)網(wǎng)站的.)。
    DNS和活動(dòng)目錄使用各自不同的數(shù)據(jù)庫(kù)解析名字。關(guān)于這一點(diǎn)我覺得對(duì)于實(shí)際操作意義不大所以不說(shuō)了有興趣的看看上面提到的那個(gè)帖子。
    2.hosts文件
    很多帖子里都有人回復(fù)說(shuō),看看那個(gè)hosts文件有沒有問(wèn)題,或者說(shuō)修改那個(gè)hosts文件里的什么地方(例如屏蔽QQ)。這是為什么?
    hosts存在的目的:減少DNS服務(wù)器的工作量,如果客戶端查找的一個(gè)主機(jī)名在hosts文件里有記錄(說(shuō)明不久前訪問(wèn)過(guò)),那么客戶端就不必找DNS服務(wù)器了直接就知道了該主機(jī)的IP。我們可以用記事本打開hosts文件。找不到?一般在這里C:\WINDOWS\system32\drivers\etc 這里除了hosts還有好幾個(gè)文件,也能用記事本打開。都是和TCP/IP相關(guān)的,詳細(xì)我就不說(shuō)了跟DNS關(guān)系不大。
    TTL(生存時(shí)間),DNS記錄必須有TTL,Hosts中得緩存超過(guò)了ttl就將被刪除,否則DNS得改變將無(wú)法在hosts文件中體現(xiàn)。
     我們需要一個(gè)具體的例子:
    有天,客戶發(fā)現(xiàn)srv1.contoso.com主機(jī)無(wú)法訪問(wèn)了,我們查看DNS表,發(fā)現(xiàn)確實(shí)沒有相關(guān)A記錄了。我們手動(dòng)添加了記錄,但是客戶還是抱怨無(wú)法訪問(wèn)該主機(jī)――因?yàn)榭蛻舳说木彺胬锢?,還是認(rèn)為該主機(jī)無(wú)法訪問(wèn)。這時(shí)我們就必須在客戶的電腦上運(yùn)行ipconfig/ flushdns 來(lái)清除緩存信息。是的,服務(wù)器也有緩存。服務(wù)器清理緩存的命令是dnscmd /clearcache
    3.主DNS服務(wù)器和輔助名稱服務(wù)器
    這個(gè)概念在論壇上也無(wú)數(shù)次的被提起,我覺得還是有必要說(shuō)明一下的。照例我不會(huì)用很專業(yè)的詞匯,需要考MCSE的朋友不要看我寫的東西。
    我是這樣認(rèn)為的,DNS服務(wù)器把所有資源記錄到一個(gè)文件中(zone file)。只有“主DNS服務(wù)器”能對(duì)該文件進(jìn)行寫操作(能修改DNS記錄),輔助DNS服務(wù)器從主DNS服務(wù)器(或者其他輔助DNS服務(wù)器)那里獲得該文件的拷貝(默認(rèn)24小時(shí)得不到拷貝的話,輔助DNS服務(wù)器就將失效)。
    除此之外還有一種“僅緩存名稱服務(wù)器”(caching-only name server),它上面僅保存緩存的查詢結(jié)果(從輔助DNS服務(wù)器那里獲得),以便使客戶端盡快獲得查詢信息。
    這種機(jī)制讓人想起NT時(shí)代的主域控制器和備份域控制器――當(dāng)然這是一種脆弱的機(jī)制。微軟為了能多湊合一些時(shí)間,允許任何運(yùn)行DNS的DC都能被設(shè)置為它所在域的主DNS服務(wù)器。