?? 如何配置一個(gè)linux dns server(轉(zhuǎn)).txt
字號(hào):
作者:晴天飛雪
日期:2000-9-1 13:43:41
如何配置一個(gè)Linux下的DNS Server? (轉(zhuǎn))
一、 假定
假定你已對(duì)域名服務(wù)器 DNS 有基本的了解,如果不是,請(qǐng)參看相關(guān)的文襠。
許多DNS的文章都是從DNS原理開始介紹,本人則從使用的角度出發(fā),為L(zhǎng)inux的管理員提供一些簡(jiǎn)單實(shí)用的應(yīng)用實(shí)例。
下面假定我們需要建立一臺(tái)企業(yè)網(wǎng)的DNS主服務(wù)器,應(yīng)用條件如下:
(1) 一個(gè)C類網(wǎng)段地址 (本例中假定是192.22.33)
(2)企業(yè)域名為 my.com,并已注冊(cè) (主域名服務(wù)器地址 192.22.33.20,主機(jī)名為 linux.my.com)
(3)企業(yè)網(wǎng)通過路由器與Internet連接
假如你的應(yīng)用環(huán)境與上述條件不同,也請(qǐng)往下看,本文會(huì)在上述例子的基礎(chǔ)上針對(duì)以下情況作修正:
(1) 多個(gè)網(wǎng)段
(2) 封閉的內(nèi)部網(wǎng)
(3) 只能訪問局部公共網(wǎng)的情況(如169網(wǎng)、上海熱線等)
二、named、/etc/named.boot 和 ndc
DNS 服務(wù)器的主體是域名服務(wù)器進(jìn)程 named ,named 啟動(dòng)后向DNS客戶機(jī)提供域名解析服務(wù),把域名轉(zhuǎn)換成IP地址。
named 啟動(dòng)時(shí)需要讀取一個(gè)初始化文件,缺省情況下是 /etc/named.boot,所以/etc/named.boot 是 named 的基本配置文件。
雖然啟動(dòng) named 可直接執(zhí)行 named,在Linux上我們可以使用一個(gè)控制 named 的工具 ndc。ndc 可以用于啟動(dòng)、中止、重啟動(dòng)、刷新DNS數(shù)據(jù)、輸出DNS數(shù)據(jù)等多種調(diào)試功能,我在這里推薦大家用這個(gè)工具來幫助 DNS 服務(wù)器的調(diào)試。
有關(guān) ndc 的詳細(xì)用法,請(qǐng)參看 Linux 有關(guān)文檔。
三、建立 named 配置文件 /etc/named.boot
/etc/named.boot 是基本的配置文件,但不包含任何 DNS 數(shù)據(jù),針對(duì)我們前面的假定,我們先建立以下 /etc/named.boot,其內(nèi)容如下:
;
; boot file for name server
;
directory /var/named
primary my.com db.my
primary 0.0.127.IN-ADDR.ARPA db.127.0.0
primary 33.22.192.IN-ADDR.ARPA db.192.22.33
cache . db.cache
其中以“;”開頭的行是注釋行,其他各行含義是
(1)diretory /var/named
指定 named 從 /var/named 目錄下讀取 DNS 數(shù)據(jù)文件。這個(gè)目錄用戶可自行指定并創(chuàng)建,指定后所有的DNS 數(shù)據(jù)文件都存放在此目錄下。
(2)primary my.com db.my
指定 named 作為 my.com 域的主域名服務(wù)器,db.my 文件中包含所有 *.my.com 形式的域名轉(zhuǎn)換數(shù)據(jù)。
(3)primary 0.0.127.IN-ADDR.ARPA db.127.0.0
指定 named 作為127.0.0網(wǎng)段地址轉(zhuǎn)換主服務(wù)器,db.127.0.0 文件中包含了 127.0.0.* 形式的地址到域名的轉(zhuǎn)換數(shù)據(jù)。(127.0.0網(wǎng)段地址是局域網(wǎng)接口的內(nèi)部 loopback 地址)
(4)primary 33.22.192.IN-ADDR.ARPA db.192.22.33
指定 named 作為 192.22.33 網(wǎng)段地址轉(zhuǎn)換主服務(wù)器,db.192.22.33 文件中包含了所有 192.22.33.* 形式的地址到域名的轉(zhuǎn)換數(shù)據(jù)。
(5) cache . db.cache
指定 named 從 db.cache 文件中獲得 Internet 的頂層“根”服務(wù)器地址
要注意(3)(4)兩行中的網(wǎng)段地址是倒寫的,另外,各個(gè)文件名也是可以自行決定的。
四、建立各個(gè) DNS 數(shù)據(jù)文件
下一步,要按 /etc/named.boot 中的定義,建立各個(gè) DNS 數(shù)據(jù)文件。
(1)建立正向域名轉(zhuǎn)換數(shù)據(jù)文件 db.my
根據(jù) /etc/named.boot 的定義,我們?cè)?/var/named 目錄下建立 db.my,其中應(yīng)該包括所有在 my.com 域內(nèi)的主機(jī)節(jié)點(diǎn)。但在機(jī)器數(shù)量較多時(shí),為了調(diào)試方便,建議一開始只把幾臺(tái)節(jié)點(diǎn)的數(shù)據(jù)放入文件,待 named 正常工作后再把其他節(jié)點(diǎn)的數(shù)據(jù)補(bǔ)充進(jìn)去。下面是 db.my的例子:
@ IN SOA linux.my.com. root.linux.my.com. (
199511301 ; serial, todays date + todays serial #
28800 ; refresh, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86400 ) ; minimum, seconds
NS linux.my.com.
MX 10 support.my.com.
localhost A 127.0.0.1
linux A 192.22.33.20
support2 A 192.22.33.102
hp712 A 192.22.33.160
support A 192.22.33.100
mail MX 10 support.my.com.
MX 20 support2.my.com.
www CNAME hp712.my.com.
ftp CNAME hp712.my.com.
ns CNAME linux.my.com.
其中第一行是 SOA 記錄,定義了域名數(shù)據(jù)的基本信息,依次是 DNS 服務(wù)器名、DNS 管理員郵件地址,括號(hào)內(nèi)的第一個(gè)數(shù)字是文件版本號(hào),每次本文件內(nèi)容修改后,必須更改此號(hào)。其余數(shù)字與DNS服務(wù)器直接的數(shù)據(jù)交換有關(guān),在這里我們不需要改動(dòng)。
括號(hào)后面有一條 NS 記錄和一條 MX 記錄,定義了域名服務(wù)器本身的域名和 username@my.com 形式郵件地址所對(duì)應(yīng)的郵件服務(wù)器名字。
在此以下是各種域名/地址轉(zhuǎn)換數(shù)據(jù),其中 A 記錄是 DNS 域名到 IP 地址的記錄,是必須有的,以 hp712.my.com 為例,在 A 記錄中域 my.com 被省略,只寫成 hp712,named 在處理時(shí)會(huì)根據(jù) named.boot 中的定義自動(dòng)加上 my.com,而其對(duì)應(yīng) IP 地址為 192.22.33.160。
另一種記錄是 MX 記錄。MX 是郵件地址轉(zhuǎn)換記錄,本例中定義了將 username@mail.my.com 的郵件地址轉(zhuǎn)換成 username@support.my.com 或 username@support2.my.com,即實(shí)際上真正的郵件服務(wù)器是 support.my.com 和 support2.my.com,其中 support.my.com 的優(yōu)先數(shù)為 10,support2.my.com 的優(yōu)先數(shù)為 20,所以通常郵件首先被發(fā)往優(yōu)先數(shù)小的主機(jī) support.my.com。
還有一些是為方便提供的 CNAME 記錄。CNAME 定義了一些主機(jī)的別名,比如我們將 hp712.my.com 作為公司的 www 和 ftp 服務(wù)器,所以我們提供了 www.my.com 和 ftp.my.com 作為 hp712.my.com 的別名,用戶只需要根據(jù)習(xí)慣就可以訪問公司的 www、ftp 服務(wù)器了,如果將來我們換用別的主機(jī)作 www 和 ftp 服務(wù)器,只需要修改 CNAME 記錄就可,對(duì)用戶沒有影響。
注意:MX 和 CNAME 記錄最后的帶域名的主機(jī)名后必須帶一個(gè)“.”
(2)建立反向 DNS 數(shù)據(jù)文件 db.127.0.0 和 db.192.22.33
反向 DNS 數(shù)據(jù)文件用來提供根據(jù) IP 地址查詢相應(yīng) DNS 主機(jī)名,每個(gè)網(wǎng)段分別有一個(gè)數(shù)據(jù)文件。
對(duì)于內(nèi)部網(wǎng)段 127.0.0 通常只有一個(gè)地址,即 127.0.0.1 loopback 地址,db.127.0.0 內(nèi)容如下:
@ IN SOA linux.my.com root.linux.my.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS linux.my.com.
1 IN PTR localhost.
而外部網(wǎng)段的數(shù)據(jù)文件 db.192.22.33 中包含所有主機(jī) IP 地址到 DNS 主機(jī)名的轉(zhuǎn)換數(shù)據(jù)。db.192.22.33 內(nèi)容如下:
@ IN SOA linux.my.com. root.pc590.my.com. (
199609206 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS linux.my.com.
;
; All hosts
;
20 PTR linux.my.com.
102 PTR support2.my.com.
100 PTR support.my.com.
160 PTR hp712.my.com.
反向 DNS 數(shù)據(jù)文件中的主要部分是 PTR 記錄,PTR 記錄中的 IP 地址都只有主機(jī)號(hào),named 會(huì)根據(jù) named.boot 的定義自動(dòng)加上前面的網(wǎng)絡(luò)號(hào),注意后面的主機(jī)名要附加一個(gè)“.”
(3)獲得 db.cache 文件
在 Linux 系統(tǒng)上通常在 /var/named 下已經(jīng)提供了一個(gè) named.ca,該文件文件中包含了 Internet 的頂層域名服務(wù)器,但這個(gè)文件通常會(huì)發(fā)生變化,所以建議最好從 Internic 下載最新的版本。該文件可通過匿名 ftp 從 ftp.rs.internic.net 下載,在 domain 目錄下,文件名為 named.root。注意該文件下載后要拷貝到 named 的工作目錄并重命名成 named.boot 中指定的文件名,本文中為 db.cache。
五、啟動(dòng)和測(cè)試 named
首先,根據(jù)先前推薦的方法,用 ndc 啟動(dòng) named:
ndc start
然后,為了使用和測(cè)試 named,要把 Linux 設(shè)置在使用 DNS 狀態(tài)。方法是在 /etc 目錄下,創(chuàng)建 resolv.conf 文件。以我們的例子,/etc/resolv.conf 內(nèi)容為:
search my.com
nameserver 192.22.33.20
然后,我們就可以測(cè)試 named 了。
Linux 和其他 Unix 系統(tǒng)均提供了 nslookup 工具,在命令行狀態(tài)下輸入:
nslookup
就進(jìn)入交換式 nslookup 環(huán)境,如果 named 正常啟動(dòng),nslookup 會(huì)顯示當(dāng)前 DNS 服務(wù)器的地址和域名,否則表示 named 沒能正常啟動(dòng)。下面簡(jiǎn)單介紹一些基本的 DNS 診斷:
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -