大家要注意,DNS服务是许多服务的基础,所以一般刚开始学习Linux服务器配置时从此下手,那其它的应用也就简单得多了。笔者进阶学习Linux,也是从此开始的。

一、 相关知识概述

       DNS(Domain Name System)即域名服务系统,作用为完成域名与IP地址的互换。网络上的每一台主机都有一个域名,域名给出有关主机的IP地址、MAIL路由信息等等。而域名服务器(name server)则是指存储有关域名空间信息的程序,具体应用也通过它来完成。

二、 DNS服务器软件的安装

       在Linux中都是用Bind来实现此服务,即以一个名为“named进程”作为域名服务
器进程的主体。

       1. 从http://www.redhat.com上下载安装Bind所需的三个文件:bind-8.2.2-p5-9.i386.rpm、
bind-devel-8.2.2-p5-9.i386.rpm、cache-nameserver-6.2-2.noarch.rpm

       2. 分别对三个文件进行rpm封装的安装,使用命令:rpm –uhv

       3. 最后进行编译并安装,使用命令:make和make install

       经过以上步骤,基本软件已经安装妥当,接下来就是对服务器软件的配置。

       named 这个主体进程在启动时需要读取一个初始化文件,缺省为 /etc/named.boot。另外建议大家使用Linux自带的ndc工具来进行启动、中止、重启动、刷新DNS数据、输出DNS数据等多种调试,有关此工具的详细使用,请大家参见Linux技术文档。

       第一步:配置建立named.boot。因为这是named进程首先要读取的配置文件,但此文件默认状态下又包含任何 DNS 数据,需我们手工输入来建立,以下为一配置实例:
    Directory/var/named

    Primary site.com db.site
    Primary 0.0.127.IN-ADDR.ARPA db.127.0.0
    Primary 56.11.192. IN-ADDR.ARPA db.192.11.56
    sitecache.db.sitecache

    每一行的意义解释如下(例中涉及到的文件名都可自行拟定,包括第三、四两行):
Directory/var/named:指定named进程读取所有DNS数据文件的路径,本例为/var/named目录,当然你可以自行更改。

    Primary site.com db.site:将named作为site.com的主域名服务器(正向域名转换数据),并指定将所有 *.site.com 形式的域名转换数据保存在db.site文件中。

    两段primary的IP数据:设定 named 作为某个IP地址段(只给三位)的转换主服务器(反向域名转换数据),而象db.127.0.0 文件,则是指定127.0.0.* 类的IP地址到域名的转换数据存放于此。
sitecache.db.sitecache:指定 named 从 db.sitecache 文件获得互联网的顶层服务器地址。

    第二步:根据刚才配置的named.boot,定义每一个DNS数据文件。

    1. 正向域名转换数据文件db.site 的建立,给个例子:
    @ IN SOA linux.site.com. root.linux.site.com. (
  200410301
  28800
  7200
      3600000
  86400 )
    NS linux.site.com.
  MX 10 support.site.com.
-  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
    Localhost A 127.0.0.1
    Sy727 A 192.11.56.24
    Sy728 A 192.11.56.25
    Linux A 192.11.56.26
    Mail MX 10 sy727.site.com.
    MX 20 sy728.site.com.
    www CHAME Linux.site.com.
    ftp CNAME Linux.site.com.

    解释:第一部分第一行SOA后跟的是DNS 服务器名和管理员邮件地址;下面几列数字是在数据交换时要用到的,一般都不作改过;NS行定义域名服务器本身的域名;MX行定义相应的邮件服务器名。

     第二部分前4行是DNS域名到IP地址的记录配置,这是必须要的;如第二行,表示sy727.site.com域名对应的IP地址为192.11.56.24。以MX引导的两行是定义邮件地址转换记录,如将XXX@mail.site.com转换成XXX@sy727.site.com。最后两行是定义应用服务的主机名,本例中将Linux.site.com做为WWW服务和FTP服务的主机别名,即通过输入Linux.site.com即可访问www.site.comftp.site.com

    特别注意:MX和CHAME这四行记录的主机名最后必须带个点号。

    2. 反向域名转换数据文件db.127.0.0和db.192.11.56的建立。
 
    反向域名转换数据文件用来提供根据IP地址查询相应DNS主机名,每个网段分别有一个数据文件。

    “127.0.0”这个内部网址相信大家都知道,就一个IP地址:127.0.0.1,其配置例为:
    @ IN SOA linux.site.com root.linux.site.com. (
  2004080700
    28800
    14400
    3600000
    86400 )
    IN NS linux.site.com.

    1 IN PTR localhost.
    而“192.11.56”因为其为外部网段,故配置中应包括所有主机IP地址到DNS主机名的转换数据,配置例为:
    @ IN SOA linux.site.com. root.linux.site.com.
    (199609206
    28800
    7200
    604800
    86400)
    NS linux.site.com.

     All hosts

    24 PTR sys727.site.com.
    25 PTR sys728.site.com.
    26 PTR linux.site.com.

    3.在线获取db.sitecache。
   从ftp.rs.internic.netr的domain/named.root下载named.ca,此文件里即包含了前面所说的互联网顶层域名服务器;然后将其拷贝到/var/named目录并重命名成db.sitecache(即你在named.boot配置文件中指定的文件名)即可。

    第三步:测试此named进程。

    1. 用前面讲到的Linux自带DNS测试工具ndc来启动 named:
    ndc  named
    2. 创建/etc/resolv.conf文件,本例为:
    search site.com
    nameserver 192.11.56.26
    3. 测试named,命令行为:
    Nslookup
   如果named正常启动,nslookup后即会显示出当前DNS服务器的地址和域名,否则表示named启动异常,需重新检查前面的设置步骤。

    OK,经过以上步骤,属于你的Linux版DNS服务器已搭建完成,而关于建成之后的基本DNS诊断以及DNS维护,请大家参阅IT168相关报道。好了,大家赶快去试试吧!