Linux下架设自己的DNS(上)(4)

在 TTL 之后是一个 IN﹐定义出目前的记录类型是属於 internet class 的 (奇怪﹐目前的 DNS 还有其它 class 吗﹖)。

在 IN 之后就是这行 RR 的记录类别名称﹐这裡是 SOA ﹐也就是“Start Of Authority”的意思﹐表示目前区域的授权记录开始。每一个记录档只能有一个 SOA ﹐不得重复﹐而且必须是所负责的 zone 中第一个“记录”。

紧接 SOA 后面﹐指定了这个区域的授权主机和管理者的信箱﹐这裡分别是“ @ ”和“ root ”﹐也就是 localhost. 主机和 root 信箱。这裡要注意的是﹕SOA 的主机名称必须能够在 DNS 系统中找到一个 A 记录 (以后会提到)﹔另外﹐我们平时使用的信箱通常是“user@host”这样的格式﹐但因為“@”在 DNS 记录中是个保留字符(刚才已经提过)﹐所以在 SOA 中就用“.”来代替了“ @ ”。目前这个信箱是 root (并没有主机位址)﹐也就是本机﹐您可以写成 “root.localhost.”但不能写成“root@localhost.”。

接下来的 SOA 设定﹐是被括在“( )”之间的 5 组数字﹐主要作為和 slave 伺服器同步 DNS 资料所使用的数据﹕


Serial﹕其格式通常会是“年月日+修改次序”(但也不一定如此﹐您自己能够记得就行)。当 slave 要进行资料同步的时候﹐会比较这个号码。如果发现在这裡的号码比它那边的数值“大”﹐就进行更新﹐否则忽略。不过设 serial 有一个地方您要留意﹕不能超过 10 位数字﹗
Refresh﹕这裡是是告诉 slave 要隔多久要进行资料同步(是否同步要看 Serial 的比较结果)。
Retry﹕如果 slave 在进行更新失败后﹐要隔多久再进行重试。
Expire﹕这是记录逾期时间﹕当 slave 一直未能成功与 master 取得联络﹐那到这裡就放弃 retry﹐同时这裡的资料也将标识為过期( expired )。
Minimum﹕这是最小预设 TTL 值﹐如果您在前面没有用“$TTL”来定义﹐就会以此值為准。

以上的数字都是以秒為单位﹐但您也可以用 H(小时)﹑D(天)﹑W(星期)来做单位﹐如﹕3H 和 259200 是一样的。但要值得一提的是﹕我在 RH6.2 版本中曾测试过使用 netconf 这工具来设定 DNS ﹐发现只能使用“秒”来设定。否则 netconf 会自动的把英文字母删除掉﹐那就不是我所预期的设定值了。无论您用什麼单位来设定﹐都要遵守下面的规则﹕

expire >= refresh + retry
expire >= 10 * retry


Tips﹕请注意﹕SOA 记录中这对 “ ( ) ”符号之第一个 “ (”括号一定要和 SOA 写在同一行﹐而不能用 Enter 断行到下一行去(有时候您在书本的范例中看到这个符号排在下一行去了﹐那是因為版面的关系而已)﹐而且其左边最好有一个空白键或 tab 建。而最后一个 “ )”括号也不能写在註解符号 “ ﹔”的右边。

设定 DNS 的 RR 记录档﹐其格式要求非常严格﹐我们丝毫不能掉以轻心。比方说﹕如果句子不是以空白键﹑Tab 键﹑ 或註解符号 ( ; )开头﹐也不在 SOA 的 “ ( ) ”之内﹐ 则表示要定义一个“新记录项 (Entry) ”﹔如果句子是以空白键或 tab 键开始的话﹐其设定被视為上一个“记录项”的内容。所以﹐如果您要為“同一个记录项”定义多个记录设定﹐而不想重复打字﹐您倒可以偷懒﹕在接著它的后面几行用空白或 Tab 来缩排就可以了。所以﹐最后这两行还是关於 localhost. 的设定﹐因為上一个“资料项”為 “ @ ”﹐也就是 localhost. 。当然﹐您如不喜欢﹐这两行句子也可以这样写﹕

;; 修改前﹕
1D IN NS @
1D IN A 127.0.0.1

;; 修改后﹕
@1D IN NS @
@1D IN A 127.0.0.1

;; 或﹕
localhost.1D IN NS localhost.
localhost.1D IN A 127.0.0.1


这两行的意思是说﹕负责 localhost. 这个记录的 name server ( NS ) 是 localhost. 这台机器﹔而 localhost. 的 IP Address ( A ) 是 127.0.0.1 。DNS 裡面的 A 记录应该是最常见的记录类型之一﹐如果在 IPv6 版本中﹐位址记录名称则改為 AAAA 。


Tips﹕关於更多的记录名称﹐请参阅“学习网路”中的“DNS 协定”。

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyxgxg.html