歡迎您光臨本站 註冊首頁

OpenBSD2.8伺服器配置實務手冊(2)

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  作者:zenz-hu
第二課、設置域名解釋服務


??首先解釋一下域名服務(DNS-Domain Name Server)的作用。其實,鏈接到網路的電腦,只需要知道IP地址就可以實現訪問。但是誰會去記住129.128.5.191這個IP地址是代表OpenBSD的伺服器呢?當然是www.openbsd.org容易記憶得多了。域名服務所實現的作用,就是把www.openbsd.org這樣的名字轉換成電腦可以識別的129.128.5.191這樣的IP地址。
??所以域名解釋服務應當包含兩種轉換過程:從名字到IP地址(正向解釋);從IP地址到名字(反向解釋)。理解了這些基本感念,配置域名解釋服務得時候就會比較容易了。

第一節、設置named.boot文件
??OpenBSD 2.8系統在安裝完成後就已經有域名解釋服務程序named 4.9.7-REL,只是需要人工設定啟動。named的配置文件在/var/named目錄裡面,文件名是named.boot。一個簡單的,可以使用的(當然是和手冊的例子聯繫起來啦!)的named.boot的文件內容如下:
directory /namedb
cache . root.cache
primary 0.0.127.IN-ADDR.ARPA localhost.rev
primary 32.168.192.IN-ADDR.ARPA 01tech.rev
primary 01tech.nat 01tech
??可以用vi工具來編輯這個文件(vi的使用方法請參考『附錄4』)。解釋一下這個文件各行的含義:
??第一行用於指定域名解釋文件所在目錄,其實真正的域名解釋文件是放在/var/named/namedb目錄裡面,因為我們將採用chroot的方式(執行程序的時候切換到程序需要的用戶,並以改用戶的根目錄作為根目錄的方式)執行named,所以這裡是/namedb。
??第二行指定了緩存文件,對於曾經訪問過的域名,將會記錄在緩存文件裡面,以後查詢的時候就會快很多。緩存文件的文件名是root.cache。
??第三行指定了對於本機的域名反解文件。0.0.127.IN-ADDR.ARPA的寫法其實就是說要反過來求127.0.0.x(x的範圍是1~255)的對應名稱。相關的解釋文件是localhost.rev
??第四行和第三行同理,就是要求192.168.32.x的對應名稱。相關的解釋文件是01tech.rev
??第五行是正解,指定凡是域名為01tech.nat的名稱都交給01tech文件進行解釋。

第二節、配置域名解釋文件
??然後,我們看看/var/namedb目錄裡面的文件的內容,在系統沒有配置域名解釋服務的時候,默認只有兩個文件:localhost.rev和root.cache,其中的localhost.rev並非我們需要的內容,要自行改寫,改寫后的內容如下:
@ IN SOA moo.01tech.nat. root.moo.01tech.nat. (
14 ;Serial
3600 ;Refresh
900 ;Retry
3600000 ;Expire
3600) ;Minimum
IN NS moo.01tech.nat.
1 IN PTR localhost.
??解釋一下這個文件的構成吧!其實這個文件由三個RR(Resource record)構成,或者我們用表格的方式來分析,會比較容易理解吧:
[ name ] [ ttl ] [ class ] type data
@ 省略 IN SOA ……
省略 省略 IN NS ……
1 省略 IN PTR ……
Name必須為主機名或者域名,當使用@時代表縮寫,就是和named.boot文件中指定的一樣,在這裡就代表127.0.0.x了。
ttl是指此條數據的有效保存期限,通常都忽略掉,採用默認的ttl值。
class指定網路類型,IN代表Internet,基本上都不會使用別的類型。
type常見的有SOA、NS、A、PTR、MX、CNAME等。
SOA(Start Of Authority)後面跟負責這個域的主機,管理員郵箱,序列號,副解釋域更新間隔,副解釋域更新失敗重試間隔,主解釋域失敗時副解釋域提供數據的有效期限,其他域名解釋伺服器保留本域名解釋伺服器的時間。需要注意的是,在主機和管理員郵箱后一定不能缺少「.」否則系統會自動加上完整的域名,例如只寫moo的話,系統會添加為moo.01tech.nat。所以也可以簡單的把SOA語句寫作SOA moo root.moo (……)。
NS(Name Server)後面跟指定的提供域名解釋服務的主機名
PTR(Pointer)後面是對應於前面IP地址的名稱。
A(Address)後面是對應於前面的名稱的IP地址。需要注意正解的A和反解的PTR的記錄必須相符,否則會造成DNS查詢不正常,系統變慢。
CNAME用於建立別名,這樣訪問別名的時候,就會轉為訪問正式的名稱。
MX記錄的是一串目的地址列表,用於告訴郵件伺服器傳送信件的優先順序。
對於A、CNAME、MX的使用方法將會在後面的正解文件中看到,以後將不再作出解釋。
??01tech.rev的文件內容和localhost.rev文件基本相同,如下:
@ IN SOA moo.01tech.nat. root.moo.01tech.nat. (
14 ;Serial
3600 ;Refresh
900 ;Retry
3600000 ;Expire
3600) ;Minimum
IN NS moo.01tech.nat.
1 IN PTR moo.01tech.nat.
??01tech的內容如下:
@ IN SOA moo.01tech.nat. root.moo.01tech.nat. (
14 ;Serial
3600 ;Refresh
900 ;Retry
3600000 ;Expire
3600) ;Minimum
IN NS moo.01tech.nat.
IN MX 5 pop.01tech.nat.
moo IN A 192.168.32.1
www IN CNAME moo
pop IN CNAME moo
smtp IN CNAME moo
localhost. IN CNAME moo
01tech.nat. IN CNAME moo
第三節、測試DNS
??好了,說了一大堆的東西,需要好好消化,不過我們還是看看我們的DNS是否正常吧,通過以下的命令啟動named:
named ?t /var/named
??然後用nslookup來檢查DNS是否正常。以下是nslookup運行的結果,任何時候如果域名不能解釋,通過按Ctrl+C可以中斷查詢。
nslookup
Default Server: moo.01tech.nat
Address: 192.168.32.1
>pop
Server: moo.01tech.nat
Address: 192.168.32.1
Name: moo.01tech.nat
Address: 192.168.32.1
Aliases: pop.01tech.nat
>exit
??如果您完全按照手冊的例子來配置您的DNS,但是查詢卻沒有這樣的結果,那麼您需要重新再來,好好吃透上面的說明了。

第四節、在啟動系統的時候自動啟動DNS
??要使系統在啟動時自動啟動DNS服務非常簡單,修改/etc/rc.conf文件裡面的相關項就可以了
named_flags=NO 改為 named_flags=」」


[火星人 ] OpenBSD2.8伺服器配置實務手冊(2)已經有433次圍觀

http://coctec.com/docs/unix/show-post-73952.html