1.DNS简介
  略
2.DNS软件功能简介:
bind 为主程序软件。
bind-chroot 主要功能是使Bind软件可以运行在chroot模式下,这样BIND运行在相对的根路径,而不是真正的Linux路径,以此提升系统的安全性。安装了bind-chroot,对bind 而言/var/named/chroot目录就是根路径。
bind-utils 软件包提供了一些DNS查询工具,如:dig, host, nslookup等。
3.部署主域名服务器
  说明:
 案例中使用的域为ttpai.cn 和 51auto.com ,这个是正向解析的域。
 网络采用私有的192.168.0.0/16 。
 服务器列表如下:

服务器IP    服务器名称    功能描述    
192.168.10.10    dns1.ttpai.cn    主域名服务器    
192.168.10.11    dns2.ttpai.cn    从域名服务器    
192.168.2.204    www.51auto.com    web app    
192.168.2.159    www.ttpai.cn    web app 
   
4.安装软件
yum -y install bind bind-chroot bind-utils
5.修改主配置文件
默认chroot之后的虚拟根目录/var/named/chroot/etc下面没有现成的配置文件,需要在/usr/share/doc/bind-9.8.2/sample/etc/目录下找到配置文件的模板,复制该文件至/var/named/chroot/etc目录下,并根据自己的实际情况修改该文件。
cd /usr/share/doc/bind-9.8.2/sample/etc/
cp named.conf /var/named/chroot/etc/
chown root.named /var/named/chroot/etc/named.conf

vi /var/named/chroot/etc/named.conf 
配置文件内容如下:
options
{
     directory               "/var/named";
     dump-file               "data/cache_dump.db";
     statistics-file         "data/named_stats.txt";
     memstatistics-file      "data/named_mem_stats.txt";
     
     listen-on port 53       { any; };
     allow-query             { any; };
     allow-query-cache       { any; };
     recursion yes;
     dnssec-enable yes;
     dnssec-validation yes;
     dnssec-lookaside auto;
};
acl secondserver {
     192.168.10.11;
};
zone "." IN {
    type hint;
    file "named.ca";
};
zone "ttpai.cn" IN {
    type master;
    allow-transfer { secondserver; };
    file "ttpai.cn.zone";
};
zone "168.192.in-addr.arpa" IN {
    type master;
    allow-transfer { secondserver; };
    file "192.168.zone";
};
zone "51auto.com" IN {
    type master;
    allow-transfer { secondserver; };
    file "51auto.com.zone";
};
zone "51auto.168.192.in-addr.arpa" IN {
    type master;
    allow-transfer { secondserver; };
    file "192.168.51auto.zone";
}; 

6.创建区数据文件
主配置文件仅是对zone域的定义,关于域内主机的具体记录的解析,还需要依赖于数据文件的内容,常见的域名解析有正向,反向解析记录,CNAME记录及MX记录等。
cd /usr/share/doc/bind-9.8.2/sample/var/named/
cp named.ca /var/named/chroot/var/named/
chown root.named /var/named/chroot/var/named/named.ca
cp named.localhost /var/named/chroot/var/named/ttpai.cn.zone
cp named.localhost /var/named/chroot/var/named/51auto.com.zone
chown root.named /var/named/chroot/var/named/ttpai.cn.zone
chown root.named /var/named/chroot/var/named/51auto.com.zone 

vi /var/named/chroot/var/named/ttpai.cn.zone
内容如下:
$TTL 1D
@       IN SOA   dns1.tpai.cn. root.ttpai.cn. (
                                        10      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns1.ttpai.cn.
        NS      dns2.ttpai.cn.
        MX  10  mail.ttpai.cn.
dns1    IN A    192.168.10.10
dns2    IN A    192.168.10.11
www     IN A    192.168.2.159
mail.ttpai.cn. IN A    192.168.5.30

vi /var/named/chroot/var/named/192.168.zone
内容如下:
$TTL 1D
@   IN SOA  dns1.ttpai.cn.  root.ttpai.cn. (
              10 ;
              1D ;
              1H ;
              1W ;
              3H )
       NS   dns1.ttpai.cn.
       NS   dns2.ttpai.cn.
10.10   IN PTR  dns1.ttpai.cn.
11.10   IN PTR  dns2.ttpai.cn.
159.2   IN PTR  
30.5    IN PTR  mail.ttpai.cn.

vi /var/named/chroot/var/named/51auto.com.zone
$TTL 1D
@       IN SOA   dns1.tpai.cn. root.ttpai.cn. (
                                        101     ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns1.ttpai.cn.
        NS      dns2.ttpai.cn.
dns1    IN A    192.168.10.10
dns2    IN A    192.168.10.11
www     IN A    192.168.2.204
data    IN A    192.168.2.203

vi /var/named/chroot/var/named/192.168.51auto.zone
$TTL 1D
@   IN SOA  dns1.ttpai.cn.  root.ttpai.cn. (
              101 ;
              1D ;
              1H ;
              1W ;
              3H )
       NS   dns1.ttpai.cn.
       NS   dns2.ttpai.cn.
10.10   IN PTR  dns1.ttpai.cn.
11.10   IN PTR  dns2.ttpai.cn.
204.2   IN PTR  www.51auto.com.
203.2   IN PTR  data.51auto.com.

7.服务管理
 /etc/init.d/iptables stop
 setenforce 0
 /etc/init.d/named start
 chkconfig named on

8.部署从域名服务器
安装软件如上
修改配置文件,有所不同的是所有从服务器配置文件中除根域以外的所有zone域类型均为slave,以此声明自己是从服务器,并使用masters语句指定与那台主服务器进行数据同步。
cd /usr/share/doc/bind-9.8.2/sample/etc/
cp named.conf /var/named/chroot/etc/
chown root.named /var/named/chroot/etc/named.conf
vi /var/named/chroot/etc/named.conf 
   
   内容如下:
options
{
        directory               "/var/named";           // "Working" directory
        dump-file               "data/cache_dump.db";
        statistics-file         "data/named_stats.txt";
        memstatistics-file      "data/named_mem_stats.txt";
        
        listen-on port 53       { any; };
        allow-query             { any; };
        allow-query-cache       { any; };
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;
}; 
zone "." IN {
    type hint;
    file "named.ca";
};
zone "ttpai.cn" IN {
    type slave;
    masters { 192.168.10.10; };
    file "ttpai.cn.zone";
};
zone "168.192.in-addr.arpa" IN {
    type slave;
    masters { 192.168.10.10; };
    file "192.168.zone";
};
zone "51auto.com" IN {
    type slave;
    masters { 192.168.10.10; };
    file "51auto.com.zone";
};
zone "51auto.168.192.in-addr.arpa" IN {
    type slave;
    masters { 192.168.10.10; };
    file "192.168.51auto.zone";
};

9.同步数据文件
从服务器进行同步操作前,需要创建一个BIND软件读取操作的目录,以便将主服务器的数据文件保存至该目录。
在从服务器上,我们仅需要简单设置下BIND主配置即可,当从服务器的主配置文件修改完成后,通过启动服务,BIND会自动根据配置文件中的masters语句寻找主域名服务器,并将主服务器上的数据文件下载至从服务器本地。

10.从域名服务器服务设置
 /etc/init.d/iptables stop
 setenforce 0
 mkdir -p /var/named/chroot/var/named/slaves/
 chown root.named /var/named/chroot/var/named/slaves/
 /etc/init.d/named start
 chkconfig named on
让一套DNS服务支持多个域名解析