BBS水木清华站∶精华区

发信人: czlong (紫龙), 信区: Linux        
标  题: DNS HOWTO 中译版-5 
发信站: BBS 水木清华站 (Sun Feb  4 15:47:37 2001) 
 
 
5. 真实领域的例子 
这里我们列出一些真正的区域档案  
 
使用者建议我加上一个可以运作的真实例子,因为我对真正可运作的领域及虚拟□ 
例之间差别解释的不够清楚.  
 
关於这个例子有件事必须声明: 千万不要把它放到你的名称伺服器上! 把它当作参 
考资料来阅读就好.如果你想做实验,用上面虚拟的例子.我经过 LAND-5 的  
David Bullock 的同意才使用这个例子.这些档案的日期是 1996 年九月二十日, 
因此如果你现在查询 LAND-5 的名称伺服器可能会发现有所不同.还有,请记住, 
删去前面的空白 :-)  
 
 
5.1 /etc/named.boot (或 /var/named/named.boot)  
我们发现需要两行 primary 的反向区域: 一个是 127.0.0,另一个是 LAND-5 的 
子网路 206.6.177.还有一行给 land-5.com 的正向区域.还有一点要注意的是不 
像我在这篇文章里将档案放在 pz 目录里,他将它们放到叫做 zone 的目录.  
 
 
 
------------------------------------------------------------------------ 
-------- 
 
;  Boot file for LAND-5 name server 

directory /var/named 

; type          domain                          source file or host 
cache           .                               root.cache 
primary         0.0.127.in-addr.arpa            zone/127.0.0 
primary         177.6.206.in-addr.arpa          zone/206.6.177 
primary         land-5.com                      zone/land-5.com 
 
 
------------------------------------------------------------------------ 
-------- 
 
 
5.2 /var/named/root.cache  
记住这个档案是动态的,这边列出来的是旧的.你最好自己用 dig 产生一个新的 
.  
 
 
 
------------------------------------------------------------------------ 
-------- 
 
; <<>> DiG 2.1 <<>>  
;; res options: init recurs defnam dnsrch 
;; got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6 
;; flags: qr rd ra; Ques: 1, Ans: 9, Auth: 0, Addit: 9 
;; QUESTIONS: 
;;      ., type = NS, class = IN 
 
;; ANSWERS: 
 .       518357  NS      H.ROOT-SERVERS.NET. 
 .       518357  NS      B.ROOT-SERVERS.NET. 
 .       518357  NS      C.ROOT-SERVERS.NET. 
 .       518357  NS      D.ROOT-SERVERS.NET. 
 .       518357  NS      E.ROOT-SERVERS.NET. 
 .       518357  NS      I.ROOT-SERVERS.NET. 
 .       518357  NS      F.ROOT-SERVERS.NET. 
 .       518357  NS      G.ROOT-SERVERS.NET. 
 .       518357  NS      A.ROOT-SERVERS.NET. 
 
;; ADDITIONAL RECORDS: 
H.ROOT-SERVERS.NET.     165593  A       128.63.2.53 
B.ROOT-SERVERS.NET.     165593  A       128.9.0.107 
C.ROOT-SERVERS.NET.     222766  A       192.33.4.12 
D.ROOT-SERVERS.NET.     165593  A       128.8.10.90 
E.ROOT-SERVERS.NET.     165593  A       192.203.230.10 
I.ROOT-SERVERS.NET.     165593  A       192.36.148.17 
F.ROOT-SERVERS.NET.     299616  A       192.5.5.241 
G.ROOT-SERVERS.NET.     165593  A       192.112.36.4 
A.ROOT-SERVERS.NET.     165593  A       198.41.0.4 
 
;; Total query time: 250 msec 
;; FROM: land-5 to SERVER: default ---- 127.0.0.1 
;; WHEN: Fri Sep 20 10:11:22 1996 
;; MSG SIZE  sent: 17  rcvd: 312 
 
 
------------------------------------------------------------------------ 
-------- 
 
 
5.3 /var/named/zone/127.0.0  
不过是基本的,不能省略的 SOA 记录,以及将 127.0.0.1 指向 localhost 的记 
录.两者都是必须的.不应有其它的东西在此档案中.这个档案可能永远不必更新 
,除非你的名称伺服器或管理人地址改变.  
 
 
 
