域名服務(wù)器詳細(xì)解釋
一、 DNS 的工作原理[編按:略]二、 DNS 的配置假設(shè)我們有一個C 類網(wǎng)絡(luò)202.9.201,企業(yè)域名為toec.com 。該網(wǎng)絡(luò)上的域名服務(wù)器為ns.toec.com ,它的IP 地址為202
一、 DNS 的工作原理
[編按:略]
二、 DNS 的配置
假設(shè)我們有一個C 類網(wǎng)絡(luò)202.9.201,企業(yè)域名為toec.com 。該網(wǎng)絡(luò)上的域名服務(wù)器為ns.toec.com ,它的IP 地址為202.9.201.111。網(wǎng)絡(luò)上有兩臺工作站workstation1.toec.com 和workstation2.toec.com 。它們的IP 地址分別為202.9.201.1和202.9.201.2。在配置DNS 之前,首先要確保網(wǎng)絡(luò)暢通,可用ping 或telnet 等命令進(jìn)行測試。然后用root 帳號登錄。
(一)、配置/etc/resolv.conf文件。在文件中加入下面兩行:
search toec.com
nameserver 202.9.201.111
其中search 選項給出了一些可能的域名(各域名之間用空格分開)及搜索域名時的順序。例如,要解析域名www.toec.com 的IP 地址,域名服務(wù)器會根據(jù)search 選項的內(nèi)容,首先解析www.toec.com.toec.com ,如果解析失敗再解析www.toec.com 。nameserver 選項則指定了域名服務(wù)器的IP 地址。
(二)、配置/etc/nsswitch.conf文件。在文件中加入下面一行:
hosts: files dns
該文件規(guī)定了在進(jìn)行域名解析時,先在本地的/etc/hosts文件中查詢。如果未找到,再通過/etc/resolv.conf文件中指定的域名服務(wù)器查詢。
(三)、配置/etc/named.conf文件。該文件是守護(hù)進(jìn)程named 的配置文件,其內(nèi)容如下所示:
options {
directory "/var/named";
};
zone "." {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "127.0.0";
};
zone "toec.com" {
type master;
file "toec.com";
};
,zone "201.9.202.in-addr.arpa" {
type master;
file "202.9.201";
};
現(xiàn)將文件中各行的含義介紹如下:
1~3行:directory 選項定義了所有區(qū)域文件都位于/var/named目錄下,下面zone 中設(shè)置的文件名都是基于它的相對路徑。
4~7行:告訴服務(wù)器守護(hù)進(jìn)程named 從/var/named/named.ca文件中讀取有關(guān)根域名服務(wù)器的地址。如果域名服務(wù)器只工作在一個沒有與Internet 連接的局域網(wǎng)上,則該區(qū)域可不設(shè)。
8~11行:指定named 作為127.0.0網(wǎng)段逆向查詢(通過IP 地址查詢與之對應(yīng)的主機(jī)名)的主域名服務(wù)器,并從/var/named/127.0.0文件中讀取數(shù)據(jù)。
12~15行:指定named 作為toec.com 域的主域名服務(wù)器,并從/var/named/toec.com文件中讀取數(shù)據(jù)。
16~19行:指定named 作為202.9.201網(wǎng)段逆向查詢的主域名服務(wù)器,并從/var/named/202.9.201文件中讀取數(shù)據(jù)。
(四)、建立DNS 數(shù)據(jù)庫
1、建立/var/named/named.ca文件,它包含了根服務(wù)器的IP 地址。由于該文件是一個不斷更新的文件,建議讀者從Internet 上下載一個最新的版本,而不要使用Linux 系統(tǒng)提供的named.ca 文件。其內(nèi)容如下所示:
3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET . 3600000 A 198.41.0.4
3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET . 3600000 A 128.9.0.107
3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET . 3600000 A 192.33.4.12
3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET . 3600000 A 128.8.10.90
3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET . 3600000 A 192.203.230.10
3600000 NS F.ROOT-SERVERS.NET .
F .ROOT-SERVERS.NET . 3600000 A 192.5.5.241
3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET . 3600000 A 192.112.36.4
3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET . 3600000 A 128.63.2.53
3600000 NS I.ROOT-SERVERS.NET.
,I.ROOT-SERVERS.NET . 3600000 A 192.36.148.17
3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET . 3600000 A 198.41.0.10
3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET . 3600000 A 193.0.14.129
3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET . 3600000 A 198.32.64.12
3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET . 3600000 A 202.12.27.33
2、建立/var/named/toec.com文件。文件內(nèi)容如下所示:
@ IN SOA ns.toec.com. root.ns.toec.com. (
1998081901 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
NS ns.toec.com.
MX 10 ns.toec.com.
localhost A 127.0.0.1
ns A 202.9.201.111
workstation1 A 202.9.201.1
workstation2 A 202.9.201.2
mail CNAME ns.toec.com.
現(xiàn)將文件中各行的含義介紹如下:
(1)、第1行是一條SOA (Start Of Authority )記錄。定義了toec.com 域的主域名服務(wù)器的正式主機(jī)名字和負(fù)責(zé)維護(hù)此域的人的e-mail 地址。其中地址中的“@”要由“.”代替。
(2)、第2行設(shè)置了該文件的版本號。二級域名服務(wù)器通過此版本號來判斷主域名服務(wù)器的數(shù)據(jù)是否已更新。
(3)、第3行設(shè)置了二級服務(wù)器對主服務(wù)器進(jìn)行兩次SOA 記錄檢查的時間間隔。
(4)、第4行設(shè)置了當(dāng)二級服務(wù)器訪問主服務(wù)器或數(shù)據(jù)更新失敗后,間隔多長時間重試。
(5)、第5行設(shè)置二級服務(wù)器在沒有和主服務(wù)器聯(lián)系的情況下,經(jīng)過多長時間放棄所有區(qū)域數(shù)據(jù)。
(6)、第6行設(shè)置二級服務(wù)器經(jīng)過多長時間以后放棄RR (資源記錄)。
,(7)、第7行是一個NS 記錄。指定toec.com 域的主域名服務(wù)器為ns.toec.com 。
(8)、第8行是一個MX 記錄。為toec.com 域指定一個郵件交換器,即上面SOA 記錄中root@ns.toec.com郵件地址所對應(yīng)的郵件服務(wù)器名字。
(9)、第9~12行是幾條A 記錄。定義了DNS 域名到IP 地址的映射,其中主機(jī)名部分可將toec.com 省略。named 在解析時會根據(jù)named.conf 文件的相關(guān)設(shè)置,自動添加省略的部分。
(10)、第13行是一個CNAME 記錄,定義了主機(jī)的別名。例如,將ns.toec.com 作為公司的郵件服務(wù)器,就可將mail.toec.com 設(shè)為ns.toec.com 的別名。這樣,用戶就可以根據(jù)習(xí)慣來訪問公司的郵件服務(wù)器了。
3、建立/var/named/202.9.201文件。該文件是網(wǎng)段202.9.201的逆向查詢文件,內(nèi)容如下所示:
@ IN SOA ns.toec.com. root.ns.toec.com. (
1998081901 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.toec.com.
111 PTR ns.toec.com.
1 PTR workstation1.toec.com.
2 PTR workstation2.toec.com.
(1)、文件中1~7行與toec.com 文件完全一樣。
(2)、8~10行是幾條PTR 記錄,定義了IP 地址到DNS 域名的映射。其中主機(jī)名部分必須為正式名稱。
4、建立/var/named/127.0.0文件。該文件是內(nèi)部網(wǎng)絡(luò)127.0.0的逆向查詢文件,只有一個127.0.0.1 loopback地址。內(nèi)容如下所示:
@ IN SOA ns.toec.com. root.ns.toec.com. (
1998081901 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.toec.com.
1 IN PTR localhost.
,(五)、啟動named 守護(hù)進(jìn)程
# /usr/sbin/named
三、檢驗DNS 服務(wù)器的設(shè)置
在Linux 中提供了一個檢查DNS 服務(wù)器配置的工具:nslookup 。在命令行狀態(tài)下輸入nslookup ,就可進(jìn)入nslookup 的交互式環(huán)境。如果named 配置正確,則會顯示當(dāng)前域名服務(wù)器的名稱和地址。結(jié)果如下所示:
Default Server: ns.toec.com
Address: 202.9.201.111
(一)、檢查正向DNS 解析。在提示符“>;”下輸入主機(jī)名workstation1或workstation1.toec.com 。nslookup 應(yīng)能顯示主機(jī)名對應(yīng)的IP 地址,結(jié)果如下所示: >; workstation1
Server: ns.toec.com
Address: 202.9.201.111
Name: workstation1.toec.com
Address: 202.9.201.1
(二)、檢查逆向DNS 解析。在提示符下輸入workstation1.toec.com 的IP 地址。nslookup 應(yīng)能顯示IP 地址對應(yīng)的主機(jī)名,結(jié)果如下所示:
>; 202.9.201.1
Server: ns.toec.com
Address: 202.9.201.111
Name: workstation1.toec.com
Address: 202.9.201.1
(三)、檢查MX 郵件地址記錄。輸入域名toec.com ,nslookup 應(yīng)能顯示對應(yīng)的郵件服務(wù)器地址,結(jié)果如下所示:
>; set q=mx
>; toec.com
Server: ns.toec.com
Address: 202.9.201.111
toec.com preference = 10, mail exchanger = ns.toec.com
toec.com nameserver = ns.toec.com
ns.toec.com internet address = 202.9.201.111
(四)、檢查CNAME 別名記錄。在提示符下輸入ns.toec.com 的別名mial.toec.com 。
,nslookup 應(yīng)能顯示正式的主機(jī)名,結(jié)果如下所示:
>; set q=cname
>; mail.toec.com
Server: ns.toec.com
Address: 202.9.201.111
mail.toec.com canonical name = ns.toec.com
toec.com nameserver = ns.toec.com
ns.toec.com internet address = 202.9.201.111
四、更新DNS 數(shù)據(jù)庫
(一)、如果網(wǎng)絡(luò)上增加了一臺新的主機(jī),則需要在/var/named/toec.com文件中追加一條A 記錄,在/var/named/202.9.201文件中追加一條相應(yīng)的PTR 記錄,然后修改兩個文件的版本號(Serial )。
(二)、利用控制named 的工具ndc 重新啟動守護(hù)進(jìn)程named ,使已更新的DNS 數(shù)據(jù)庫生效。
# /usr/sbin/ndc restart
通過上面的設(shè)置和測試,域名服務(wù)器就可以正常工作了。這里需要說明的是,根據(jù)INTERNIC 對域名的管理規(guī)范,在一個獨立的域名上,至少要有兩臺DNS 服務(wù)器。即一臺主服務(wù)器和一臺二級服務(wù)器,以提高域名解析的可靠性。其實,在網(wǎng)絡(luò)中只要建立一臺主DNS 服務(wù)器,DNS 即可工作。因此,本文沒有介紹二級服務(wù)器的配置方法,有興趣的讀者可以參考有關(guān)資料