①簡介
dns就是domain name system,它能夠把形如www.21php.com這樣的網域名稱轉換為211.152.50.35這樣的ip位址;沒有dns,瀏覽21php.com 這個**時,就必須用211.152.50.35這麼難記的數字來訪問。提供dns服務的就是dns伺服器。dns伺服器可以分為三種,快取記憶體伺服器 (cache-only server)、主伺服器(primary name server)、輔助伺服器(second name server)。
dns的詳細原理、工作流程、術語、概念,限於篇幅,這裡就不說了。可以閱讀專門的文章,如dns-howto加以了解。
②配置主dns伺服器
首先我們做以下假設:a伺服器為21php.com的主網域名稱伺服器,其ip位址為11.0.0.1,b伺服器為21php.com的輔助網域名稱伺服器,其ip位址為11.0.0.2;
下面我們配置伺服器11.0.0.1為21php.com的主dns伺服器
linux下的dns功能是通過bind軟體實現的。bind軟體安裝後,會產生幾個固有檔案,分為兩類,一類是配置檔案在/etc目錄下,一類是dns記錄檔案在/var/named目錄下。加上其他相關檔案,共同設定dns伺服器。下面是所有和dns設定相關檔案的列表與說明。
位於/etc目錄下的有:hosts,host.conf,resolv.conf,named.boot,named.conf。
1、「hosts」檔案,定義了主機名和ip位址的對應,其中也有將要執行dns這台電腦的ip位址和主機名。內容:
127.0.0.1 localhost.localdomain localhost
2、「host.conf」檔案[boban注:原來誤寫成hosts.conf],"order hosts bind"語句,指定了對主機名的解析順序是先到hosts中查詢,然後到dns伺服器的記錄裡查詢。「multi on」則是允許乙個主機名對應多個ip位址。內容:
order hosts, bind
multi on
nospoof on
3、「resolv.conf」檔案,「nameserver 10.0.0.211」指定了dns伺服器的位址。注意,這個檔案對普通非dns伺服器的電腦(非windows的系統;windows系統是在「網路屬性」中設定這項的)來說,是必不可少的。你如果沒有設定本機為dns伺服器,你又要能夠解析網域名稱,就必須指定乙個dns伺服器的位址。你可以最多寫上三個位址,作為前乙個失敗時的候選dns伺服器。「domain zrs.com」指定預設的域。檔案內容:
domain 21php.com
nameserver 11.0.0.1
4、「named.boot」檔案是早期版本的bind軟體使用的配置檔案,現在新版本中已經讓位於「named.conf」。named.conf是dns server配置的核心檔案。下面我們一段一段的來解說。
# named.conf - configuration for bind
## generated automatically by bindconf, alchemist et al.
controls keys ;
};include "/etc/rndc.key";options ;
zone "." ;
zone "0.0.127.in-addr.arpa" ;
zone "localhost" ;
zone "21php.com" ;
上文中#為注釋符號, 其他各行含義如下:
diretory /var/named
指定named從 /var/named 目錄下讀取dns資料檔案,這個目錄使用者可自行指定並建立,指定後所有的dns資料檔案都存放在此目錄下;
zone "." ;
指定named從 named.ca 檔案中獲得internet的頂層「根」伺服器位址 。
zone "0.0.127.in-addr.arpa" ;
指定named作為127.0.0網段位址轉換主伺服器,named.local檔案中包含了127.0.0.*形式的位址到網域名稱的轉換資料(127.0.0網段位址是區域網介面的內部 loopback位址);
zone "localhost" ;
指定包含localhost的dns檔案資料存放在/var/named/localhost.zone中;
zone "21php.com" ;
以上語句表明域21php.com的dns資料存放在/var/named/目錄下的21php.com.zone中;
我們可以用文字編輯器開啟/var/named/21php.com.zone,其內容如下:
$ttl 86400 @ in soa @ root.localhost (
2 serial
28800 refresh
7200 retry
604800 expire
86400 ttl
)@ in ns localhost
www in a 11.0.0.233
www2 in a 11.0.0.23
forum in a 11.0.0.10
@ in mx 5 mail.21php.com.
該檔案的前部分是相應的引數設定,此部分不需要改動,後面的部分就是具體的dns資料;
例如:www in a 11.0.0.233
將www.linuxidc.com 解析到位址11.0.0.233;
www2 in a 11.0.0.23
將www2.21php.com 解析到位址11.0.0.23;
club in a 11.0.0.10
將club.21php.com 解析到位址11.0.0.10;
Linux 網域名稱解析
1 本地dns解析 修改 etc hosts 檔案。etc hosts 檔案格式為 ip 網域名稱 如增加乙個新的解析為 2 網絡卡配置檔案dns服務位址 即修改網路配置資訊。如 etc sysconfig netword scripts ifcfg eth0 檔案 ifcfg eth0 為當前系統...
Linux 網域名稱解析
1 本地dns解析 修改 etc hosts 檔案。etc hosts檔案格式為 ip 網域名稱 如增加乙個新的解析為 223.231.234.33 www.baidu.com 2 網絡卡配置檔案dns服務位址 即修改網路配置資訊。如 etc sysconfig netword scripts if...
網域名稱解析過程 網域名稱解析過程
0x01相關資訊 閘道器 閘道器實質上是乙個網路通向其他網路的ip位址。要實現兩個網路之間的通訊,則必須通過閘道器。如果網路a中的主機發現資料報的目的主機不在本地網路中,就把資料報 給它自己的閘道器,自己的閘道器通過尋找路由指向,再由閘道器 給網路b的閘道器,網路b的閘道器再 給網路b的某個主機。i...