[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 應用技術 > DNS > 正文
DNS 架設管理
不詳 (2001-05-02 03:17:21)
# 版權宣告: 1999 Copyright OLS3 All rights reserved. 

# 作者: OLS3 (臥龍小三) 
# 本講義僅供台南縣 87 學年度網路管理進階研習班上課之用. 
# 學員可保存一份自用, 供日後網管時參考備查. 
# 作者保有一切形式的著作權. 
# 欲作其它用途者, 需經作者授權同意. 
DNS 架設

一. 何謂 DNS?

在連線要求時, 我們通常都是使用主機網域名稱, 如 dns.jmjh.tnc.edu.tw

雖然使用 IP 也是可以的, 但是因為 IP 很難記(本身沒啥意義), 所以, 還是以網址名稱來連線居多.

不過, 電腦並不認得 dns.jmjh.tnc.edu.tw, 它只認得 IP, 因此, 必須有一部機器, 能夠將我們要求連線的網域名稱轉換成對應的 IP 位址(這樣的轉換, 稱為正解), 才能順利的連線.

提供這種服務的機制, 我們稱之為網域名稱服務(Domain Name Service 或 Domain Name System), 簡稱為 DNS.

而提供這個服務的機器, 我們便稱它為一部網域名稱伺服器(Domain Name Server).

通常, 在申請網域及 IP 時, 必須有二部 DNS 正常運作, 才有資格向 InterNic 申請.

但對小網域而言, 大都使用變通的方法, 比如 www.ols3.com 這部機器, 就是用一台主機二個 IP , 分別代表二台 DNS, 但其實只有一台主機而已. (因為財力不足嘛!!)

這台 DNS 伺服器, 除了回應查詢之外, 也會記錄同一網路內的主機, 以供網際網路上其它主機的查詢(而且也會將它知道的關於其它網域主機的資料快取下來, 俟一定有效期限之後, 才予以丟棄)

另外, 這台 DNS 伺服器, 通常也會提供另一個方向的服務, 
也就是由 IP 反查某一台主機的網域名稱(這樣的轉換, 稱為反解).

近年來, 由交通大學發起的拒絕反解不正常的主機連線, 指的就是如果該網域的 DNS 在反解的功能不正確的話, 將拒絕其連線要求, . (詳情, 請參考: http://ns.nctu.edu.tw/ )

二. DNS 的架構

DNS 採階層式的架構, 在每一層的每個節點, 都有一個名稱, 而連同其上層的名稱全部加起來, 便構成此節點的網域名稱(domain), 而每一個節點, 必須負起管理該網域的責任(委任), 這個區域, 我們稱它為一個 zone. 

(domain 和 zone 有時是很難區分的, 對於一個最下層的 doamin 而言, 它本身便是一個 zone; domain 包含其下層所有的網域, 但 zone 只包含自己管轄的責任區域, 不含委任出去的網域)

換言之, 如果把 DNS 視為一株反轉樹的話, 網域就是其中的一個子樹, 而 zone 則只是網域的一部份, 或等於該網域.

如: (例子在課堂上畫圖)

jmjh.tnc.edu.tw. 

. (代表根DNS) -> tw -> tnc -> jmjh

三. 架設之前的準備

在架設之前, 最好, 將貴校的網路架構, 畫張簡圖出來, 可以幫您了解全盤.

(例子在課堂上畫圖)

四. 需要的軟體

我們使用 bind 4.9.x 或 bind 8.x.x 來架設.

安裝好 bind 之後, 其 daemon 程式名稱為 named.

五. 開始架設

先以 bind 4.9.x 為例, 末了再用轉換程式, 改為 bind 8.x.x 的設定.

需要那些檔案?

起動檔: named.boot (4.9.x) 或 named.conf (8.x.x) 
zone 資料檔: db.jmjh 
反查資料檔: db.163.26.167 
local 反查檔: rev-127.0.0 
cache 檔: named.ca 
起動檔位於 /etc/named.boot 或 /etc/named.conf

named 的設定檔目錄, 通常放在 /var/named 中.

起動檔(Boot File)

named.boot

[root@s1 named]# cat /etc/named.boot
;
; jmjh nameserver config
;
directory                                /var/named
;
; keyword       網域                     設定檔名稱
;---------      -----------------------  --------------
cache           .                        named.ca
primary         0.0.127.in-addr.arpa     rev-127.0.0
primary         jmjh.tnc.edu.tw          db.jmjh
primary         167.26.163.in-addr.arpa  db.163.26.167



關鍵字說明:

directory : 指定 bind 的設定檔目錄位置, 在這裡, 是設定在 /var/named 中 
primary : 定義一個主要名稱伺服器的設定檔 
cache : 定義根網域伺服器的設定檔 
secondary : 定義一個次要名稱伺服器的設定檔 
欲將此 named.boot 轉成 8.x.x 起動檔的格式, 可下:

named-bootconf.pl named.boot > named.conf

named-bootconf.pl 在 /usr/doc/bind-8.2/named-bootconf/Grot/named-bootconf.pl

 

1. 正解設定檔: db.jmjh


$TTL 259200
@  IN  SOA  dns.jmjh.tnc.edu.tw.  root.dns.jmjh.tnc.edu.tw. (
                            1999071106  ; Serial - 序號
                                86400   ; Refresh - 一天
                                1800    ; Retry - 以秒為單位  
                                1728000 ; Expire - 20 天  
                                259200 ); Minimum TTL - 3 天  
;----------------------------------------------------------------------------
                        IN      NS      dns.jmjh.tnc.edu.tw.

dns                     IN      A       163.26.167.1

jmjh.tnc.edu.tw.        IN      A       163.26.167.1
;

@                       IN      MX      0       mail.jmjh.tnc.edu.tw.
@                       IN      MX      10      s2.jmjh.tnc.edu.tw.
;
s1                      IN      CNAME   dns.jmjh.tnc.edu.tw.
www                     IN      CNAME   dns.jmjh.tnc.edu.tw.
ftp                     IN      CNAME   dns.jmjh.tnc.edu.tw.
;-----------------------------------------------------------------
mail                    IN      A       163.26.167.1
s2                      IN      A       163.26.167.2
s3                      IN      A       163.26.167.3
nt                      IN      A       163.26.167.6
;



說明 :

DNS 的設定檔, 每一列都是一筆資源記錄(Resource Record), 簡稱 RR.

RR 的定義格式如下:

網域 ttl  類別 型態 該型態的資料值

其中 ttl 可以省略, 此時, 將使用 SOA 中 的 最小 TTL(Time To Live 存活時間), 如果資料值超過一列, 可以使用括號.

說明:

@ : 代表預設的網域, 在此指的是 jmjh.tnc.edu.tw 
IN : Internet 類別 
常見的型態有以下幾種:

SOA : Start of Authority 型態, 用來描述一個 zone 授權的開始.

SOA 的資料值, 格式如下:
                  (Secondary  Secondary Secondary) (Other server cache)
主要名稱伺服器  聯絡人email 序號 更新時間 再試時間 過期期限 最小存活時間

其中聯絡人的 email 原本如 root@jmjh.tnc.edu.tw 中的 @ 應改為 . , 因為 @ 這個符號對 bind 而言,另有其它用途.


NS 代表 Name Server 型態 
MX 代表 Mail Exchange 型態(郵件交換伺服器), 其資料格的格式如下:

優先權值 郵件主機

其中,優先權值的數字越小, 表示其優先程度越高

整體的格式是:

網域 IN MX 優先權值數字 郵件主機網域名稱

例:

   IN MX 0 mail.jmjh.tnc.edu.tw.


A 代表 Address 型態 
CNAME 代表別名型態 
PTR 代表反查 IP 的指標型態(POINTER) 
若主機網域名稱最後沒有 . , 表示是相對的記法, 此時, bind 會自動幫它加上網域名稱,

比如: dns -> dns.jmjh.tnc.edu.tw.

若主機網域名稱最有以 . 結束, 表示是絕對的記法,

如 dns.jmjh.tnc.edu.tw.

若網域名稱省略, 表示和前一筆 RR 的網域名稱是同一個.

2. 反查設定檔

[nobody@cm1 named]$ cat db.163.26.167
@   IN   SOA   dns.jmjh.tnc.edu.tw.  root.dns.jmjh.tnc.edu.tw. (
                            1999071100  ; Serial
                                86400   ; Refresh - 1 days
                                1800    ; Retry
                                1728000 ; Expire - 20 days
                                259200 ); Minimum TTL - 3 days
;----------------------------------------------------------------------------
               IN  NS  dns.jmjh.tnc.edu.tw.

;
1              IN  PTR dns.jmjh.tnc.edu.tw.
2              IN  PTR s2.jmjh.tnc.edu.tw.
3              IN  PTR s3.jmjh.tnc.edu.tw.
;
6              IN  PTR nt.jmjh.tnc.edu.tw.


3. Loopback 反查設定檔: rev-127.0.0



@       IN      SOA     dns.jmjh.tnc.edu.tw. root.dns.jmjh.tnc.edu.tw. (
                                        1999071100      ; Serial
                                        86400           ; Refresh - 1 days
                                        1800            ; Retry
                                        1728000         ; Expire - 20 days
                                        259200 )        ; Minimum TTL - 3 days
;----------------------------------------------------------------------------
                        IN      NS      dns.jmjh.tnc.edu.tw.

1       IN      PTR     localhost.


4. 根名稱伺服器位址設定檔 named.ca

;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the "cache  .  "
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC registration services
;       under anonymous FTP as
;           file                /domain/named.root
;           on server           FTP.RS.INTERNIC.NET
;       -OR- under Gopher at    RS.INTERNIC.NET
;           under menu          InterNIC Registration Services (NSI)
;              submenu          InterNIC Registration Archives
;           file                named.root
;
;       last update:    Aug 22, 1997
;       related version of root zone:   1997082200
;
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
;
; formerly C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; formerly TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; formerly NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; formerly NS.ISC.ORG
;
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
;
; formerly NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
;
; temporarily housed at NSI (InterNIC)
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129 
;
; temporarily housed at ISI (IANA)
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
;
; housed in Japan, operated by WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
; End of File


每次修改完之後, 記得:

增加序號的值之後, 才存檔.


要重新啟動 named, 下:

kill -HUP  named 的PID編號

或 

/etc/rc.d/init.d/named restart

或 

ndc restart 
 

如何測試 DNS 是否正常?

使用 nslookup

例:

[nobody@cm1 html]$ nslookup
Default Server:  dns.jmjh.tnc.edu.tw
Address:  163.26.167.1

> nt
Server:  dns.jmjh.tnc.edu.tw
Address:  163.26.167.1

Name:    nt.jmjh.tnc.edu.tw
Address:  163.26.167.6

> 163.26.167.2Server:  dns.jmjh.tnc.edu.tw
Address:  163.26.167.1

Name:    s2.jmjh.tnc.edu.tw
Address:  163.26.167.2
> exit


(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章

======
 

★  樊強制作 歡迎分享  ★