dns.txt





下面介绍通过编辑文件的方式对DNS服务器进行配置的过程:

第1步:复制named.root文件

# cp /usr/share/doc/bind-9.3.3/sample/var/named/named.root /var/named/chroot/var/named/named.root



第2步:修改named.conf文件

修改主DNS服务器的/var/named/chroot/etc/named.conf文件,内容如下:

options {

    directory "/var/named";    //定义服务器区配置文件存放的目录,由于使用了chroot功能,

                        //区配置文件存放的实际目录是/var/named/chroot/var/named

    dump-file "/var/named/data/cache_dump.db";

    statistics-file "/var/named/data/named_stats.txt";

};


view "internal" {

    match-clients { any; };

    match-destinations { any; };

    recursion yes;             //对内网用户开启DNS的递归查询


    zone "0.168.192.in-addr.arpa." IN {        //定义逆向解析区声明,in-addr.arpa是固定写法

        type master;     //注意:书写反向地址解析时,与通常书写的ip地址顺序相反,如:0.168.192

        file "192.168.0.db";                //逆向解析区文件名,名称可以任意取

    };

    zone "test.edu.cn." IN {        //定义正向解析区声明, 如果不写IN,那么默认就是IN类

        type master;

        file "test.edu.cn.db";        //正向解析区文件名,名称可以任意取

    };


    zone "." IN {            //定义根区声明

        type hint;             //选择type为hint("."专用)

        file "named.root";    //默认文件名named.root,有时也可能是named.ca

    };                    //在DNS数据库中,named.root文件列出了所有根DNS服务器的地址


    zone "localhost." IN {                //定义localhost的正向解析区声明

        type master;

        file "localhost.zone";

        allow-update { none; };

    };


    zone "0.0.127.in-addr.arpa." IN {        //定义localhost的逆向解析区声明

        type master;

        file "named.local";

        allow-update { none; };

    };

    //定义localhost的逆向解析区声明(IPv6)

    zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa." IN {


    type master;

    file "named.ip6.local";

    allow-update { none; };

    };

};

include "/etc/rndc.key";        //包含/etc/rndc.key文件



第3步:创建正向/逆向解析区文件

在主DNS服务器/var/named/chroot/var/named/目录创建正向解析区文件test.edu.cn.db,文件内容如下,正向解析文件主要由一系列A资源记录(RR,Resource Record)组成,使得DNS服务器能够将域名解析成IP地址。


$TTL 1H

@    SOA    dns.test.edu.cn.    root.test.edu.cn. (

                                2    ; Serial

                                3H    ; Refresh

                                1H    ; Retry

                                1W    ; Expire

                                1H )     ; Minimum

        IN    NS    dns.test.edu.cn.         ; NS(Name Server)后面的主机管理整个“test.edu.cn.”域


        IN    MX    10    dns.test.edu.cn.     ; MX(Mail eXchanger)指定邮件转发服务器,接收

                                ;从Internet上来的邮件,然后再转发给相应的主机

dns        IN    A    192.168.0.5

www        IN    A    192.168.0.10

        IN    A    192.168.0.20        ; www有两个IP地址

dns2        IN    CNAME    dns            ;指定主机别名

在主DNS服务器/var/named/chroot/var/named/目录创建逆向解析区文件192.168.0.db, 文件内容如下,逆向解析文件由一系列PTR资源记录(RR,Resource Record)组成,使得DNS服务器能够将IP地址反向解析成域名。


$TTL 1H

@    SOA    dns.test.edu.cn.    root.test.edu.cn. (

                                2    ; Serial

                                3H    ; Refresh

                                1H    ; Retry

                                1W    ; Expire

                                1H )     ; Minimum

    NS    dns.test.edu.cn.

5    PTR    dns.test.edu.cn.

10    PTR    www.test.edu.cn.     

20    PTR    www.test.edu.cn.     



第4步:检查配置文件的语法

执行named-checkconf命令可以检查/etc/named.conf文件是否有语法错误,如果执行named-checkconf命令后没有任何输出,说明/etc/named.conf文件没有语法错误。


[root@localhost ~]# named-checkconf

none:0: open: /etc/named.conf: file not found

此时可以建立对/var/named/chroot/etc/named.conf文件的符号链接/etc/named.conf。

[root@localhost ~]# ln -s /var/named/chroot/etc/named.conf /etc/named.conf

[root@localhost ~]# ls -l /etc/named.conf 

lrwxrwxrwx 1 root root 32 05-18 12:46 /etc/named.conf -> /var/named/chroot/etc/named.conf


[root@localhost ~]# named-checkconf 

[root@localhost ~]# 



第5步:测试

修改/etc/resolv.conf文件,将nameserver行改写为nameserver 192.168.0.5。

执行#service named restart命令重启DNS服务器,或者执行#rndc reload命令,重新加载配置文件。

执行#nslookup www.test.edu.cn命令测试DNS的正向解析功能。

执行#nslookup 192.168.0.10命令测试DNS的反向解析功能。