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網段位址是區域網介面的內部 loopb
ack位址);
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.21php.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;
③配置輔助dns伺服器
等。也可以使用nslookup命令:執行nslookup,輸入要查詢的主機名,看是否返回正確的ip位址,在redhat 7.1以上版本中推薦使用dig命令。
注:以上分別在redhat 6.1 redhat 9 測試過
網域名稱解析操作
1 主機記錄 分別解釋下各個選項 若你的購買的網域名稱是abc.com www 將www.abc.com解析到購買的伺服器上,即www.abc.com來訪問你伺服器ip 將abc.com解析到購買的伺服器上,即abc.com來訪問你伺服器ip 其餘同理,就不做多餘解釋。2 記錄型別 分別解釋下各個選...
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...