登录模块加载中...
会员投稿 投稿指南 今天是:
打印本页 | 关闭窗口 | 双击滚屏 您的位置首页>>网页制作学习园地>>服务器类>>域名服务>>如何在Linux上建立DNS服务器
如何在Linux上建立DNS服务器
来源: ‖ 作者:Cloudy ‖ 点击: ‖ 时间:08-07-07 16:11:13 ‖ 【 】‖ 我要投稿

一、 假定

本文假定你已对域名服务器 DNS 有基本的了解,如果不是,请参看相关的文裆。
许多DNS的文章都是从DNS原理开始介绍,本人则从使用的角度出发,为Linux的管理员提供一些简单实用的应用实例。

下面假定我们需要建立一台企业网的DNS主服务器,应用条件如下:

(1) 一个C类网段地址 (本例中假定是192.22.33)

(2)企业域名为 my.com,并已注册 (主域名服务器地址 192.22.33.20,主机名为 linux.my.com)

(3)企业网通过路由器与Internet连接

假如你的应用环境与上述条件不同,也请往下看,本文会在上述例子的基础上针对以下情况作修正:

(1) 多个网段

(2) 封闭的内部网

(3) 只能访问局部公共网的情况(如169网、上海热线等)

二、named、/etc/named.boot 和 ndc

DNS 服务器的主体是域名服务器进程 named ,named 启动后向DNS客户机提供域名解析服务,把域名转换成IP地址。
named 启动时需要读取一个初始化文件,缺省情况下是 /etc/named.boot,所以/etc/named.boot 是 named 的基本配置文件。

虽然启动 named 可直接执行 named,在Linux上我们可以使用一个控制 named 的工具 ndc。ndc 可以用于启动、中止、重启动、刷新DNS数据、输出DNS数据等多种调试功能,我在这里推荐大家用这个工具来帮助 DNS 服务器的调试。

有关 ndc 的详细用法,请参看 Linux 有关文档。

三、建立 named 配置文件 /etc/named.boot

/etc/named.boot 是基本的配置文件,但不包含任何 DNS 数据,针对我们前面的假定,我们先建立以下 /etc/named.boot,其内容如下:
;
; boot file for name server
;
directory /var/named

primary my.com db.my
primary 0.0.127.IN-ADDR.ARPA db.127.0.0
primary 33.22.192.IN-ADDR.ARPA db.192.22.33
cache . db.cache

其中以“;”开头的行是注释行,其他各行含义是
(1)diretory /var/named

指定 named 从 /var/named 目录下读取 DNS 数据文件。这个目录用户可自行指定并创建,指定后所有的DNS 数据文件都存放在此目录下。

(2)primary my.com db.my

指定 named 作为 my.com 域的主域名服务器,db.my 文件中包含所有 *.my.com 形式的域名转换数据。

(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 地址)

(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 数据文件。
(1)建立正向域名转换数据文件 db.my

根据 /etc/named.boot 的定义,我们在 /var/named 目录下建立 db.my,其中应该包括所有在 my.com 域内的主机节点。但在机器数量较多时,为了调试方便,建议一开始只把几台节点的数据放入文件,待 named 正常工作后再把其他节点的数据补充进去。下面是 db.my的例子:

@ IN SOA linux.my.com. root.linux.my.com. (
199511301 ; serial, todays date + todays serial #
28800 ; refresh, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86

|<< << < 1 2 3 4 > >> >>|
加入收藏:  加入收藏夹  | 发送给好友:  发送给好友
责任编辑:admin
  • 上一篇:主DNS服务器
  • 下一篇:在Linux中配置DNS
  • 相关文章列表
    无相关新闻
    请文明参与讨论,禁止漫骂攻击。  
    网友评论