[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 应用专题 > 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)



 
 相关文章

★  感谢所有的作者为我们学习技术知识提供了一条捷径  ★
www.fanqiang.com