在因特网的发展过程中,有两项技术起了重大的推动作用,一项是www(World Wide Web),另一项则是域名服务系统(DNS) 。 在域名服务系统(DNS)出现之前,所有的因特网主机名都存储在一个普通文件中,而且网络上的每台机器都要保留一个副本。这种文件的局限性阻碍了网络的发展,DNS的出现打破了这种限制,他使用分布式多级数据库系统代替了普通文件的存储方式。现在,网络上的每一个组织都维护着自己的域名数据库,由系统管理员负责维护网络中的DNS。 Linux凭着其高度的可靠性、稳定性和低廉的价格,成为建立DNS服务器的优秀平台。在Linux系腄NS服务用伯克利因特网(BIND)软件实现的,BIND是最初将DNS引入了网络的软件,目前DIND被世界广泛使用,其可靠性,早被成千上万的用户所验证。 要构建企业的域名服务,首先当然是根据企业的资金、规模、发展趋势、实际物理结构以及行政结构作好规划,从而决定企业网络DNS域名的层次结构、DNS服务器的数量、种类与物理位置的放置。作好总体的规划是重要的第一步。 接下来,我们开始以Red Hat Linux为例,详细讨论利用Linux建立各种类型的DNS服务器。实际有三种:高速缓存服务器、从属服务器和主服务器。 首先要谈一谈BIND配置文件的配置语句: (1).设置服务器工作路径 缺省情况下,/etc/name.conf语句中都设定服务器工作路径: options { Directory “/var/name”; } 此路径包含了BIND初始化文件、区域数据库文件等。 (2).zone语句 zone语句是配置文件中的最重要部分,它有以下功能 ·定义名称服务器提供服务的区(Zone); ·定义为该区提供服务的名称服务器的类型; ·定义区的域信息源(域数据库来自何方); ·定义区的特殊处理选项。 例如: zone “remote.net” in { type master; //服务器类型为主服务器 file “remote.net.host”; //区数据库文件 check-names warn; //区的特殊处理选项 } 下面开始对每一种服务器进行介绍和配置 1.配置只高速缓存服务器 高速缓存服务器对任何区域都没有授权。它只能从它的缓 存在本地响应查询,其他的所有请求都被发送到一个授权服务器,并将这些记录暂时存放到自己的缓存里用于提供给其他客户查询。一般来说,在大型网络中,大多数DNS服务器都是这一类服务器。只高速缓存(Caching-Only)的服务器中,named.conf文件的options和zone语句在其他主从服务器配置中都可以找到。因此,只高速缓存服务器的配置是讨论服务器配置的重要环节。 基本上,只高速缓存服务器的配置非常普遍,在Red Hat Linux安装过程中会自动创建,现在我们假设要将toland设置成一个高速缓存服务器以下例子列出了Red Hat的named.conf文件: options { directory “/var/named”; //设定服务器工作路径 }; // //只高速缓存配置 // zone “.” { type hint; file “named.ca”; //指定BIND初始化文件 // //声明回路去区 // zone “0.0.127.in-addr.arpa” { type master; file “name.local; }; 2.从属服务器的配置 从属服务器与主服务器一样都是一个区域内的授权服务器。因 为它拥有完整的、最新的有关区域信息的所有信息的拷贝。它定期从主服务器那里下载整个区域数据库,并保存在它的本地磁盘上。从属服务器只是一个区域的备份服务器,它的目的是为了为区域的DNS查询提供网络流量平衡与容错,它无权接受客户端的DNS注册。通常,对大多数区域来说,两个,顶多三个备份服务器就已经绰绰有余了。 配置从属服务器与配置只高速缓存服务器一样简单。从属服务器named.conf文件的前三条语句同前面讲述的一样,这些语句是从属服务器配置的基础。谈到这里,大家可能会聪明的想到走捷径——将只高速缓存服务器的named.conf修改一下就OK啦——对,的确如此!! 现在我们假设poonremote(172.16.205.1)是remote.net域的主服务器,16.172.in-addr.arpa是反向域。我们要MCL配置成这些域的从属服务器,现在要在MCL的named.conf文件中添加两个zone语句,例子如下: options { directory “/var/named”; //设定服务器工作路径 }; // //从属服务器的配置 // zone “.” { type hint; file “named.ca”; //指定BIND初始化文件 // //声明回路区 // zone “0.0.127.in-addr.arpa” { type master; file “name.local”; }; // //声明正向区 // zone “remote.net” { type slave; //从属服务器 file “remote.net.hosts”; //正向区数据库文件 masters { 172.16.205.1;} //主服务器(从该处下载数据库) }; // //声明反向区 // zone “16.172.in-addr.arpa” { type slave; file “16.172.reverse”; //反向区数据库文件 masters { 172.16.205.1;} //主服务器(从该处下载数据库) }; 3.主服务器的配置 主服务器是一个区域内的授权服务器。它是区域DNS查询的权威信息来源。它从域管理员创建的本地磁盘文件中载入区域数据库。它接受客户端的DNS注册,并向从属服务器提供区域数据库的下载。在一个区域中只能有一个主服务器存在。 主服务器的named.conf文件的配置与只高速缓存服务器、从属服务器的named.conf文件十分相似。从某种意义上说,这几种服务器的区别就在于zone命令语句的不同。如果named.conf文件中没有包含某特定区域的zone命令,那么它就是只高速缓存服务器,而不是区域的权威服务器;如果zone命令语句中包含了type master子句,那么它就是区域的主服务器;如果包含了type slave子句,那么它就是区域的从属服务器。 现在我们将remotemcsee(172.16.205.1)配置成主服务器。以下是它的name.conf文件配置清单: options { directory “/var/named”; }; // //主服务器的配置 // zone “.” { type hint; file “named.ca”; }; zone “0.0.127.in-addr.arpa” { type master; file “named.local”; }; zone “remote.net” { type master; file “remote.net.hosts”; //正向区域数据库文件 allow-update { localhost }; //激活动态DNS,接受DHCP //的动态更新此例中本机同是 // DHCP Server * }; zone “16.172.in-addr.arpa” { type master; file “172.16.reverse”; //反向区域数据库文件 allow-update { localhost }; }; 在这个配置文件中,前三个语句与其它服务器是一样的。不同的是添加了两个zone语句,以及type子句。另外,本例中用allow-update指令激活了动态DNS以接受DHCP的动态更新。其实在以前版本的BIND软件中(包括Red Hat Linux 7.2所使用的BIND)并不真正支持DHCP的动态更新,但在笔者写这篇文章的时候,真正支持DHCP的动态更新的BIND版本已经发布。无可否认,这是一个很好的解决方案,它大大减少了管理员的工作量以及管理成本。但是,这也将会带来DNS的安全问题。对于BIND指令的使用以及DNS的安全问题,将会在本人日后的文章中进行详细论述。 到此为止,各种DNS服务器的配置已基本完成。接下来可以在LINUX上启动DNS服务了。启动方法有以下几种: 1.用named命令启动 [root@remotemcse] # named 2. chkconfig命令启动 [root@remotemcse] # chkconfig –level 5 named on 3.用setup启动 System services -> named 4.用ntsysv启动 (图片较大,请拉动滚动条观看)用空格键选中named,用回车确认 5.用Sysv Init启动 (图片较大,请拉动滚动条观看)6.用Service Configuration启动(这是一个十分好用的工具,是Red Hat 7.2 的新增系统配置工具) 7.用linuxconf启动(linuxconf将会被Red Hat 淘汰) (图片较大,请拉动滚动条观看)从linuxconf窗口左侧的菜单中,选择Control Control Penel Control Service Activity.。窗口的右侧会显示一个服务列表
[1] [2] 下一页
(出处:http://www.sheup.com)
上一页 [1] [2]