CentOS6 配置DNS服务器

yum安装bind

    1. #yum update
    2. #yum -y install bind* caching-nameserver      
    3. # rpm -qa bind*
      bind-dyndb-ldap-0.1.0-0.9.b.el6.x86_64
      bind-libs-9.7.0-5.P2.el6_0.1.x86_64
      bind-sdb-9.7.0-5.P2.el6_0.1.x86_64
      bind-utils-9.7.0-5.P2.el6_0.1.x86_64
      bind-chroot-9.7.0-5.P2.el6_0.1.x86_64
      bind-9.7.0-5.P2.el6_0.1.x86_64
      bind-devel-9.7.0-5.P2.el6_0.1.x86_64

#查看BIND版本,我的是9.7.0的

修改hostname为域名形式:

1.#hostname dns.xx.com

2.#vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=dns.xx.com
GATEWAY=192.168.10.1

下面以xx.com这个二级域名来建立一个域名服务器:

#mv /etc/named.conf /var/named/chroot/etc/named/named.conf

#vi /var/named/chroot/etc/named/named.conf

options {
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        forwarders { 202.102.24.35;8.8.8.8; };
        allow-query     { any; };
};

全局配置(options )
options 语句在每个配置文件中只有一个。如果出现多个options, 则第一个options 的配置有效,并会产生一个警告信息。
directory       "/var/named";
zone文件的存放目录,这里的/var/named 是相对目录,在chroot环境下/var/named目录下。
allow-query     { any; };
任何地址都解析

forwarders { 202.102.24.35;8.8.8.8; };

自己不解析的都扔到这2个dns去

下面我们开始写zone文件
区域配置(zone )
zone 语句作用是定义DNS 区域,在此语句中可定义DNS 区域选项
zone区域设置,第一步,设置根区域
当DNS服务器处理递归查询时,如果本地区域文件不能进行查询的解析,就会转到根DNS服务器查询,所以在主配置文件named.conf文件中还要定义根区域。
type:设置域的类型
file:设置根服务列表文件名

zone "." IN {
        type hint;
        file "named.ca";
};

“.” 意思的根区域
IN 是internet记录
type是类型 根的类型是hint
file是根区域文件
用兴趣可以看下/etc/named.ca文件,看看13台根域名服务器。

继续,指定正向解析的配置文件
记住,bind对配置文件要求很严格,就算是有些地方多了个空格,服务器都可能启动不了哈~

zone "xx.com" IN {
        type master;
        file "xx.com.zone";
};

zone "10.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.10.zone";
        allow-update { none; };
};

保存,然后我们去修改区别文件,添加记录

#cd /var/named/

#cp -p named.localhost /var/named/chroot/var/named/xx.com.zone

配置zone文件:

#cd /var/named/chroot/var/named/xx.com.zone

#vi xx.com.zone

$TTL 86400
@       IN SOA  dns.xx.com root (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       IN      NS      dns.xx.com.
www     IN      A      192.168.10.3

dns     IN      A       192.168.10.40
svn     IN      A       192.168.10.38

TTL是生存期,单位是秒
$TTL是全局定义的
第二行 SOA记录,@取代在/etc/named.conf中指定的域名。
SOA段中的数字,分别为:序列号、刷新、重试、过期、生存期
    序列号:序列号用于DNS数据库文件的版本控制。每当数据被改变,这个序列号就应该被增加。
    刷新:从服务器向主服务器查询最新数据的间隔周期。每一次检查时从服务器的数据是否需要更改,则根据序列号来判别。
   重试:一旦从服务器尝试连接主服务器失败,下一次查询主服务器的延迟时间。
   过期:如果从服务器无法连通主服务器,则在经过此时间后,宣告其数据过期。
   生存期:服务器回答 ‘无此域名’ 的间隔时间。
   数字的默认单位为秒。否则:W= 周、D= 日、H= 小时、M= 分钟。
   IN 是internet记录
   SOA 是SOA 初始化记录,我们说的是初始授权记录,这个翻译不过,理解很多反正知道是那个意思就行了
   dns.xx.com. 是DNS服务器的名称
   root 是管理员的邮箱地址

 

设置反向解析:

#cd /var/named/

#cp -p named.localhost /var/named/chroot/var/named/192.168.10.zone

#cd /var/named/chroot/var/named/

#vi 192.168.10.zone

内容如下:

$TTL 86400
@       IN SOA  dns.xx.com root (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       IN      NS      dns.xx.com.
www     IN      A       192.168.10.3
dns     IN      A       192.168.10.40
svn     IN      A       192.168.10.38

3       IN      PTR     www.xx.com.
40      IN      PTR     dns.xx.com.
38      IN      PTR     svn.xx.com.

接下来重启bind:

#service named restart

Stopping named:                                            [ OK  ]
Starting named:                                            [ OK  ]

现在已经可以了 ,试试吧,设置dns:

#vi /etc/resolv.conf

nameserver 192.168.10.40

测试一下成果:

dig –t soa xx.com

dig svn.xx.com

dig –x 192.168.10.38

当然nslookup、ping、host等也可以~

原文地址:https://www.cnblogs.com/lt1983/p/2168973.html