⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 025.htm

📁 尝试使用有意义的结构与组织
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->Linux HowTo 中译版-->DNS HOWTO 中译版 : 一个简单的领域</TITLE>
<META NAME="keywords" CONTENT=" Linux HowTo 中译版 DNS HOWTO 中译版 : 一个简单的领域">
<META NAME="description" CONTENT=" - Linux HowTo 中译版 - DNS HOWTO 中译版 : 一个简单的领域">

<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋体"}
.tt2 {font: 12pt/15pt "宋体"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%"  bgcolor="#e0e0e0"><strong><A HREF="026.htm">后一页</A><BR>
<A HREF="024.htm">前一页</A><BR>

<A HREF="index.html">回目录</A><BR>
<A HREF="../../../../index.htm">回首页</A><BR>
</strong>
</TD>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷体_GB2312">DNS HOWTO 中译版 : 一个简单的领域</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
姓名:Nicolai Langfeldt<br>
Email:<br>
地址 :<br>
转摘 :http://member.netease.com/</p>
<BR>
<BR>
<hr SIZE="0">
<BR>
<p><br>
<br>
4. 一个简单的领域 <br>
如何建立你自己的领域 <br>
<br>
4.1. 先来一点纯理论 <br>
在我们真的开始进行这一节以前我将会提供你一些关於 DNS
如何运作的理论.而你应该阅读它因为这对你有益.如果你不‘想要’那麽至少你也得很快地略读一下.当你看到应该放进
named.boot 档案里去的内容时再停止这种略读方式. <br>
<br>
DNS 是一个阶层式的系统.其顶端写作 `.' 而其发音为 `root' .在 .
之下有几个顶层领域(TLDs),最知名的是 ORG, COM, EDU 以及 NET
这几个,但是还有更多. <br>
<br>
在寻找一台机器名称时查询会以递回方法从顶端开始.当你想要找出
prep.ai.mit.edu 的位址时你的名称伺服器必须找到负责 edu
的一台名称伺服器.这个问题它会去查问 root.cache 档案,而 .
伺服器会给它一份 edu 伺服器列表. <br>
<br>
$ nslookup <br>
Default Server: localhost <br>
Address: 127.0.0.1 <br>
<br>
开始查问某台根伺服器. <br>
&gt; server c.root-servers.net. <br>
Default Server: c.root-servers.net <br>
Address: 192.33.4.12 <br>
<br>
设定查询型态为 NS (名称伺服器记录 name server records). <br>
&gt; set q=ns <br>
<br>
查问关於 edu. 的资料. <br>
&gt; edu. <br>
<br>
结尾的 . 在这里非常重要,它告诉该伺服器我们所查问的 edu 是在 .
之下的那一个,这稍能缩小搜寻的□围. <br>
edu nameserver = A.ROOT-SERVERS.NET <br>
edu nameserver = H.ROOT-SERVERS.NET <br>
edu nameserver = B.ROOT-SERVERS.NET <br>
edu nameserver = C.ROOT-SERVERS.NET <br>
edu nameserver = D.ROOT-SERVERS.NET <br>
edu nameserver = E.ROOT-SERVERS.NET <br>
edu nameserver = I.ROOT-SERVERS.NET <br>
edu nameserver = F.ROOT-SERVERS.NET <br>
edu nameserver = G.ROOT-SERVERS.NET <br>
A.ROOT-SERVERS.NET internet address = 198.41.0.4 <br>
H.ROOT-SERVERS.NET internet address = 128.63.2.53 <br>
B.ROOT-SERVERS.NET internet address = 128.9.0.107 <br>
C.ROOT-SERVERS.NET internet address = 192.33.4.12 <br>
D.ROOT-SERVERS.NET internet address = 128.8.10.90 <br>
E.ROOT-SERVERS.NET internet address = 192.203.230.10 <br>
I.ROOT-SERVERS.NET internet address = 192.36.148.17 <br>
F.ROOT-SERVERS.NET internet address = 192.5.5.241 <br>
G.ROOT-SERVERS.NET internet address = 192.112.36.4 <br>
<br>
这告诉我们 *.root-servers.net 服务 edu.
领域,所以我们可以藉此继续查问 c
伺服器.现在我们想要知道是谁负责下一层 mit.edu. 的领域名称: <br>
&gt; mit.edu. <br>
Server: c.root-servers.net <br>
Address: 192.33.4.12 <br>
<br>
Non-authoritative answer: <br>
mit.edu nameserver = STRAWB.mit.edu <br>
mit.edu nameserver = W20NS.mit.edu <br>
mit.edu nameserver = BITSY.mit.edu <br>
<br>
Authoritative answers can be found from: <br>
STRAWB.mit.edu internet address = 18.71.0.151 <br>
W20NS.mit.edu internet address = 18.70.0.160 <br>
BITSY.mit.edu internet address = 18.72.0.3 <br>
<br>
steawb, w20ns 以及 bitsy 负责 mit 领域,选择其中一个并且查询 ai.mit.edu: <br>
&gt; server W20NS.mit.edu. <br>
<br>
<br>
主机名称不分大小写,但是我使用滑鼠来剪贴所以这些资料是萤幕的拷贝.
<br>
<br>
Server: W20NS.mit.edu <br>
Address: 18.70.0.160 <br>
<br>
&gt; ai.mit.edu. <br>
Server: W20NS.mit.edu <br>
Address: 18.70.0.160 <br>
<br>
Non-authoritative answer: <br>
ai.mit.edu nameserver = WHEATIES.AI.MIT.EDU <br>
ai.mit.edu nameserver = ALPHA-BITS.AI.MIT.EDU <br>
ai.mit.edu nameserver = GRAPE-NUTS.AI.MIT.EDU <br>
ai.mit.edu nameserver = TRIX.AI.MIT.EDU <br>
ai.mit.edu nameserver = MUESLI.AI.MIT.EDU <br>
<br>
Authoritative answers can be found from: <br>
AI.MIT.EDU nameserver = WHEATIES.AI.MIT.EDU <br>
AI.MIT.EDU nameserver = ALPHA-BITS.AI.MIT.EDU <br>
AI.MIT.EDU nameserver = GRAPE-NUTS.AI.MIT.EDU <br>
AI.MIT.EDU nameserver = TRIX.AI.MIT.EDU <br>
AI.MIT.EDU nameserver = MUESLI.AI.MIT.EDU <br>
WHEATIES.AI.MIT.EDU internet address = 128.52.32.13 <br>
WHEATIES.AI.MIT.EDU internet address = 128.52.35.13 <br>
ALPHA-BITS.AI.MIT.EDU internet address = 128.52.32.5 <br>
ALPHA-BITS.AI.MIT.EDU internet address = 128.52.37.5 <br>
GRAPE-NUTS.AI.MIT.EDU internet address = 128.52.32.4 <br>
GRAPE-NUTS.AI.MIT.EDU internet address = 128.52.36.4 <br>
TRIX.AI.MIT.EDU internet address = 128.52.32.6 <br>
TRIX.AI.MIT.EDU internet address = 128.52.38.6 <br>
MUESLI.AI.MIT.EDU internet address = 128.52.32.7 <br>
MUESLI.AI.MIT.EDU internet address = 128.52.39.7 <br>
<br>
所以 weaties.ai.mit.edu 是 ai.mit.edu 的一台名称伺服器: <br>
&gt; server WHEATIES.AI.MIT.EDU. <br>
Default Server: WHEATIES.AI.MIT.EDU <br>
Addresses: 128.52.32.13, 128.52.35.13 <br>
<br>
<br>
现在我改变查询的型态,我们已经找到该名称伺服器所以现在我们将要询问
wheaties 关於 prep.ai.mit.edu 它所知道的任何事情. <br>
<br>
&gt; set q=any <br>
&gt; prep.ai.mit.edu. <br>
Server: WHEATIES.AI.MIT.EDU <br>
Addresses: 128.52.32.13, 128.52.35.13 <br>
<br>
prep.ai.mit.edu CPU = dec/decstation-5000.25 OS = unix <br>
prep.ai.mit.edu <br>
inet address = 18.159.0.42, protocol = tcp <br>
#21 #23 #25 #79 <br>
prep.ai.mit.edu preference = 1, mail exchanger = life.ai.mit.edu <br>
prep.ai.mit.edu internet address = 18.159.0.42 <br>
ai.mit.edu nameserver = alpha-bits.ai.mit.edu <br>
ai.mit.edu nameserver = wheaties.ai.mit.edu <br>
ai.mit.edu nameserver = grape-nuts.ai.mit.edu <br>
ai.mit.edu nameserver = mini-wheats.ai.mit.edu <br>
ai.mit.edu nameserver = trix.ai.mit.edu <br>
ai.mit.edu nameserver = muesli.ai.mit.edu <br>
ai.mit.edu nameserver = count-chocula.ai.mit.edu <br>
ai.mit.edu nameserver = life.ai.mit.edu <br>
ai.mit.edu nameserver = mintaka.lcs.mit.edu <br>
life.ai.mit.edu internet address = 128.52.32.80 <br>
alpha-bits.ai.mit.edu internet address = 128.52.32.5 <br>
wheaties.ai.mit.edu internet address = 128.52.35.13 <br>
wheaties.ai.mit.edu internet address = 128.52.32.13 <br>
grape-nuts.ai.mit.edu internet address = 128.52.36.4 <br>
grape-nuts.ai.mit.edu internet address = 128.52.32.4 <br>
mini-wheats.ai.mit.edu internet address = 128.52.32.11 <br>
mini-wheats.ai.mit.edu internet address = 128.52.54.11 <br>
mintaka.lcs.mit.edu internet address = 18.26.0.36 <br>
<br>
所以我们从 .
开始连续找出在领域名称里的下一层名称伺服器.如果你使用你自己的
DNS 伺服器而不是所有这些个其它的伺服器,你的 named
当然会暂存所有这些在为你寻找这个答案时所找到的资讯,而且在一段时间内它不必再次查问.
<br>
<br>
一个比较起来很少被论及,但是同样重要的是 in-addr.arpa
领域.它也像‘正常的’领域一样是巢状的. in-addr.arpa
让我们可以在拥有主机位址的时候得知该主机的名称.在这里有件重要的事情要注意的是在
in-addr.arpa 这个领域中 ip
数字是以反向顺序书写的.如果你有某台机器的位址: 192.128.52.43
那麽 named 会以类似 prep.ai.mit.edu 这个□例的方式来处理: 找出 arpa.
的伺服器,找出 in-addr.arpa. 的伺服器,然後再找出 192.in-addr.arpa.
的伺服器,找出 128.192.in-addr.arpa. 的伺服器,接著找出
52.128.192.in-addr.arpa. 的伺服器,最後再找出所需之
43.52.128.192.in-addr.arpa. 的记录.聪明乎? (说‘是的’).头两年这反向的数字也引起过一些困扰.
<br>
<br>
其实我是骗你的.DNS
并非完完全全地像我告诉你的这样运作.但是这已经够接近的了. <br>
<br>
4.2. 我们自己的领域 <br>
现在来定义我们自己的领域.我们将会创造出 linux.bogus
这个领域并且定义其中的机器.我使用一个完全是虚拟出来的领域名称以便确定我们不会扰乱到网路上的其它地方.
<br>
<br>
我们早就已经以 named.boot 里的这一行开始了这个部份的设定: <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
primary 0.0.127.in-addr.arpa pz/127.0.0 <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
<br>
请注意在这个档案里的领域名称结尾并没有加上 `.'
符号.第一行把定义 0.0.127.in-addr.arpa 的档案命名为 pz/127.0.0.我们早已经建立了这个档案,它是这样的:
<br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
@ IN SOA linux.bogus. hostmaster.linux.bogus. ( <br>
1 ; Serial <br>
28800 ; Refresh <br>
7200 ; Retry <br>
604800 ; Expire <br>
86400) ; Minimum TTL <br>
NS ns.linux.bogus. <br>
1 PTR localhost. <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
<br>
请注意在这个档案里所有的完整领域名称结尾的 `.'
符号,这与上面提到的 named.boot 档案形成对比.有些人喜欢以 $ORIGIN
指令启始每个区域档案,但这是不必要的.一个区域档案的基点(就是其所属的
DNS 阶层架构位置)是在 named.boot
档案的‘领域’行里指定的,在这个例子里是 0.0.127.in-addr.arpa. <br>
<br>
这个‘区域档案’中包含三种‘资源记录’(resource records, RRs):
一个是 SOA 资源记录.一个是 NS 资源记录以及一个 PTR 记录. SOA
是授权起始(Start Of Authority)的缩写.`@'
是个意思为基点的特殊标记,而因为这个档案的‘领域’行说是
0.0.127.in-addr.arpa 所以第一行实际上是指 <br>
<br>
0.0.127.IN-ADDR.ARPA. IN SOA ... <br>
<br>
<br>
NS 是名称伺服器资源记录,它告诉 DNS 什麽机器是这个领域
0.0.127.in-addr.arpa 的名称伺服器,也就是 ns.linux.bogus. 而最後的 PTR
记录说 1 (等於是 1.0.0.127.IN-ADDR.ARPA, 也就是 127.0.0.1)的名称是 localhost.
<br>
<br>
SOA
这个记录是所有区域档案的序文,而且在每一个区域档案里都应该有这唯一的一个,最开头的记录.它描述该区域,它从何而来(一台称为
linux.bogus 的机器),谁负责其内容(hostmaster@linux.bogus),这个区域档案是什麽版本(serial:
1),以及其它必须做的,有关暂存与次要名称伺服器的事.剩下的栏位如
refresh, retry, expire 以及 minimum
你可以使用这份文件里所用的数字而且应该不会出问题. <br>
<br>
现在重新起始你的 named(使用 ndc restart 指令)并使用 nslookup
来检验我们做了什麽: <br>
<br>
$ nslookup <br>
<br>
Default Server: localhost <br>
Address: 127.0.0.1 <br>
<br>
&gt; 127.0.0.1 <br>
Server: localhost <br>
Address: 127.0.0.1 <br>
<br>
Name: localhost <br>
Address: 127.0.0.1 <br>
<br>
所以它管理从 127.0.0.1 得到 localhost
的过程,很好.现在开始我们的主要任务,linux.bogus 这个领域,在
named.boot 里 插入新的一行 primary 指令: <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
primary linux.bogus pz/linux.bogus <br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -