域名服务-在linux上建立dns服务器_第1页
域名服务-在linux上建立dns服务器_第2页
域名服务-在linux上建立dns服务器_第3页
域名服务-在linux上建立dns服务器_第4页
域名服务-在linux上建立dns服务器_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、域名服务 - 在linux上建立DNS服务器一、 假定许多DNS的文章都是从DNS原理开始介绍,本人则从使用的角度出发,为linux的管理员提供一些简单实用的应用实例。下面假定我们需要建立一台企业网的DNS主服务器,应用条件如下:(1) 一个C类网段地址 (本例中假定是192.22.33)(2)企业域名为 ,并已注册 (主域名服务器地址 0,主机名为 )(3)企业网通过路由器与Internet连接假如你的应用环境与上述条件不同,也请往下看,本文会在上述例子的基础上针对以下情况作修正:(1) 多个网段(2) 封闭的内部网(3) 只能访问局部公共网的情况(如169网、上海热线等)二、named、/

2、etc/named.boot 和 ndcDNS 服务器的主体是域名服务器进程 named ,named 启动后向DNS客户机提供域名解析服务,把域名转换成IP地址。named 启动时需要读取一个初始化文件,缺省情况下是 /etc/named.boot,所以/etc/named.boot 是 named 的基本配置文件。虽然启动 named 可直接执行 named,在linux上我们可以使用一个控制 named 的工具 ndc。ndc 可以用于启动、中止、重启动、刷新DNS数据、输出DNS数据等多种调试功能,我在这里推荐大家用这个工具来帮助 DNS 服务器的调试。有关 ndc 的详细用法,请参看

3、 linux 有关文档。三、建立 named 配置文件 /etc/named.boot/etc/named.boot 是基本的配置文件,但不包含任何 DNS 数据,针对我们前面的假定,我们先建立以下 /etc/named.boot,其内容如下:; boot file for name server;directory /var/namedprimary db.myprimary 0.0.127.IN-ADDR.ARPA db.127.0.0primary 33.22.192.IN-ADDR.ARPA db.192.22.33cache . db.cache其中以“;”开头的行是注释行,其他各行

4、含义是(1)diretory /var/named指定 named 从 /var/named 目录下读取 DNS 数据文件。这个目录用户可自行指定并创建,指定后所有的DNS 数据文件都存放在此目录下。(2)primary db.my指定 named 作为 域的主域名服务器,db.my 文件中包含所有 *. 形式的域名转换数据。(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网段地址是局域网接口的内部

5、loopback 地址)(4)primary 33.22.192.IN-ADDR.ARPA db.192.22.33 指定 named 作为 192.22.33 网段地址转换主服务器,db.192.22.33 文件中包含了所有 192.22.33.* 形式的地址到域名的转换数据。(5) cache . db.cache指定 named 从 db.cache 文件中获得 Internet 的顶层“根”服务器地址要注意(3)(4)两行中的网段地址是倒写的,另外,各个文件名也是可以自行决定的。四、建立各个 DNS 数据文件下一步,要按 /etc/named.boot 中的定义,建立各个 DNS 数据

6、文件。(1)建立正向域名转换数据文件 db.my根据 /etc/named.boot 的定义,我们在 /var/named 目录下建立 db.my,其中应该包括所有在 域内的主机节点。但在机器数量较多时,为了调试方便,建议一开始只把几台节点的数据放入文件,待 named 正常工作后再把其他节点的数据补充进去。下面是 db.my的例子: IN SOA . . (199511301 ; serial, todays date + todays serial #28800 ; refresh, seconds7200 ; retry, seconds3600000 ; expire, seconds

7、86400 ) ; minimum, secondsNS .MX 10 .localhost A linux A 0support2 A 02hp712 A 60support A 00mail MX 10 .MX 20 .www CNAME .ftp CNAME .ns CNAME .其中第一行是 SOA 记录,定义了域名数据的基本信息,依次是 DNS 服务器名、DNS 管理员邮件地址,括号内的第一个数字是文件版本号,每次本文件内容修改后,必须更改此号。其余数字与DNS服务器直接的数据交换有关,在这里我们不需要改动。括号后面有一条NS记录和一条MX记录,定义了域名服务器本身的域名和usern

8、ame 形式邮件地址所对应的邮件服务器名字。在此以下是各种域名/地址转换数据,其中A记录是DNS域名到IP地址的记录,是必须有的,以为例,在A记录中域 被省略,只写成 hp712,named 在处理时会根据 named.boot 中的定义自动加上 ,而其对应IP地址为 60。另一种记录是 MX 记录。MX 是邮件地址转换记录,本例中定义了将 username 的邮件地址转换成username 或username,即实际上真正的邮件服务器是和 ,其中的优先数为10,的优先数为20,所以通常邮件首先被发往优先数小的主机 。还有一些是为方便提供的CNAME记录。CNAME定义了一些主机的别名,比如我

9、们将作为公司的www和ftp服务器,所以我们提供了和作为的别名,用户只需要根据习惯就可以访问公司的www、ftp服务器了,如果将来我们换用别的主机作www和ftp服务器,只需要修改CNAME记录就可,对用户没有影响。注意:MX 和 CNAME 记录最后的带域名的主机名后必须带一个“.”(2)建立反向 DNS 数据文件 db.127.0.0 和 db.192.22.33反向 DNS 数据文件用来提供根据 IP 地址查询相应 DNS 主机名,每个网段分别有一个数据文件。对于内部网段 127.0.0 通常只有一个地址,即 loopback 地址,db.127.0.0 内容如下: IN SOA . (

10、1997022700 ; Serial28800 ; Refresh14400 ; Retry3600000 ; Expire86400 ) ; MinimumIN NS .1 IN PTR localhost.而外部网段的数据文件 db.192.22.33 中包含所有主机 IP 地址到 DNS 主机名的转换数据。db.192.22.33 内容如下: IN SOA . . (199609206 ; Serial28800 ; Refresh7200 ; Retry604800 ; Expire86400) ; Minimum TTLNS .; All hosts;20 PTR .102 PTR

11、 .100 PTR .160 PTR .反向 DNS 数据文件中的主要部分是 PTR 记录,PTR 记录中的 IP 地址都只有主机号,named 会根据 named.boot 的定义自动加上前面的网络号,注意后面的主机名要附加一个“.”(3)获得 db.cache 文件在 linux 系统上通常在/var/named下已经提供了一个named.ca,该文件文件中包含了Internet的顶层域名服务器,但这个文件通常会发生变化,所以建议最好从Internic下载最新的版本。该文件可通过匿名ftp从下载,在 domain目录下,文件名为 named.root。注意该文件下载后要拷贝到named的工

12、作目录并重命名成 named.boot中指定的文件名,本文中为 db.cache。五、启动和测试named首先,根据先前推荐的方法,用ndc启动 named:ndc start 然后,为了使用和测试 named,要把 linux 设置在使用 DNS 状态。方法是在 /etc 目录下,创建 resolv.conf 文件。以我们的例子,/etc/resolv.conf 内容为:search nameserver 0然后,我们就可以测试named 了。linux和其他Unix系统均提供了nslookup工具,在命令行状态下输入:nslookup 就进入交换式nslookup环境,如果named正常启

13、动,nslookup会显示当前DNS服务器的地址和域名,否则表示named没能正常启动。下面简单介绍一些基本的DNS诊断:(1)检查正向DNS解析在nslookup提示符下输入带域名的主机名,如 ,nslookup 应能显示该主机名对应的 IP地址,如果只输入hp712,nslookup 会根据/etc/resolv.conf 的定义,自动添加域名并回答对应的IP地址。(2)检查反向 DNS 解析在 nslookup 提示符下输入某个IP地址,如0,nslookup应能回答该IP地址所对应的主机名。(3)检查 MX 邮件地址记录在 nslookup 提示符下输入:set q=mx 然后输入某个

14、域名,以本文的例子,输入 或 ,nslookup 应能够回答对应的邮件服务器地址,即 和 。(4)检查 CNAME 别名记录在 nslookup 提示符下输入:set q=cname 然后输入某个别名,如 ,nslookup 应能回答对应的真实主机名,即 。如要退出 nslookup,可输入 exit。六、修改 DNS 数据如果要在网络中增加主机,例如要增加一台叫做的PC机,管理员要在db.my中增加该主机对应的A记录,并且要在db.192.22.33中增加对应的PTR记录,然后用ndc更新named的数据:ndc reload 要注意必须同时更改A记录和PTR记录,许多管理员往往只增加A记录

