1587.html

来自「著名的linux英雄站点的文档打包」· HTML 代码 · 共 541 行 · 第 1/3 页

HTML
541
字号
            </TD>
            <TD rowSpan=2><IMG src="images/header_r1_c7.gif" tppabs="http://www.linuxhero.com/docs/images/header_r1_c7.gif" width=26 border=0 name=header_r1_c7></TD>
          <TD><IMG height=83 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1 border=0></TD></TR>
        <TR>
          <TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif"><IMG height=22 
            src="images/header_r2_c1.gif" tppabs="http://www.linuxhero.com/docs/images/header_r2_c1.gif" width=296 border=0 
            name=header_r2_c1></TD>
          <TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colSpan=5>
              <DIV align=right><FONT class=normalfont>当前位置: 
              <A href="index.html" tppabs="http://www.linuxhero.com/docs/index.html">本站首页</A>
              <font color="#FF6699">&gt;&gt;</font>
<A href="type24.html" tppabs="http://www.linuxhero.com/docs/type24.html">域名服务</A>                 | <A href="copyright.html" tppabs="http://www.linuxhero.com/docs/copyright.html">版权说明</A></font></DIV>
            </TD>
          <TD><IMG height=22 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1 
        border=0></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=10 cellPadding=0 width="100%" bgColor=#ffffff 
        border=0>
         <TR>
          <TD>
            <TABLE cellSpacing=0 cellPadding=3 width="100%" border=0>
              
              <TR>
                <TD vAlign=top align=middle width="60%">
                  <TABLE cellSpacing=0 cellPadding=0 width="100%" 
                  background="images/back.gif" tppabs="http://www.linuxhero.com/docs/images/back.gif" border=0>
                    <TBODY>
                    <TR>
                        <TD vAlign=top width="80%"> 
                          <DIV align=center>
                        <FORM action="search.html" tppabs="http://www.linuxhero.com/docs/search.html" method=get>
                            </FORM>
                        <TABLE cellSpacing=0 cellPadding=0 width="95%" 
                          border=0><TBODY>
                          <TR>
                            <TD background="images/bgi.gif" tppabs="http://www.linuxhero.com/docs/images/bgi.gif" 
                          height=30></TD></TR></TBODY></TABLE>
                        <TABLE cellSpacing=0 cellPadding=3 width="95%" 
                        align=center border=0>
                          <TBODY>
                          <TR>
                            <TD>
                              <TABLE cellSpacing=0 cellPadding=3 width="100%" 
                              border=0>
                                <TBODY>
                                <TR>
                                      <TD vAlign=top> 
