下一页 上一页 目录

7. 一个真实的域名例子

在这里我们列出一些真实的区域文件

用户建议我包含一个真实可用的域名例子,以及教程中的例子。

我经 LAND-5 的 David Bullock 许可使用了这个例子。这些文件是 1996 年 9 月 24 日当时的最新版本,然后我对其进行了编辑,以符合 BIND 8 的限制并使用扩展。因此,你在这里看到的与你现在查询 LAND-5 的域名服务器所找到的略有不同。

7.1 /etc/named.conf (或 /var/named/named.conf)

在这里我们找到了两个需要的反向区域的主区域节:127.0.0 网络,以及 LAND-5 的 206.6.177 子网,以及 land-5 的正向区域 land-5.com 的主线。还要注意,他没有像我在本 HOWTO 中那样将文件塞进一个名为 pz 的目录,而是将它们放在一个名为 zone 的目录中。


// Boot file for LAND-5 name server

options {
        directory "/var/named";
};

controls {
        inet 127.0.0.1 allow { localhost; } keys { rndc_key; };
};

key "rndc_key" {
        algorithm hmac-md5;
        secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K";
};

zone "." {
        type hint;
        file "root.hints";
};

zone "0.0.127.in-addr.arpa" {
        type master;
        file "zone/127.0.0";
};

zone "land-5.com" {
        type master;
        file "zone/land-5.com";
};

zone "177.6.206.in-addr.arpa" {
        type master;
        file "zone/206.6.177";
};

如果你将此内容放入你的 named.conf 文件中进行实验,在两个 land-5 区域的区域节中放入 ``notify no;'',以避免意外发生。

7.2 /var/named/root.hints

请记住,此文件是动态的,此处列出的文件是旧的。你最好使用较新的文件,如前面所述。


; <<>> DiG 8.1 <<>> @A.ROOT-SERVERS.NET. 
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
;; QUERY SECTION:
;;      ., type = NS, class = IN

;; ANSWER SECTION:
.                       6D IN NS        G.ROOT-SERVERS.NET.
.                       6D IN NS        J.ROOT-SERVERS.NET.
.                       6D IN NS        K.ROOT-SERVERS.NET.
.                       6D IN NS        L.ROOT-SERVERS.NET.
.                       6D IN NS        M.ROOT-SERVERS.NET.
.                       6D IN NS        A.ROOT-SERVERS.NET.
.                       6D IN NS        H.ROOT-SERVERS.NET.
.                       6D IN NS        B.ROOT-SERVERS.NET.
.                       6D IN NS        C.ROOT-SERVERS.NET.
.                       6D IN NS        D.ROOT-SERVERS.NET.
.                       6D IN NS        E.ROOT-SERVERS.NET.
.                       6D IN NS        I.ROOT-SERVERS.NET.
.                       6D IN NS        F.ROOT-SERVERS.NET.

;; ADDITIONAL SECTION:
G.ROOT-SERVERS.NET.     5w6d16h IN A    192.112.36.4
J.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.10
K.ROOT-SERVERS.NET.     5w6d16h IN A    193.0.14.129
L.ROOT-SERVERS.NET.     5w6d16h IN A    198.32.64.12
M.ROOT-SERVERS.NET.     5w6d16h IN A    202.12.27.33
A.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.4
H.ROOT-SERVERS.NET.     5w6d16h IN A    128.63.2.53
B.ROOT-SERVERS.NET.     5w6d16h IN A    128.9.0.107
C.ROOT-SERVERS.NET.     5w6d16h IN A    192.33.4.12
D.ROOT-SERVERS.NET.     5w6d16h IN A    128.8.10.90
E.ROOT-SERVERS.NET.     5w6d16h IN A    192.203.230.10
I.ROOT-SERVERS.NET.     5w6d16h IN A    192.36.148.17
F.ROOT-SERVERS.NET.     5w6d16h IN A    192.5.5.241

;; Total query time: 215 msec
;; FROM: roke.uio.no to SERVER: A.ROOT-SERVERS.NET.  198.41.0.4
;; WHEN: Sun Feb 15 01:22:51 1998
;; MSG SIZE  sent: 17  rcvd: 436

7.3 /var/named/zone/127.0.0

只是基本内容,强制性的 SOA 记录,以及将 127.0.0.1 映射到 localhost 的记录。两者都是必需的。此文件中不应包含更多内容。除非你的域名服务器或主机管理员地址更改,否则可能永远不需要更新它。


$TTL 3D
@               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.