15、而忽略了逆向查询用的PTR记录,结果会使许多应用程序不能正常运行。特别注意,一旦修改了 DNS 数据文件的内容,请务必改动数据文件的版本号( Serial )七、使网络中的其他系统(客户机)使用 DNS 服务器一旦DNS服务器开始工作,就可以配置所有企业网内的主机使用 DNS 服务。Unix主机配置的方法,已经在前面说明过,即创建 /etc/resolv.conf 文件,内容见前面第五节。Windows 95的配置则是在网卡的TCP/IP配置中,选择使用DNS(enable),然后在配置窗口中分别填入各项参数。以本文的例子,如果运行 Windows95 的主机被命名为 ,则在主机名(Host)

16、一栏中填 pc01,在域名(Domain)一栏中填,然后把域名服务器(DNS Server)加入搜索列表中。Windows NT 节点的配置大致相同。八、几种不同环境下的修正(1)如果 IP 网段多于一个假定现在在 域中增加一个 IP 网段 192.22.37,则 /etc/named.boot 的内容中就增加一个网段的定义,具体如下:; boot file for name server;directory /var/namedprimary db.myprimary 0.0.127.IN-ADDR.ARPA db.127.0.0primary 33.22.192.IN-ADDR.ARPA

17、db.192.22.33primary 37.22.192.IN-ADDR.ARPA db.192.22.37cache . db.cache而反向 DNS 数据文件则增加一个定义192.22.37网段的文件 db.192.22.37,其中包括了所有处于192.22.37网段中的节点,其格式与db.192.22.33类似。(2)如果企业网是封闭的如果企业网络不与外界Internet直接互连,DNS 服务器就不必关心本企业域以外的域名,所以配置 named 的时候可以不理会 db.cache,我们可以将 /etc/named.boot 中的cache行去除。(3)如果你联入的公共网不能访问Int

18、ernet如果你的内部网接入的公共网只能访问有限的范围,如免费的169网、上海热线等,那么你的 DNS 服务器就不能通过 Internet 的顶层服务器(root server)进行地址解析,所以你必须用你直接能访问到的 DNS 服务器来替代。具体办法是用forwarders选项来指定上级DNS服务器,以本文为例,named.boot 的内容为:; boot file for secondary name server;directory /var/namedsecondary 0 db.mysecondary 0.0.127.IN-ADDR.ARPA 0 db.127.0.0secondar

19、y 33.22.192.IN-ADDR.ARPA 0 db.192.22.33cache . db.cache其中、等是你能直接访问到的 DNS 服务器的地址,通常就是你的 ISP (169、上海热线等)的 DNS 服务器的地址,至少要有一个。通过 forwarders 和 options forward-only 参数的指定,你的企业 DNS 服务器就工作在 forward-only 模式下,所有本地不能解决的名字都被传送到 ISP 的 DNS 服务器上去解析。九、建立后备 DNS 服务器 (Secondary DNS Server)通常有一台 DNS 主服务器,网络即可正常工作,但根据 I

20、nternic 对域名的管理规范,一个独立的域名必须至少有两台 DNS 服务器,即一台 DNS 主服务器 ( Primary Server )和一台后备 DNS 服务器( Secondary Server ),这主要是为 DNS 服务的可靠性考虑,能使 Internet 的性能更为可靠。现在仍以前面的例子,现在要加入一台运行 linux 的机器 ,IP 地址为 0。(1)主服务器上的修改首先确认DNS主服务器工作正常,然后,在主服务器上的正向DNS数据文件db.my中,加入 的有关记录,并增加一个NS记录,使主服务器上的 db.my 成为下列内容: IN SOA . . (199511301

21、; serial, todays date + todays serial #28800 ; refresh, seconds7200 ; retry, seconds3600000 ; expire, seconds86400 ) ; minimum, secondsNS .NS . ; 必须增加的记录MX 10 .localhost A linux A 0support2 A 02hp712 A 60support A 00nspc A 0 ; 增加的记录mail MX 10 .MX 20 .www CNAME .ftp CNAME .ns2 CNAME . ; 增加的记录ns CNAME

22、 .然后对主服务器上的各个反向 DNS 数据文件做类似的修改,增加有关后备服务器的 NS 记录,然后重新起动 named。可见,其实在主 DNS 服务器上的改动主要是增加了一条 NS 记录,其余的改动和增加一台普通节点一样,如果是用现有的节点做后备 DNS 服务器,则增加 NS 记录是唯一必须的步骤。(2)后备DNS服务器(secondary server)的配置需要在后备DNS服务器上创建的配置文件只有named.boot和db.cache,格式与主服务器相似,named.boot内容为:; boot file for secondary name server;directory /var/namedsecondary 0 db.mysecondary 0.0.1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论