dns詳解
鳥哥的 Linux 私房菜為取得較佳瀏覽結(jié)果,請(qǐng)愛用 firefox 瀏覽本網(wǎng)頁| 鳥站首頁 | 基礎(chǔ)學(xué)習(xí) | 伺服器架設(shè) | 企業(yè)應(yīng)用 | 桌面應(yīng)用 | 安全管理 | 鳥站討論板 | 酷學(xué)園 |
鳥哥的 Linux 私房菜
為取得較佳瀏覽結(jié)果,請(qǐng)愛用 firefox 瀏覽本網(wǎng)頁
| 鳥站首頁 | 基礎(chǔ)學(xué)習(xí) | 伺服器架設(shè) | 企業(yè)應(yīng)用 | 桌面應(yīng)用 | 安全管理 | 鳥站討論板 | 酷學(xué)園 | 書
籍戡誤 | 關(guān)於鳥哥 | 崑山資傳 |
DNS 伺服器
切換解析度為 800x600
最近更新日期:2我們知道電腦網(wǎng)路系統(tǒng)只認(rèn)識(shí)所謂的 IP ,但是,您可能記得住網(wǎng)路上面所有主機(jī)的 IP 嗎? 就鳥哥來說,連的主機(jī)的 IP 都記不起來了,怎麼可能連其他的主機(jī) IP 都記的??! 因?yàn)?,人腦對(duì)於數(shù)字組成的 IP 的記憶實(shí)在不怎麼樣。 但是,相對(duì)來說,人們對(duì)於由文字所組成的主機(jī)名稱那可以容易記憶的多了~ 所以,才會(huì)發(fā)展出可給 Domain Name System ( DNS )去搞定吧!
由主機(jī)名稱( hostname )對(duì)應(yīng)到電腦 IP 的一個(gè)模式,這樣我們就可以輕輕鬆鬆的記住主機(jī)名稱即可,電腦 IP 那
那個(gè) DNS 系統(tǒng)是由柏克萊大學(xué)發(fā)展的 bind 這個(gè)套件( Berkeley Internet Name Domain )所提供的啦!基本上,DN 主要的工作就是將 Hostname 對(duì)應(yīng)到 IP 這個(gè)功能了,不過,要架設(shè)一個(gè)成功的 DNS 主機(jī)的話,還得要對(duì)於 DN 運(yùn)作很清楚才行啊!否則架設(shè)的不對(duì),還反而會(huì)造成大家的問題喔!這個(gè)章節(jié)當(dāng)中, 要學(xué)會(huì)的資料其實(shí)還蠻多DNS 的授權(quán)問題等等。 哇!趕快清一清腦門,要好好的用功囉! ^_^ 需要瞭解:什麼是正解、什麼是反解、什麼是 Zone 、客戶端 ( Client ) 是經(jīng)由什麼咚咚來查詢得到 IP 的呢?!
1. 本章的行前準(zhǔn)備工作
2. 甚麼是 DNS :
2.1 什麼是 Domain Name System
2.2 DNS 的查詢過程
2.3 關(guān)於『授權(quán)』的意義
2.4 網(wǎng)站代管還是自己設(shè)定 DNS
2.5 正解與反解的 Zone 意義
3. DNS 伺服器的套件、種類與 cache only 主機(jī)設(shè)定:
3.1 架設(shè) DNS 所需要的套件
3.2 BIND 的預(yù)設(shè)路徑設(shè)定與 chroot , /etc/sysconfig/named
,3.3 DNS 的 master/slave 架構(gòu)
3.3 單純的 cache-only 與 forwarding DNS 主機(jī)設(shè)定
4. DNS Master 伺服器機(jī)的詳細(xì)設(shè)定
4.1 一個(gè)簡單案例說明
4.2 /etc/named.conf 設(shè)定檔
4.3 最上層 DNS (root) 資料庫檔案的設(shè)定
4.4 正解資料庫檔案的設(shè)定: 領(lǐng)域 RR , master/slave RR, 領(lǐng)域解析 NS , 正解標(biāo)誌
4.5 反解資料庫檔案的設(shè)定: 反解 RR
4.6 DNS 的啟動(dòng)與觀察
4.7 資料庫的更新
4.8 測試
5. Master/Slave 架構(gòu)的詳細(xì)設(shè)定
5.1 master DNS 權(quán)限的開放
5.2 slave DNS 的設(shè)定
6. Client 端的設(shè)定:
6.1 相關(guān)設(shè)定檔: /etc/hosts, /etc/resolv.conf, /etc/nsswitch.conf
6.2 DNS 的查詢指令: host , nslookup , dig
6.3 Domain 的資訊查詢: whois
7. DNS 伺服器的進(jìn)階設(shè)定:
7.1 子網(wǎng)域授權(quán)問題
7.2 架設(shè)一個(gè)合法授權(quán)的 DNS 主機(jī)
7.3 LAME Server 的問題
,7.4 利用 RNDC 指令管理 DNS 伺服器
7.5 架設(shè)動(dòng)態(tài) DNS 主機(jī):讓你成為 ISP 啦!
8. 重點(diǎn)回顧
9. 課後練習(xí)
10. 參考資料
11. 針對(duì)本文的建議:http://phorum.vbird.org/viewtopic.php?p=115692
本章的行前準(zhǔn)備工作
人類的腦袋對(duì)於數(shù)字畢竟不比文字來的敏感,偏偏電腦的世界僅認(rèn)識(shí) 0/1 而已。 為了將兩者兜在一起主機(jī)名稱與 IP 的對(duì)應(yīng)啊~而這個(gè)對(duì)應(yīng)的協(xié)定就是 DNS 了。 學(xué)習(xí) DNS 你必需要對(duì)網(wǎng)路有一定的概念主機(jī)名稱的說明喔!
瞭解網(wǎng)路基礎(chǔ),防火牆與關(guān)閉 SELinux 模組等等。
? 由於你可能會(huì)手動(dòng)修改 /etc/init.d/named ,所以 shell script 也要瞭解! ?
什麼是 DNS
目前的 Internet 世界最常用的還是所謂的 TCP/IP 協(xié)定,其中 IP 協(xié)定為第四版的 IPv4 。 不過,這個(gè)由 32 個(gè)位元 (32 bits) 所組成,為了人腦已經(jīng)轉(zhuǎn)成四組十進(jìn)位的數(shù)字了, 例如 123.234.56.78 這樣的格我們利用 Internet 傳送資料的時(shí)候, 就需要這個(gè) IP ,否則資料怎麼知道要被送到哪裡去?
Tips:
傳送資料的方法有很多,不見得全部都是透過 IPv4 這個(gè)協(xié)定,例如在 LA N 裡面常
用的 NetBIOS 就是一例。 不過,在這裡,我們不討論其他的傳輸方法,專門探討
IPv4 這個(gè)協(xié)定喔!
然而人腦對(duì)於 IP 這種數(shù)字的玩意兒,記憶力實(shí)在是不怎麼樣。但是如上所說, 當(dāng)我們需要資料傳輸時(shí)要對(duì)方的 IP ,怎麼辦?為了應(yīng)付這個(gè)問題, 早期的朋友想到一個(gè)方法,那就是利用某些特定的檔案將與 IP 作一個(gè)對(duì)應(yīng), 讓主機(jī)名稱與 IP 有關(guān)連性,如此一來,我們就可以透過主機(jī)名稱來取得該主機(jī)的真是個(gè)好主意,因?yàn)槿祟悓?duì)於名字的記憶力可就好多了! ^_^y。
可惜的是,該方法還是有缺憾的,那就是主機(jī)名稱與 IP 的對(duì)應(yīng)無法自動(dòng)於所有的電腦內(nèi)更新, 且要加僅能向 INTERNIC 註冊,若 IP 數(shù)量太多時(shí),該檔案會(huì)大到不像話,也就不利於主機(jī)同步化了。 而為個(gè)缺憾,柏克萊大學(xué)發(fā)展出另外一套階層式管理主機(jī)名稱對(duì)應(yīng) IP 的系統(tǒng), 我們稱他為 Berkeley InternDomain, BIND ,這個(gè)系統(tǒng)可就優(yōu)秀的多了~ 透過階層式管理,可以輕鬆的進(jìn)行維護(hù)的工作~太棒了! 前全世界使用最廣泛的領(lǐng)域名稱系統(tǒng)(Domain Name System, DNS)哩~ 透過 DNS ,
我們不需要知道主機(jī)
,只要知道該主機(jī)的名稱,就能夠輕易的連上該主機(jī)了!
Tips:
在底下的說明當(dāng)中,我們有時(shí)會(huì)提到 DNS 有時(shí)會(huì)提到 BIND ,這有什麼不同? 由
上面的說明裡面,您可以瞭解到, DNS 是一種網(wǎng)際網(wǎng)路的通訊協(xié)定名稱, 至於 Bind
則是提供這個(gè) DNS 服務(wù)的套件~這樣您瞭解了嗎?!
那麼要立刻來架設(shè) DNS 主機(jī)嗎?當(dāng)然不是~如同上面說的,網(wǎng)際網(wǎng)路上面, 資料的傳輸最重要的就是道對(duì)方的 IP ,如此才能達(dá)成連線。因此, 架設(shè) DNS 就必須要瞭解整體網(wǎng)際網(wǎng)路的領(lǐng)域名稱架構(gòu),否則,一架設(shè)錯(cuò)誤, 可能會(huì)造成您所管轄的主機(jī)無法正確的在 Internet 上頭傳輸資料的問題!
所以,要設(shè)定 DNS 之前,您必須要就領(lǐng)域名稱系統(tǒng)裡面慣用的 FQDN 、Hostname 與 IP 的查詢流程,反解、合法授權(quán)的 DNS 主機(jī)之意義,以及 Zone 等等的知識(shí)作一個(gè)認(rèn)識(shí)才行! 這可是很重要的,不要了!
Tips:
事實(shí)上,由於 IPv4 的 IP 數(shù)量已經(jīng)不足了,為了應(yīng)付未來的網(wǎng)路架構(gòu)而開發(fā)了 IPv6
出來。 但是 IPv6 的『數(shù)字?jǐn)?shù)量』是比 IPv4 要多出好多好多的!可想像的到的是,
那時(shí) DNS 可就更重要了!@_@
什麼是 Domain Name System:
DNS 的全名是『 Domain name system 』, 中文譯名為『領(lǐng)域名稱系統(tǒng)』, 這個(gè)咚咚的用途是什麼哇!我們的電腦或者是 Internet 一定需要他 (尤其是以 WWW 的方式來上網(wǎng)時(shí)) ?呵呵! 他最大的用途就懶惰與記憶性薄弱的人類~』 哈哈!沒錯(cuò)!為什麼說他是造福人類呢?且聽鳥哥娓娓道來: ? /etc/hosts 的歷史:
如同前面以及網(wǎng)路基礎(chǔ)章節(jié)當(dāng)中談到的,IPv4 的 IP 是由 32bits 所組成,轉(zhuǎn)成十進(jìn)位的話則是四組 0-字所組成的。 由於不容易記憶,因此就有了主機(jī)名稱與 IP 對(duì)應(yīng)的想法出來。也就是說, 只要輸入一個(gè)的名字』而我們的系統(tǒng)就會(huì)自動(dòng)的將這個(gè)名字轉(zhuǎn)成電腦瞭解的 IP !嘿嘿!如此一來,我要記得『名字』總?cè)菀椎亩嗔耍?/p>
依據(jù)這個(gè)想法而有了 /etc/hosts 這個(gè)檔案!例如,只要您輸入 『 ping -c 5 localhost 』 您的 Linux 馬上可127.0.0.1 這個(gè) IP , Why ?您去看一下 /etc/hosts 就知道為什麼了!所以囉,只要將您常常上網(wǎng)的『的 IP 』寫到這個(gè) /etc/hosts 底下,您的 IP 搜尋速度就會(huì)快上很多~
Tips:
再次強(qiáng)調(diào),在您的私有網(wǎng)域內(nèi)部,最好將所有的 IP 都寫入這個(gè)檔案中啦!
? DNS 的歷史:
早期(大約20~30年前) 的電腦可是貴重物資,一般人是可望而不可及的,因?yàn)殡娔X數(shù)量太少, 所以使用
來記憶這些 IP 與名稱的對(duì)應(yīng)還尚可應(yīng)付。但是在現(xiàn)代, Internet 上面這麼多主機(jī),並且常常會(huì)突然的又多出一部主機(jī)來服務(wù), 那麼我們總不能一個(gè)一個(gè)的將他輸入在 /etc/hosts 裡面吧?對(duì)呀!真不聰明!無法立刻讓全世界的電腦都同步更新他們自己的 /etc/hosts 檔案??! 所以後來的這個(gè)時(shí)候就有所謂的『解析系統(tǒng), DNS』出現(xiàn)啦!
DNS 服務(wù)利用類似樹狀目錄的型態(tài),將主機(jī)名稱的管理分配在不同層級(jí)的 DNS 伺服器當(dāng)中,經(jīng)由分層所以每一部主機(jī)記憶的資訊就不會(huì)很多, 而且若有 IP 異動(dòng)時(shí)也相當(dāng)容易修改!那麼這個(gè) DNS 的功能嗎?對(duì)啦!就是『將電腦主機(jī)的名稱轉(zhuǎn)譯成 IP 』就是了!當(dāng)然囉,他的額外功能還很多!總之,他的最就是『 讓有意義的,人類較容易記憶的主機(jī)名稱(英文字母) ,轉(zhuǎn)譯成為電腦所熟悉的 IP 位址! 』
舉個(gè)例子來說好了,奇摩雅虎的網(wǎng)站的 IP 是 202.43.195.52 ,所以您可以在您的瀏覽器上面輸入
『 http://202.43.195.52 』來連上奇摩雅虎! 不過,我想沒有幾個(gè)人能夠?qū)⑦@個(gè) IP 背的起來的吧?反之卻都知道奇摩雅虎的網(wǎng)址為 tw.yahoo.com ,那麼您只要輸入『 http://tw.yahoo.com 』就可以連上該主
? Fully Qualified Domain Name ( FQDN )
在提到名稱與 IP 的解析流程之前,我們還必需來討論一下『什麼是 domain name 與 host name?』也名稱與主機(jī)名稱。 在討論這個(gè)主題之前,我們來聊一聊比較生活化的話題:
?
網(wǎng)路世界其實(shí)有很多人自稱為『鳥哥』的,包括敝人在下小生我啦!那麼你怎麼知道此鳥哥非彼
這個(gè)時(shí)候你可以利用每個(gè)鳥哥的所在地來作為區(qū)分啊,比如說臺(tái)南的鳥哥與臺(tái)北的鳥哥等。 那還有兩個(gè)人自稱鳥哥怎麼辦?沒關(guān)係,你還可以依照鄉(xiāng)鎮(zhèn)來區(qū)分呢!比如說臺(tái)南北區(qū)的鳥哥及臺(tái)鳥哥。 如果將這個(gè)咚咚列出來,就有點(diǎn)像這樣:
? 是否就可以分辨他的不同點(diǎn)了呢?呵呵!沒錯(cuò)!就是這樣!
? 另外一個(gè)例子可以使用電話號(hào)碼來看,假如高雄有個(gè) 1234567 而臺(tái)南也有個(gè) 1234567 ,那麼(1)
直接撥接 1234567 時(shí),他會(huì)直接掛入高雄的 1234567 電話中, (2)但如果您要撥到臺(tái)南去,就得這個(gè)區(qū)碼才行!我們就是使用區(qū)碼來做為辨識(shí)之用的!
是否還不清楚鳥哥要說什麼?我們常常會(huì)發(fā)現(xiàn)主機(jī)名稱都是 www 的網(wǎng)站,例如 www.gov.tw, www.seewww.hinet.net 等等,那麼我們怎麼知道這些 www 名稱的主機(jī)在不同的地方呢?就需要給他領(lǐng)域名稱囉是 gov.tw, seednet.net, hinet.net 等等的不同,所以即使您的主機(jī)名稱相同,但是只要不是在同一個(gè)領(lǐng)域內(nèi)
,就可以被接受囉!
基本上,我們知道 DNS 是有層級(jí)之分的,那麼每個(gè)層級(jí)的 Hostname 與 Domain name 可是不一樣的咚鳥哥使用我們的主機(jī)來加以說明,如下圖所示:
圖一、分層次的 DNS 架構(gòu) ( Hostname 與 Domain name )
在上面的例子當(dāng)中,由上向下數(shù)的第二層裡面,那個(gè) .tw 是 domain name ,而 com, edu, gov 則是主機(jī)而在這個(gè)主機(jī)的名稱之管理下,還有其他更小網(wǎng)域的主機(jī), 所以在第三層的時(shí)候,基本上,那個(gè) edu.tw 了 domain name 了!而成大與中山的 ncku, nsysu 則成為了 hostname 囉!
呵呵!以此類推,最後得到我們的主機(jī)那個(gè) aerosol 是主機(jī)名稱,而 domain name 是由 ev.ncku.edu.tw 所決定的!自然,我們的主機(jī)就是讓管理 ev.ncku.edu.tw 這個(gè) domain name 的 DNS 伺服器所管理的囉是否瞭解了 domain name 與 hostname 的不同了呢?
DNS 的查詢過程:
接下來我們要談一談,那麼 DNS 的 (1)架構(gòu)是怎樣? (2)查詢原理是怎樣?總是要先知道架構(gòu)才能知道的吶!所以底下我們先來介紹一下整體的架構(gòu)。
DNS 的架構(gòu):
圖二、DNS 層階概念示意圖
上面就是一個(gè)簡單的 DNS 階層架構(gòu)囉,在整個(gè) DNS 系統(tǒng)的最上方一定是 . (小數(shù)點(diǎn)) 這個(gè) root 的 DN 他底下管理的就只有 com, edu, gov, mil, org 與以國家為分類的第二層的主機(jī)名稱了!這兩者稱為 Top LDomains (TLDs) 喔!
一般最上層領(lǐng)域名稱 (Generic TLDs):例如 .com, .org, .gov 等等;
? 國碼最上層領(lǐng)域名稱 (Country code TLDs):例如 .tw, .uk, .jp 等 ?
例如臺(tái)灣地區(qū)最上層的領(lǐng)域名稱是以 .tw 為開頭,管理這個(gè)領(lǐng)域名稱的這部機(jī)器的 IP 是在臺(tái)灣,但是則是記錄在 . (root)那部機(jī)器裡面的!還有其他的國家的最上層如 .cn 指的是大陸, .de 指的是德國一樣每個(gè)國家之下記錄的主要的下層有哪些領(lǐng)域呢? 呵呵!主要就是有這六大類:
其實(shí)最早之前在 . (root)之下只有這六大類的 domain name ,但是網(wǎng)路成長的速度太快了,因此後來又多以國碼來分的 domain name ,如此一來,在該國家之內(nèi),只要向該國家申請(qǐng) domain name 即可,不需上層去申請(qǐng)囉!也因此,在這些國碼之下,還是有這六大類的 domain name 為主的哩!當(dāng)然啦,在目前際網(wǎng)路持續(xù)的發(fā)燒,說實(shí)在的 domain name 實(shí)在是有點(diǎn)不太夠用,所以又有相當(dāng)多的領(lǐng)域名稱被設(shè)計(jì)出目前臺(tái)灣 ISP 提供的 .idv.tw 的個(gè)人網(wǎng)站啦!
,好了,再強(qiáng)調(diào)一次, DNS 系統(tǒng)是以所謂的階層式的管理,所以,請(qǐng)注意喔!那個(gè) .tw 只記錄底下那一個(gè)主要的 domain 的主機(jī)而已!至於例如 edu.tw 底下還有個(gè) ncku.edu.tw 這部機(jī)器,那就直接授權(quán)交給那部機(jī)器去管理了!也就是說『 每個(gè)上一層的 DNS 主機(jī),所記錄的資訊,其實(shí)只有其下一層的主機(jī)名稱至於再下一層,則直接『授權(quán)』給下層的某部主機(jī)來管理囉!呵呵!所以您就應(yīng)該會(huì)知道 DNS 到底是的吧! ^_^
會(huì)這樣設(shè)定的原因不是沒有道理的! 這樣設(shè)計(jì)的好處就是:每部機(jī)器管理的只有下一層的 hostname 對(duì)已,所以減少了管理上的困擾!而下層 Client 端如果有問題,只要詢問上一層的 DNS server 即可!不上層,除錯(cuò)上面也會(huì)比較簡單呢!
DNS 的搜尋流程:
剛剛說過 DNS 是以類似『樹狀目錄』 的型態(tài)來進(jìn)行名稱的管理的!所以每一部 DNS 主機(jī)都『僅管理DNS 主機(jī)的名稱轉(zhuǎn)譯』而已, 至於下層的下層,則『授權(quán)』給下層的 DNS 主機(jī)來管理啦!這樣說好像好吧!我們就以下圖來說一說原理囉:
圖三、DNS 主機(jī)查詢流程示意圖
首先,當(dāng)您在瀏覽器的網(wǎng)址列輸入 http://aerosol.ev.ncku.edu.tw 時(shí),您的電腦就會(huì)依據(jù)相關(guān)設(shè)定(在 Linu 是利用 /etc/resolv.conf 這個(gè)檔案 ) 所提供的 DNS 的 IP 去進(jìn)行連線查詢,好了,由於目前最常見的 D 就屬 Hinet 的 168.95.1.1 這個(gè) DNS 了,所以我們就拿他來做例子吧!嗯!這個(gè)時(shí)候, hinet 的這部主樣工作:
1. 先查看本身有沒有紀(jì)錄:
剛剛說過啦,由於 DNS 是層階式的架構(gòu),任何一部 DNS 都僅記錄下一層裡面的主機(jī)名稱對(duì)應(yīng)已,由於 hinet 並非學(xué)術(shù)網(wǎng)路裡面的主機(jī),所以自然也就沒有辦法直接提供給 client 端關(guān)於
aerosol.ev.ncku.edu.tw 這部機(jī)器的 IP 了,所以啦,一般而言,這個(gè)時(shí)候 168.95.1.1 就會(huì)向最頂是 . (root) 的主機(jī)查詢 .tw 這部機(jī)器的位址;
2. 向最頂層 ( root )查詢:
由於 168.95.1.1 沒有紀(jì)錄我們主機(jī)的 IP ,這個(gè)時(shí)候他就會(huì)向『最頂層』的 . (root) 這部主機(jī)來(root) 的下一層,也就是 .tw 這部機(jī)器的資料了!這個(gè)時(shí)候, . (root) 就會(huì)告訴 168.95.1.1 說『查 .tw 這個(gè)網(wǎng)域的管理者呀?我這裡有 .tw 這個(gè)網(wǎng)域的管理的主機(jī)之 IP 資訊,您可以直接去找
3. 向第二層查詢:
168.95.1.1 接著又到 .tw 去查詢,而該部機(jī)器管理的又僅有 .edu.tw, .com.tw, gov.tw... 那幾部主比對(duì)後發(fā)現(xiàn)我們要的是 .edu.tw 的網(wǎng)域,所以這個(gè)時(shí)候 .tw 又告訴 168.95.1.1 說:『您要去管理這個(gè)網(wǎng)域的主機(jī)那裡查詢,我有他的 IP !』;
4. 向下層持續(xù)查詢:
好了,一步一步下來, .edu.tw 可以查到管理 .ncku.edu.tw 的主機(jī) IP ; .ncku.edu.tw 可以查到理 .ev.ncku.edu.tw 的主機(jī) IP ,而最後我們 aerosol.ev.ncku.edu.tw 就可在管理 .ev.ncku.edu.tw 部主機(jī)的設(shè)定紀(jì)錄當(dāng)中查詢到啦!
5. 記錄暫存記憶體:
查到了 IP 之後,這部 168.95.1.1 的 DNS 機(jī)器總不會(huì)在下次有人查詢 aerosol.ev.ncku.edu.tw 的跑一次這樣的流程吧!粉遠(yuǎn)粉累的吶!而且也很耗系統(tǒng)的資源與網(wǎng)路的頻寬,所以呢, 168.95.1DNS 很聰明的會(huì)先記錄一份 aerosol.ev.ncku.edu.tw 對(duì)應(yīng) IP 的資訊在自己的暫存記憶體當(dāng)中,一次又有人對(duì)同一個(gè)主機(jī)名稱的要求之查詢!最後則將結(jié)果回報(bào)給 client 端!當(dāng)然啦,那個(gè)記憶當(dāng)中的資料,其實(shí)是有時(shí)間性的,當(dāng)過了 DNS 設(shè)定記憶的時(shí)間(通??赡苁?24 小時(shí)) ,那麼該被釋放喔!
由這樣的分層負(fù)責(zé)您發(fā)現(xiàn)了什麼?嗯!那就是:
? 當(dāng)一個(gè)『合法』的 DNS 主機(jī)裡面的設(shè)定修改了之後,來自世界各地任何一個(gè) DNS 的要求,都
誤的顯示正確的主機(jī)名稱對(duì)應(yīng) IP 的資訊,因?yàn)樗麄儠?huì)一層一層的尋找下來,所以,要找您的主應(yīng)的 IP 就一定得要透過您的上層 DNS 主機(jī)的紀(jì)錄才行!所以只要您的主機(jī)名字是經(jīng)過上層『DNS 』主機(jī)的設(shè)定的,那麼就可以在 Internet 上面被查詢到啦!呵呵!很簡單維護(hù)吧,機(jī)動(dòng)性也
? 在主機(jī)的暫存記憶體記錄當(dāng)中,由於是有時(shí)間性的,所以當(dāng)您的主機(jī)名稱在 DNS 當(dāng)中被修改了
是由於之前的舊資訊還記憶在其他的 DNS 主機(jī)的暫存記憶體裡面,所以啦,可能在別人以非您主機(jī)來查詢您的主機(jī)名稱時(shí),就會(huì)得到先前的舊資訊,這個(gè)時(shí)間差不多可能是 10 分鐘到 2 天也是為什麼我們常說當(dāng)您修改了一個(gè) domain name 之後,可能要 2 ~ 3 天後才能全面的啟用的
,? 每一部可以記錄主機(jī)名稱與 IP 對(duì)應(yīng)的 DNS 伺服器都可以隨意更動(dòng)他自己的資料庫對(duì)應(yīng), 因此
稱與網(wǎng)域名稱在各個(gè)主機(jī)底下都不相同。舉例來說, idv.tw 是僅有臺(tái)灣才有這個(gè) idv 的網(wǎng)域~個(gè) idv 是由 .tw 所管理的,所以只要臺(tái)灣 .tw 維護(hù)小組同意,就能夠建立該網(wǎng)域喔!
好啦!既然 DNS 這麼棒,然後我們又需要架站,所以需要一個(gè)主機(jī)的名稱,因此, 那麼我們需要架設(shè)嗎?當(dāng)然不是,為什麼呢? 剛剛鳥哥提到了很多次的『合法』的字眼,因?yàn)樗蜖可娴健菏跈?quán)』的問題們在前面的『申請(qǐng)合法的主機(jī)名稱』當(dāng)中也提到, 只要主機(jī)名稱合法即可,不見得需要架設(shè) DNS 的啦? DNS 使用的 port number :
好了,既然 DNS 系統(tǒng)使用的是網(wǎng)路的查詢,那麼自然需要有開 Listen 的 port 囉 ( 監(jiān)聽的埠號(hào) ) !沒理!那麼 DNS 使用的是那一個(gè) port 呢?那就是 53 這個(gè) port 啦!您可以到您的 Linux 底下的 /etc/se個(gè)檔案看看!搜尋一下 domain 這個(gè)關(guān)鍵字,就可以查到 53 這個(gè) port 啦!
但是這裡需要跟大家報(bào)告的是,通常, DNS 查詢的時(shí)候,是以 udp 這個(gè)較快速的資料傳輸協(xié)定 (prot查詢的,但是萬一沒有辦法查詢到完整的資訊時(shí),就會(huì)再次的以 TCP 這個(gè)協(xié)定來重新查詢的!所以啟動(dòng)daemon (就是 named 啦) 時(shí),會(huì)同時(shí)啟動(dòng) TCP 及 udp 的 53 這個(gè) port number 喔!
關(guān)於『授權(quán)』的意義:
很多朋友都認(rèn)為『 架設(shè) DNS 可以設(shè)定主機(jī)的名稱,而我要架站需要主機(jī)有名字,因此一定需要架設(shè) D 要有 DNS ,我的主機(jī)就可以有名字了! 』是這樣嗎?當(dāng)然不是!這是錯(cuò)誤的觀念!怎麼說呢?
從上面圖三的圖示當(dāng)中,您應(yīng)該不難發(fā)現(xiàn),當(dāng)我要搜尋 aerosol.ev.ncku.edu.tw 主機(jī)時(shí),就需要向管理 .ev.ncku.edu.tw 這個(gè)網(wǎng)域的那部機(jī)器查詢才行,而要查詢 .ev.ncku.edu.tw 則需要在 .ncku.edu.tw 上可以!這是因?yàn)椤荷蠈?DNS 主機(jī) .ncku.edu.tw 已經(jīng)將 .ev.ncku.edu.tw 這個(gè)網(wǎng)域的管理權(quán) " 授權(quán)" 給 green.ev.ncku.edu.tw 這部機(jī)器,當(dāng)有人要查詢 .ev.ncku.edu.tw 這個(gè)網(wǎng)域的主機(jī) IP 時(shí), .ncku.edu.tw 將的任務(wù)直接轉(zhuǎn)給 green.ev.ncku.edu.tw 去管理了!從此, .ncku.edu.tw 這個(gè)網(wǎng)域的管理主機(jī),將不會(huì)再接ev.ncku.edu.tw 這個(gè)網(wǎng)域的名稱管理! 』是否很像人類社會(huì)的『授權(quán)』的概念?
也就是說,當(dāng)您老闆充分的『授權(quán)』給您某項(xiàng)工作的時(shí)候,從此, 要進(jìn)行該項(xiàng)工作的任何人,從老闆那您才是真正『有權(quán)』的人之後,都必須要向您請(qǐng)示一樣! ^_^!所以囉,如果您要架設(shè) DNS ,而且是Internet 上面的 DNS 時(shí),您就必須要透過『上層 DNS 主機(jī)的授權(quán)』才行!這是很重要的觀念喔!等一在底下會(huì)介紹一個(gè)如何架設(shè)一個(gè) 『經(jīng)過合法授權(quán)的 DNS 主機(jī)』哩!
其實(shí),如果將上面的話改換成:『 我要架站,所以我要讓我的主機(jī)有一個(gè)合法的名字! 』那樣就合理了說呢?因?yàn)槲铱梢哉?qǐng)上層 DNS 幫我設(shè)定主機(jī)名稱對(duì)應(yīng) IP 就可以啦!如此一來,要找我的 hostname 對(duì)人,都可以直接在我的上層 DNS 裡面找到,根本不需要透過我的 Linux 主機(jī)吶!例如鳥哥研究室的 aerosol.ev.ncku.edu.tw 就可以在 green.ev.ncku.edu.tw 這部管理 DNS 的 server 上面找到ㄋㄟ~不必親aerosol.ev.ncku.edu.tw 上面找!
也就是說,藉由 DNS 系統(tǒng)最大的功能『主機(jī)名稱轉(zhuǎn)譯成 IP 』 這個(gè)動(dòng)作,那麼您只要向任何一個(gè)合法的機(jī)申請(qǐng)一個(gè)『主機(jī)名稱, hostname 』給您的 Linux 主機(jī),讓大家都可以藉由該 DNS 主機(jī)來查詢到您的 IP ,就可以使用該主機(jī)名稱來架站啦!就是這麼簡單!