📄 dns-howto.txt
字号:
Server: localhostAddress: 127.0.0.1Name: localhostAddress: 127.0.0.1 所以它管理从 127.0.0.1 得到 localhost 的过程,很好. 现在开始我们的主要 任务,linux.bogus 这个领域, 在 named.boot 里 插入新的一行 primary 指 令: _________________________________________________________________ primary linux.bogus pz/linux.bogus _________________________________________________________________ 注意,在 named.boot 档案里领域名称的结尾还是没有 '.' 符号. 在这个 linux.bogus 区域档案里我们将会放入一些完全虚拟的资料: _________________________________________________________________ ;; Zone file for linux.bogus;; Mandatory minimum for a working domain;@ IN SOA linux.bogus. hostmaster.linux.bogus. ( 199511301 ; serial, todays date + todays serial # 28800 ; refresh, seconds 7200 ; retry, seconds 3600000 ; expire, seconds 86400 ) ; minimum, seconds NS ns.linux.bogus. NS ns.friend.bogus. MX 10 mail.linux.bogus ; Primary Mail Exchanger MX 20 mail.friend.bogus. ; Secondary Mail Exchangerlocalhost A 127.0.0.1ns A 127.0.0.2mail A 127.0.0.4 _________________________________________________________________ 关於 SOA 记录有两件事需要注意.首先 ns.linux.bogus 必须 是一台具有 A 记 录的真正机器. 在 SOA 记录中用 CNAME 记录为名称的机器是不合法的.它的名 字不一定要是 ns,它可以是任何合法的主机名称. 再来 ,hostmaster.linux.bogus 应该被视为 hostmaster@linux.bogus,这应该是一 个邮件位址或别名, 是维护这个 DNS 的人经常读信的位址.任何关於此领域的 信件会被送到这个位址. 它的名字不一定要是 hostmaster,它可以是任何合法 的电子邮件位址,然而这个位址 `hostmaster' 应该能工作正常. 在这个档案里有一种新的资源记录型态,即 MX 型态,或是邮件交换者资源记 录(Mail eXchanger RR). 这种资源记录型态告诉邮递系统地址 someone@linux.bogus 的邮件要寄送到哪里, 换句话说也就是应该寄送到 mail.linux.bogus 或是 mail.friend.bogus. 在每个机器名称前面的数字是 MX 资源记录的优先权,数字比较低 (10) 的资源记录是邮件主要应该寄往的机器 . 如果失败可以把它寄往数字比较高的机器,一台次要的邮件处理者,也就是在 这里具有优先权 20 的 mail.friend.bogus. 用 ndc restart 重新起始 named.以 nslookup 检验结果: $ nslookup> set q=any> linux.bogusServer: localhostAddress: 127.0.0.1linux.bogus origin = linux.bogus mail addr = hostmaster.linux.bogus serial = 199511301 refresh = 28800 (8 hours) retry = 7200 (2 hours) expire = 604800 (7 days) minimum ttl = 86400 (1 day)linux.bogus nameserver = ns.linux.boguslinux.bogus nameserver = ns.friend.boguslinux.bogus preference = 10, mail exchanger = mail.linux.bogus.linux.boguslinux.bogus preference = 20, mail exchanger = mail.friend.boguslinux.bogus nameserver = ns.linux.boguslinux.bogus nameserver = ns.friend.bogusns.linux.bogus internet address = 127.0.0.2mail.linux.bogus internet address = 127.0.0.4 小心地检验你将会发现一个错误.这一行 linux.bogus preference = 10, mail exchanger = mail.linux.bogus.linux.bogus 全都错了.它应该是 linux.bogus preference = 10, mail exchanger = mail.linux.bogus 我故意犯了个错误所以你可以藉此学习:-) 仔细看看该区域档案我们会发现这一 行 @ MX 10 mail.linux.bogus ; Primary Mail Exchanger 遗漏了一个句点.或是说多了个 `linux.bogus'. 在区域档案里如果一个机器名 称不是以句点结尾那麽会在其结尾加入基点.所以不论是 _________________________________________________________________ @ MX 10 mail.linux.bogus. ; Primary Mail Exchanger _________________________________________________________________ 或是 _________________________________________________________________ @ MX 10 mail ; Primary Mail Exchanger _________________________________________________________________ 都是正确的.我比较喜欢後面这种形式,它需要的打字比较少. 在一个区域档案 里领域名称应该要不就是写出来并以 `.' 结尾或者就是一点都不要包含进去, 而在这种情况下其领域预设为基点.其它人也许喜欢采用另一种方式. 我必须强调的是在 named.boot 档案里领域名称後面不应该有 `.' 的存在. 你 不知道有多少次因为多了或少了一个 `.' 而搞砸了并且对许多人造成困扰. 所以在加入我强调的重点後得到一份新的区域档案,其中还包含一些额外的资 讯: _________________________________________________________________ ;; Zone file for linux.bogus;; Mandatory minimum for a working domain;@ IN SOA linux.bogus. hostmaster.linux.bogus. ( 199511301 ; serial, todays date + todays serial # 28800 ; refresh, seconds 7200 ; retry, seconds 604800 ; expire, seconds 86400 ) ; minimum, seconds NS ns ; Inet Address of name server NS ns.friend.bogus. MX 10 mail ; Primary Mail Exchanger MX 20 mail.friend.bogus. ; Secondary Mail Exchangerlocalhost A 127.0.0.1ns A 127.0.0.2mail A 127.0.0.4;; Extras;@ TXT "Linux.Bogus, your DNS consultants"ns MX 10 mail MX 20 mail.friend.bogus. HINFO "Pentium" "Linux 1.2" TXT "RMS"richard CNAME nswww CNAME nsdonald A 127.0.0.3 MX 10 mail MX 20 mail.friend.bogus. HINFO "i486" "Linux 1.2" TXT "DEK"mail MX 10 mail MX 20 mail.friend.bogus. HINFO "386sx" "Linux 1.0.9"ftp A 127.0.0.5 MX 10 mail MX 20 mail.friend.bogus. HINFO "P6" "Linux 1.3.59" _________________________________________________________________ 你也许会想要移动前面三个 A 记录以便让它们靠近其它的相关记录,而不是像这 样放在最前端. 这里有几个新的资源记录: 主机资讯(HINFO: Host INFOrmation) 包括两个部份 , 使用引号涵括每个部份是个好习惯.第一个部份是机器上的硬体或是中央处理 单元, 而第二个部份是机器上的软体或是作业系统.ns 有一颗 Pentium CPU 并 且执行 Linux 1.2 系统. TXT 记录是个随意的文字记录,你可以用它来记录任 何事情. 正式名称(CNAME: Canonical NAME)可以用来给每台机器数个名称. 所 以 richard 以及 www 都是 ns 的一个别名. 很重要的一点是 A, MX, CNAME, 以及 SOA 记录永远不该参照 CNAME 记录设定的别名, 它们只应该参照 A 记录 所设定的名称,所以像这样的记录是错的 _________________________________________________________________ foobar CNAME richard ; NO! _________________________________________________________________ 不过这样是对的 _________________________________________________________________ foobar CNAME ns ; Yes! _________________________________________________________________ 还有一点也很重要的是注意正式名称所设定的对电子邮递位址而言不是合法主机 名称: webmaster@www.linux.bogus 以上面的设定而言是一个不合法的电子邮递 位址. 即使它在你的系统上可以运作,可以预料的是很少有电子邮件管理者会去 实行这项规则. 避免这个问题的方法是使用 A 记录(或者也可能是一些其它的, 像是 MX 记录)来取代之: _________________________________________________________________ www A 127.0.0.2 _________________________________________________________________ Paul Vixie, 主要的 named 专家,建议不要使用 CNAME 这个设定. 所以应该考 虑不要很认真地去使用它. 藉由执行 ndc reload 载入新的资料库,这会使 named 再一次读取其档案. $ nslookupDefault Server: localhostAddress: 127.0.0.1> ls -d linux.bogus 这意指应该列出所有的记录 [localhost] linux.bogus. SOA ns.linux.bogus hostmaster.linux.bogus. (199511301 28800 7200 604800 86400) linux.bogus. NS ns.linux.bogus linux.bogus. NS ns.friend.bogus linux.bogus. MX 10 mail.linux.bogus linux.bogus. MX 20 mail.friend.bogus linux.bogus. TXT "Linux.Bogus, your DNS consultants" localhost A 127.0.0.1 mail A 127.0.0.4 mail MX 10 mail.linux.bogus mail MX 20 mail.friend.bogus mail HINFO 386sx Linux 1.0.9 donald A 127.0.0.3 donald MX 10 mail.linux.bogus donald MX 20 mail.friend.bogus donald HINFO i486 Linux 1.2 donald TXT "DEK" www CNAME ns.linux.bogus richard CNAME ns.linux.bogus ftp A 127.0.0.5 ftp MX 10 mail.linux.bogus ftp MX 20 mail.friend.bogus ftp HINFO P6 Linux 1.3.59 ns A 127.0.0.2 ns MX 10 mail.linux.bogus ns MX 20 mail.friend.bogus ns HINFO Pentium Linux 1.2 ns TXT "RMS" linux.bogus. SOA ns.linux.bogus hostmaster.linux.bogus. (199511301 28800 7200 604800 86400) 很好.让我们检查它对於单独的 www 会说什麽: > set q=any> www.linux.bogus.Server: localhostAddress: 127.0.0.1www.linux.bogus canonical name = ns.linux.bogus ...换句话说,www.linux.bogus 真正的名称是 ns.linux.bogus. linux.bogus nameserver = ns.linux.boguslinux.bogus nameserver = ns.friend.bogusns.linux.bogus internet address = 127.0.0.2 而 ns.linux.bogus 拥有 127.0.0.2 这个位址.看起来也很好. 4.3 继续深入 当然,这个领域是高度虚拟的,里面所有的位址也都是,而这或许会让你有些混 淆. 真实领域的一个真实例子请见下一节. 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -