当前位置:操作系统 > Unix/Linux >>

SCOUnix网络中多级DNS服务器的设置

DNS(Domain Name Servive,域名服务)是Internet/Intranet中最基础也是非常重要的一项服务,提供了网络访问中域名到IP地址的自动转换。我们知道,Inetrnet上的主机成千上万,并且还在随时不断增加,不可能由一个或几个DNS服务器能够实现这样的解析过程,传统主机表(hosts)方式更无法胜任,事实上DNS依靠一个分布式数据库系统对网络中主机域名进行解析,并及时地将新主机的信息传播给网络中的其它相关部分,因而给网络维护及扩充带来了极大的方便。近年来应用于Intel平台的SCO UNIX组建了大量各级业务网络,为企业实施Intranet工程提供了良好的前提,笔者为此做了认真的探索,在SCO Unix网络中成功实现了多级DNS服务器的设置并正常进行转寄查询(既本域DNS服务器不能完成解析请求时,自动转发到其他域中),以下做详细介绍。

  一、 DNS的工作原理。

  DNS采用服务器/客户机模型,是一种分布式层次结构系统。所有的DNS主机都被写入称之为名字树或域名空间的结构中。在DNS域层次结构的顶部是根域,有一组被称为根服务器的DNS服务器(Name Server)为它服务,直接在根域下的是顶层域,顶层域往下是各个不同层次的子域,每个子域都包含了DNS服务器和客户机(见图1)。当DNS客户机需要和其他主机进行连接时,先向本地的DNS服务器发出主机名解析请求,本地DNS服务器如果认为查询目标是在自己管辖的域内,则直接返回解析结果,否则把查询请求转寄给自己的顶层域继续查询,最终将查询结果返回给客户机。

  < 图略 >

  在SCO Unix中,DNS服务器通过阅读/etc/named.boot文件确定它所主管的域及名字信息数据存放在哪些区文件(zone)中从而响应各种解析请求的。在DNS的结构体系中,SCO Unix支持五种类型的配置,分别是主名字服务器(primary server)、辅助名字服务器(second server)、唯高速缓存服务器(caching-only server)、从属模式服务器(server in slave mode)、客户机。实际应用中,一个域的主名字服务器是必不可少的,当然,为起到均衡负载、相互备份的作用,相邻域的主名字服务器同时可设为对方的辅助名字服务器。为节省篇幅,本文仅介绍主名字服务器的配置过程。

  二、 网络结构选择及实现目标。

  1、 网络结构。

  本文以某银行上下级分行组网为例(见图2),是Internet结构的一个简单模型。一级分行设为顶层域通过广域网下连多个二级分行,建立DNS服务器(安装SCO Unix系统,主机名:ser2,IP:122.68.2.2),设置好本域(ha.CCB)的所有主机;所有二级分行的域均作为子域,图2中标注了一个二级分行,也建立DNS服务器(安装SCO Unix系统,主机名:srv2,IP:220.112.8.2),同样设好本域的所有主机。须说明的是,SCO Unix 选用OpenServer 3.0 或5.0均可。

  2、 实现目标。

  建立一个分布式的数据库系统,平常管理员只维护本域主机信息表反映本地主机变化情况。各域DNS服务器不仅能正确解析本域的DNS请求,而且借助顶层域还能解析来自其它域的DNS请求。据此,配置正确路由后,即可通过简单、友好易记的域名实现全网范围的的Web服务、匿名FTP服务、Mail服务……等Intranet功能。

  < 图略 >

  三、DNS服务器的配置过程。

  1、 创建/etc/named.boot文件。

  对域:ha.CCB:

  #vi /etc/named.boot

  directory /etc/named.d

  ;定义数据文件目录

  primary ha.CCB named.hosts

  ;定义主名字服务器及本域主机信息数据文件

  cache . root.cache

  ;定义高速缓存初始化文件

  primary 2.68.122.in-addr.arpa named.rev

  primary 0.0.127.in-addr.arpa named.local

  stub smx.ha.CCB 220.112.8.2

  ;定义子域表,如有多个子域,依此排列

  对域:smx.ha.CCB:

  #vi /etc/named.boot

  directory /etc/named.d

  primary smx.ha.CCB named.hosts

  cache . root.cache

  primary 8.112.220.in-addr.arpa named.rev

  primary 0.0.127.in-addr.arpa named.local

  forwarders 122.68.2.2

  ;定义转寄查询目标服务器

  2、 配置named.hosts文件,实现正向解析(域名-->IP地址)。

  #cd /etc/named.d

  对域:ha.CCB:

  #vi named.hosts

  $INCLUDE named.soa

  localhost IN A 127.0.0.1

  ser2 IN A 122.68.2.2

  IN MX 10 ser2.ha.CCB.

  mail IN CNAME ser2

  ha.ccb. IN MX 10 ser2.ha.CCB.

  ser1 IN A 122.68.2.1

  gj1 IN A 122.68.2.45

  对域:smx.ha.CCB:

  #vi named.hosts

  $INCLUDE named.soa

  localhost IN A 127.0.0.1

  srv2 IN A 220.112.8.2

  IN MX 10 srv2.smx.ha.CCB.

  mail IN CNAME ser2

  smx.ha.ccb. IN

  MX 10 srv2.smx.ha.CCB.

  srv1 IN A 220.112.8.1

  cli1 IN A 220.112.8.30

  cli2 IN A 220.112.8.50

  3、 配置named.rev文件,实现反向解析(IP地址-->域名)。

  #cd /etc/named

  对域:ha.CCB

  #vi named.rev

  $INCLUDE named.soa

  1IN PTR ser1.ha.CCB.

  2IN PTR ser2.ha.CCB.

  45IN PTR gl1.ha.CCB.

  对域:smx.ha.CCB

  #vi named.rev

  $INCLUDE named.soa

  1 IN PTR srv1.smx.ha.CCB.

  2 IN PTR srv2.smx.ha.CCB.

  30 IN PTR cli1.smx.ha.CCB.

  50 IN PTR cli2.smx.ha.CCB.

  4、 配置named.soa文件。主要用于定期向辅助名字服务器刷新最新变化信息。

  对域:ha.CCB

  #cd /etc/named.d

  #vi named.soa

  @ IN SOA ser2.ha.CCB. root.ser2.ha.CCB. (

  1999112510

  Serial

  10800

  Refresh

  1800

  Retry

  3600000

  Expire

  86400 )

  Minimum

  IN NS ser2.ha.CCB.

  对域:smx.ha.CCB

  #cd /etc/named.d

  #vi named.soa

  @ IN SOA srv2.smx.ha.CCB. root.srv2.smx.ha.CCB. (

  1999112510

  Serial

  10800

  Refresh

  1800

  Retry

  3600000

  Expire

  86400 )

  Minimum

  IN NS srv2.smx.ha.CCB.

  5、 配置named.local文件。

  该文件用来将回送地址127.0.0.1转换成本地户机名localhost,它是反向域0.0.127.IN-ADDR.ARPA使用的文件,对所有域都相同。

  #cd /etc/named.d

  #vi named.local

  $INCLUDE named.soa

  1 IN PTR localhost.

  6、 配置root.cache文件。

  该文件用于定义高速缓存中根服务器信息,用户也可以将本地域内其它服务器或常用主机的地址等有关信息存放其中。一般用系统自带的root.cache模版即可。例:

  #cd /etc/named.d

  #vi root.cache

  . 999999 IN NS NS.INTERNIC.NET.

  NS.INTERNIC.NET. 999999 IN A 20.122.25.26

  7、 启动DNS服务。

  先查询后台守护进程/etc/named是否存在,如存在先kill其进程ID号,再重新启动该命令。

  #ps -ef|grep named

  #kill ID

  #/etc/named

  三、DNS客户机的配置。

  1、 Unix客户机。

  对域ha.CCB

  #vi /etc/resolv.conf

  domain ha.CCB

  nameserver 122.68.2.2

  对域smx.ha.CCB

  #vi /etc/resolv.conf

  domain smx.ha.CCB

  nameserver 220.112.8.2

  2、 Win95/Win98客户机。

  < 图略 >

  点击"开始"-》"设置"-》"控制面版"-》"网络",如图3所示修改"TCP/IP属性"中DNS设置项,最后确认重启系统。

  三、测试配置情况。

  Win95/Win98客户机可进入MSDOS方式,在C>提示下使用ping hostname命令,其中hostname指所查询的域名全称,如配置正确则立刻显示经过解析的IP地址,否则长时间无显示结果表示配置不正确需查找原因。

  Unix客户机可使用nslookup命令进行交互式查询。以下是域smx.ha.CCB中客户机srv1的查询过程:

  $ nslookup

  Default Server: srv2.smx.ha.CCB

  Address: 220.112.8.2

  > srv1.smx.ha.CCB

  Server: srv2.smx.ha.CCB

  Address: 220.112.8.2

  Name: srv1.smx.ha.CCB

  Address: 220.112.8.1
<
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,