如果你查看一个随机的 BIND 安装,你可能会发现 $TTL 行缺失,就像这里一样。以前没有使用它,只有 BIND 的 8.2 版本才开始警告它的缺失。BIND 9 要求 $TTL

7.4 /var/named/zone/land-5.com

在这里我们看到了强制性的 SOA 记录,以及需要的 NS 记录。我们可以看到他在 ns2.psi.net 有一个辅助域名服务器。这是应该的,始终应该有一个异地辅助服务器作为备份。我们还可以看到他有一个名为 land-5 的主主机,它负责许多不同的 Internet 服务,并且他使用 CNAME 完成了这一点(另一种选择是使用 A 记录)。

正如你从 SOA 记录中看到的,区域文件起源于 land-5.com,联系人是 root@land-5.comhostmaster 是另一个常用的联系人地址。序列号是通常的 yyyymmdd 格式,并附加了今天的序列号;这可能是 1996 年 9 月 20 日区域文件的第六个版本。请记住,序列号必须单调递增,这里今天的序列号只有一位数字,因此在 9 次编辑后,他必须等到明天才能再次编辑该文件。考虑使用两位数字。


$TTL 3D
@       IN      SOA     land-5.com. root.land-5.com. (
                        199609206       ; serial, todays date + todays serial #
                        8H              ; refresh, seconds
                        2H              ; retry, seconds
                        4W              ; expire, seconds
                        1D )            ; minimum, seconds
                NS      land-5.com.
                NS      ns2.psi.net.
                MX      10 land-5.com.  ; Primary Mail Exchanger
                TXT     "LAND-5 Corporation"

localhost       A       127.0.0.1

router          A       206.6.177.1
        
land-5.com.     A       206.6.177.2
ns              A       206.6.177.3
www             A       207.159.141.192

ftp             CNAME   land-5.com.
mail            CNAME   land-5.com.
news            CNAME   land-5.com.

funn            A       206.6.177.2

;
;       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

如果你检查 land-5 的域名服务器,你会发现主机名的格式为 ws_number。从后期的 BIND 4 版本开始,named 开始强制执行对主机名中可以使用的字符的限制。这在 BIND 8 中完全不起作用,为了在本 HOWTO 中使用,我用 '-' (破折号) 替换了 '_' (下划线)。但是,如前所述,BIND 9 不再强制执行此限制。

另一个需要注意的是,工作站没有单独的名称,而是使用前缀后跟 IP 地址的最后两位数字。使用这样的约定可以大大简化维护,但可能有点没有人情味,并且实际上可能成为你的客户不满的来源。

我们还看到 funn.land-5.comland-5.com 的别名,但使用的是 A 记录,而不是 CNAME 记录。

7.5 /var/named/zone/206.6.177

我将在下面评论这个文件


$TTL 3D
@               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.
2       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 地址时查找主机名。示例:你是一个 FTP 服务器,接受来自 FTP 客户端的连接。由于你是一个挪威 FTP 服务器,你希望接受更多来自挪威和其他斯堪的纳维亚国家的客户端连接,并减少来自世界其他地区的连接。当你收到来自客户端的连接时,C 库能够告诉你连接机器的 IP 地址,因为客户端的 IP 地址包含在网络上传输的所有数据包中。现在你可以调用一个名为 gethostbyaddr 的函数,该函数根据 IP 地址查找主机名。Gethostbyaddr 将询问 DNS 服务器,然后 DNS 服务器将遍历 DNS 查找机器。假设客户端连接来自 ws-177200.land-5.com。C 库提供给 FTP 服务器的 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'' 记录,这意味着与 206.6.177.200 关联的名称是 ws-177200.land-5.com

FTP 服务器优先处理来自斯堪的纳维亚国家的连接,即 *.no*.se*.dk,名称 ws-177200.land-5.com 显然与其中任何一个都不匹配,服务器会将连接放入带宽较小且允许客户端较少的连接类中。如果通过 in-addr.arpa 区域没有 206.2.177.200 的反向映射,服务器将无法找到名称,并且必须将 206.2.177.200*.no*.se*.dk 进行比较,这些都不匹配,它甚至可能因为缺乏分类而拒绝连接。

有些人会告诉你,反向查找映射仅对服务器重要,或者根本不重要。事实并非如此:许多 ftp、新闻、IRC 甚至一些 http (WWW) 服务器会接受来自无法找到其名称的机器的连接。因此,机器的反向映射实际上是强制性的


下一页 上一页 目录