<p><FONT class=normalfont><B><font color=blue>在linux上建立DNS服务器</font></B></FONT><BR><FONT class=smallfont color=#ff9900>2004-04-23 15:18 pm</FONT><BR><FONT class=normalfont>作者:作者<br>来自:Linux知识宝库<br>联系方式:无名<br><br>一、 假定<br>
许多DNS的文章都是从DNS原理开始介绍,本人则从使用的角度出发,为linux的管理员提供一些简单实用的应用实例。<br>
<br>
下面假定我们需要建立一台企业网的DNS主服务器,应用条件如下:<br>
(1) 一个C类网段地址 (本例中假定是192.22.33)<br>
<br>
(2)企业域名为 my.com,并已注册 (主域名服务器地址 192.22.33.20,主机名为 linux.my.com)<br>
<br>
(3)企业网通过路由器与Internet连接<br>
<br>
假如你的应用环境与上述条件不同,也请往下看,本文会在上述例子的基础上针对以下情况作修正:<br>
<br>
(1) 多个网段<br>
<br>
(2) 封闭的内部网<br>
<br>
(3) 只能访问局部公共网的情况(如169网、上海热线等)<br>
<br>
二、named、/etc/named.boot 和 ndc<br>
DNS 服务器的主体是域名服务器进程 named ,named 启动后向DNS客户机提供域名解析服务,把域名转换成IP地址。<br>
<br>
named 启动时需要读取一个初始化文件,缺省情况下是 /etc/named.boot,所以/etc/named.boot 是 named 的基本配置文件。<br>
<br>
虽然启动 named 可直接执行 named,在linux上我们可以使用一个控制 named 的工具 ndc。ndc 可以用于启动、中止、重启动、刷新DNS数据、输出DNS数据等多种调试功能,我在这里推荐大家用这个工具来帮助 DNS 服务器的调试。<br>
<br>
有关 ndc 的详细用法,请参看 linux 有关文档。<br>
<br>
三、建立 named 配置文件 /etc/named.boot<br>
/etc/named.boot 是基本的配置文件,但不包含任何 DNS 数据,针对我们前面的假定,我们先建立以下 /etc/named.boot,其内容如下:<br>
<br>
;<br>
; boot file for name server<br>
;<br>
directory /var/named<br>
<br>
primary my.com db.my<br>
primary 0.0.127.IN-ADDR.ARPA db.127.0.0<br>
primary 33.22.192.IN-ADDR.ARPA db.192.22.33<br>
cache . db.cache<br>
其中以“;”开头的行是注释行,其他各行含义是<br>
<br>
(1)diretory /var/named<br>
<br>
指定 named 从 /var/named 目录下读取 DNS 数据文件。这个目录用户可自行指定并创建,指定后所有的DNS 数据文件都存放在此目录下。<br>
<br>
(2)primary my.com db.my<br>
<br>
指定 named 作为 my.com 域的主域名服务器,db.my 文件中包含所有 *.my.com 形式的域名转换数据。<br>
<br>
(3)primary 0.0.127.IN-ADDR.ARPA db.127.0.0 指定 named 作为127.0.0网段地址转换主服务器,db.127.0.0 文件中包含了 127.0.0.* 形式的地址到域名的转换数据。(127.0.0网段地址是局域网接口的内部 loopback 地址)<br>
<br>
(4)primary 33.22.192.IN-ADDR.ARPA db.192.22.33 指定 named 作为 192.22.33 网段地址转换主服务器,db.192.22.33 文件中包含了所有 192.22.33.* 形式的地址到域名的转换数据。<br>
<br>
(5) cache . db.cache<br>
<br>
指定 named 从 db.cache 文件中获得 Internet 的顶层“根”服务器地址要注意(3)(4)两行中的网段地址是倒写的,另外,各个文件名也是可以自行决定的。<br>
<br>
四、建立各个 DNS 数据文件<br>
下一步,要按 /etc/named.boot 中的定义,建立各个 DNS 数据文件。<br>
<br>
(1)建立正向域名转换数据文件 db.my<br>
根据 /etc/named.boot 的定义,我们在 /var/named 目录下建立 db.my,其中应该包括所有在 my.com 域内的主机节点。但在机器数量较多时,为了调试方便,建议一开始只把几台节点的数据放入文件,待 named 正常工作后再把其他节点的数据补充进去。下面是 db.my的例子:<br>
<br>
@ IN SOA linux.my.com. root.linux.my.com. (<br>
199511301 ; serial, todays date + todays serial #<br>
28800 ; refresh, seconds<br>
7200 ; retry, seconds<br>
3600000 ; expire, seconds<br>
86400 ) ; minimum, seconds<br>
NS linux.my.com.<br>
MX 10 support.my.com.<br>
<br>
localhost A 127.0.0.1<br>
linux A 192.22.33.20<br>
support2 A 192.22.33.102<br>
hp712 A 192.22.33.160<br>
support A 192.22.33.100<br>
mail MX 10 support.my.com.<br>
MX 20 support2.my.com.<br>
www CNAME hp712.my.com.<br>
ftp CNAME hp712.my.com.<br>
ns CNAME linux.my.com.<br>
其中第一行是 SOA 记录,定义了域名数据的基本信息,依次是 DNS 服务器名、DNS 管理员邮件地址,括号内的第一个数字是文件版本号,每次本文件内容修改后,必须更改此号。其余数字与DNS服务器直接的数据交换有关,在这里我们不需要改动。<br>
<br>
括号后面有一条NS记录和一条MX记录,定义了域名服务器本身的域名和username@my.com 形式邮件地址所对应的邮件服务器名字。<br>
<br>
在此以下是各种域名/地址转换数据,其中A记录是DNS域名到IP地址的记录,是必须有的,以hp712.my.com为例,在A记录中域 my.com 被省略,只写成 hp712,named 在处理时会根据 named.boot 中的定义自动加上 my.com,而其对应IP地址为 192.22.33.160。<br>
<br>
另一种记录是 MX 记录。MX 是邮件地址转换记录,本例中定义了将 username@mail.my.com 的邮件地址转换成username@support.my.com 或username@support2.my.com,即实际上真正的邮件服务器是support.my.com和 support2.my.com,其中support.my.com的优先数为10,support2.my.com的优先数为20,所以通常邮件首先被发往优先数小的主机 support.my.com。<br>
<br>
还有一些是为方便提供的CNAME记录。CNAME定义了一些主机的别名,比如我们将hp712.my.com作为公司的www和ftp服务器,所以我们提供了www.my.com和ftp.my.com作为hp712.my.com的别名,用户只需要根据习惯就可以访问公司的www、ftp服务器了,如果将来我们换用别的主机作www和ftp服务器,只需要修改CNAME记录就可,对用户没有影响。<br>
<br>
注意:MX 和 CNAME 记录最后的带域名的主机名后必须带一个“.”<br>
<br>
(2)建立反向 DNS 数据文件 db.127.0.0 和 db.192.22.33<br>
<br>
反向 DNS 数据文件用来提供根据 IP 地址查询相应 DNS 主机名,每个网段分别有一个数据文件。<br>
<br>
对于内部网段 127.0.0 通常只有一个地址,即 127.0.0.1 loopback 地址,db.127.0.0 内容如下:<br>
<br>
@ IN SOA linux.my.com root.linux.my.com. (<br>
1997022700 ; Serial<br>
28800 ; Refresh<br>
14400 ; Retry<br>
3600000 ; Expire<br>
86400 ) ; Minimum<br>
IN NS linux.my.com.<br>
<br>
1 IN PTR localhost.<br>
而外部网段的数据文件 db.192.22.33 中包含所有主机 IP 地址到 DNS 主机名的转换数据。db.192.22.33 内容如下:<br>
@ IN SOA linux.my.com. root.pc590.my.com. (<br>
199609206 ; Serial<br>
28800 ; Refresh<br>
7200 ; Retry<br>
604800 ; Expire<br>
86400) ; Minimum TTL<br>
NS linux.my.com.<br>
;<br>
; All hosts<br>
;<br>
20 PTR linux.my.com.<br>
102 PTR support2.my.com.<br>
100 PTR support.my.com.<br>
160 PTR hp712.my.com.<br>
反向 DNS 数据文件中的主要部分是 PTR 记录,PTR 记录中的 IP 地址都只有主机号,named 会根据 named.boot 的定义自动加上前面的网络号,注意后面的主机名要附加一个“.”<br>
<br>
(3)获得 db.cache 文件<br>
<br>
在 linux 系统上通常在/var/named下已经提供了一个named.ca,该文件文件中包含了Internet的顶层域名服务器,但这个文件通常会发生变化,所以建议最好从Internic下载最新的版本。该文件可通过匿名ftp从ftp.rs.internic.net下载,在 domain目录下,文件名为 named.root。注意该文件下载后要拷贝到named的工作目录并重命名成 named.boot中指定的文件名,本文中为 db.cache。<br>
<br>
五、启动和测试named<br>
首先,根据先前推荐的方法,用ndc启动 named:<br>
<br>
ndc start  <br>
然后,为了使用和测试 named,要把 linux 设置在使用 DNS 状态。方法是在 /etc 目录下,创建 resolv.conf 文件。以我们的例子,/etc/resolv.conf 内容为:<br>

⌨️ 快捷键说明

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