------------------------------------------------------------------------ 
-------- 
 
@               IN      SOA     land-5.com. root.land-5.com. ( 
                                199609203       ; Serial 
                                28800   ; Refresh 
                                7200    ; Retry 
                                604800  ; Expire 
                                86400)  ; Minimum TTL 
                        NS      land-5.com. 
         
1                       PTR     localhost. 
 
 
------------------------------------------------------------------------ 
-------- 
 
 
5.4 /var/named/zone/land-5.com  
在这里我们看到这个必须的 SOA 记录,必要的 NS 记录.我们可以看到它有一个 
次要的名称伺服器於 ns2.psi.net.这也应该是必要的,总是保有一个次要的伺服 
器做为备份.我们还看到做为 LAND-5 负责所有不同服务的主机,它以许多的  
CNAME 记录做到这点 (另一个做法是用 A 记录).  
 
就像你从 SOA 记录看到的一样,区域档案以 land-5.com 开始,管理人是  
root@land-5.com.序号(serial)以 yyyymmdd 的格式加上当天的号码; 它可能是 
 1996 年九月二十号那天的第六个版本的区域档案.请记住序号必须单调地递增, 
这里它只用一位数字表示当天的号码,因此在编辑九次之後他必须等到明天才能再 
编辑这个档案.[译注] 因此应该考虑用两位数字.  
 
[译注] 
读者可能会奇怪为什麽不能用 1996092010 ? 这个数字也是递增的,所以当然可以 
.但到了明天第一次编档案时该用什麽呢? 如果用 199609211,那麽这个数字就比 
 1996092010 要小了.这样会有麻烦.因此作者建议应用两位数字,如  
1996092006.  
 
 
 
------------------------------------------------------------------------ 
-------- 
 
@       IN      SOA     land-5.com. root.land-5.com. ( 
                        199609206       ; serial, todays date + todays  
serial # 
                        10800           ; refresh, seconds 
                        7200            ; retry, seconds 
                        10800           ; expire, seconds 
                        86400 )         ; minimum, seconds 
                NS      land-5.com. 
                NS      ns2.psi.net. 
                MX      10 land-5.com.  ; Primary Mail Exchanger 
 
localhost       A       127.0.0.1 
 
router          A       206.6.177.1 
         
land-5.com.     A       206.6.177.2 
ns              CNAME   land-5.com. 
ftp             CNAME   land-5.com. 
www             CNAME   land-5.com. 
mail            CNAME   land-5.com. 
news            CNAME   land-5.com. 
 
funn            A       206.6.177.3 
illusions       CNAME   funn.land-5.com. 
@               TXT     "LAND-5 Corporation" 
 

;       Workstations 

ws_177200       A       206.6.177.200 
                MX      10 land-5.com.   ; Primary Mail Host 
ws_177201       A       206.6.177.201 
                MX      10 land-5.com.   ; Primary Mail Host 
ws_177202       A       206.6.177.202 
                MX      10 land-5.com.   ; Primary Mail Host 
ws_177203       A       206.6.177.203 
                MX      10 land-5.com.   ; Primary Mail Host 
ws_177204       A       206.6.177.204 
                MX      10 land-5.com.   ; Primary Mail Host 
ws_177205       A       206.6.177.205 
                MX      10 land-5.com.   ; Primary Mail Host 
; {Many repetitive definitions deleted - SNIP} 
ws_177250       A       206.6.177.250 
                MX      10 land-5.com.   ; Primary Mail Host 
ws_177251       A       206.6.177.251 
                MX      10 land-5.com.   ; Primary Mail Host 
ws_177252       A       206.6.177.252 
                MX      10 land-5.com.   ; Primary Mail Host 
ws_177253       A       206.6.177.253 
                MX      10 land-5.com.   ; Primary Mail Host 
ws_177254       A       206.6.177.254 
                MX      10 land-5.com.   ; Primary Mail Host 
 
 
------------------------------------------------------------------------ 
-------- 
 
另一件值得注意的事所有的工作站都没有个别的名称,而是用一开头加上最後两位 
的 IP 数字.用这样的惯例可以大量地简化维护工作,但可能有点不方便,而且, 
事实上可能是你的客户不满的来源.  
 
 
5.5 /var/named/zone/206.6.177  
我将在後面说明这个档案.  
 
 
 
------------------------------------------------------------------------ 
-------- 
 
@               IN      SOA     land-5.com. root.land-5.com. ( 
                                199609206       ; Serial 
                                28800   ; Refresh 
                                7200    ; Retry 
                                604800  ; Expire 
                                86400)  ; Minimum TTL 
                        NS      land-5.com. 
                        NS      ns2.psi.net. 

;       Servers 

1       PTR     router.land-5.com. 
2       PTR     land-5.com. 
3       PTR     funn.land-5.com. 

;       Workstations 

200     PTR     ws_177200.land-5.com. 
201     PTR     ws_177201.land-5.com. 
202     PTR     ws_177202.land-5.com. 
203     PTR     ws_177203.land-5.com. 
204     PTR     ws_177204.land-5.com. 
205     PTR     ws_177205.land-5.com. 
; {Many repetitive definitions deleted - SNIP} 
250     PTR     ws_177250.land-5.com. 
251     PTR     ws_177251.land-5.com. 
252     PTR     ws_177252.land-5.com. 
253     PTR     ws_177253.land-5.com. 
254     PTR     ws_177254.land-5.com. 
 
 
------------------------------------------------------------------------ 
-------- 
 
反向区域似乎是整个设定中最让人头痛的部份.它是在你有机器的 IP 数字时查询 
机器名称用的.例如: 你有一部 irc 伺服器接受 irc 客户端的连线.但你是挪威 
的伺服器因此你只希望接受来自挪威及其它斯堪地那维亚国家的连线.当你接到来 
自客户端的连线时 C 程式库能够告诉你连线机器的 IP 位址,因为客户端的 IP  
数字是包含在传入的网路封包中的.然後你可以呼叫一函式 gethostbyaddr 以给 
定的 IP 查询机器名称. gethostbyaddr 函式会向 DNS 询问,DNS 就会出去查询 
这台机器名称.假设客户端来自 ws_177200.land-5.com,C 程式库提供给 irc 伺 
服器的 IP 是 206.6.177.200.为找出机器的名称我们要查询 200.177.6.206. 
in-addr.arpa.DNS 伺服器首先找到负责 arpa. 的伺服器.然後找到 in-addr. 
arpa. 的伺服器,再来是反过来的 206,然後是 6,最後找到在 LAND-5 负责  
177.6.206.in-addr.arpa 区域的伺服器.由此我们得到 200.177.6.206. 
in-addr.arpa 的答案是 'PTR ws_177200.land-5.com' 记录,意指拥有 IP 206. 
6.177.200 的名称是 ws_177200.land-5.com.不过就像在解释 prep.ai.mit. 
edu 如何查询时所说,这过程稍微有点不对.  
 
回到 irc 伺服器的例子.irc 伺服器只接再来自斯堪地那维亚国家的连线,也就 
是, *.no, *.se, *.dk.ws_177200.land-5.com 这个名字显然并不符合任何这些 
.因此伺服器会拒绝连线.如果没有经由 in-addr.arpa 区域到 206.2.177.200  
的反向对应,伺服器将无法查到机器名称而将会拿 206.2.177.200 来和 *.no,  
*.se 及 *.dk 比较,当然找不到符合的.  
 
有些人会告诉你反向对应查询只对伺服器重要,或是一点也不重要.当然不是: 许 
多 ftp, news, irc 甚至 http 伺服器将不接受无法查到名称的机器连线.因此事 
实上机器的反向名称对应是必须的.  
 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 210.34.33.55] 

BBS水木清华站∶精华区