DNS配置

192.168.152.141主DNS,父DNS
192.168.152.142从DNS,子DNS

配置主从DNS

主DNS配置
yum -y install bind

vim /etc/named.conf

options {
    listen-on port 53 { 127.0.0.1;192.168.152.141; };
//      allow-query     { localhost; };    #注释掉仅允许本地查询

vim /etc/named.rfc1912.zones

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

vim /var/named/test.com.zone

$TTL 3600
$ORIGIN test.com.
@       IN      SOA     ns1.test.com.   admin.test.com.(
    20160506
    1H
    5M
    1W
    1D )
    IN      NS      ns1
ns1     IN      A       192.168.152.141
www     IN      A       192.168.152.141
blog    IN      A       192.168.152.141

named-checkconf
rndc reload or systemctl reload named.service

从DNS配置
yum -y install bind
vim /etc/named.conf

修改listen-on port 53 { 127.0.0.1;192.168.152.142; };
注释掉 allow-query

vim /etc/named.rfc1912.zones

zone "test.com" IN {
    type slave;
    file "slaves/test.com.zone"; #之所以目录文件在slaves下,是因为在/var/named/目录下named组没有写权限,所以设置slaves目录。
    masters { 192.168.152.141; };

还需要在主DNS服务器/var/named/test.com.zone下添加记录

IN      NS      ns2
ns2     IN      A       192.168.152.142

配置父子域DNS

如要增加sub子域DNS

需要在父域配置中增加条目(/var/named/test.com.zone)

sub.test.com.         IN     NS    ns1.sub.test.com.
ns1.sub.test.com.     IN     A    192.168.152.142

在子域中添加配置文件如上主DNS配置相似

如在子域中无法解析域名,子域DNS将会去向根进行迭代查询。可设置转发向父域查询。

首先父域必须允许做递归
在子域中配置

区域转发

vim /etc/named.rfc1912.zones

zone "test.com" IN {
    type forward;
    forward only;    #还有一个选项为first,意为先进行转发,如果没有查询到,再进行迭代根查询。
    forwarders { 192.168.152.141; };
};

全局转发

vim /etc/named.conf

options {.....
    ...
    forward only;
    forwarders { 192.168.152.141; };

安全

dig -t axfr test.com @192.168.152.141可以得到所有DNS条目,如只限于某些主机查询,可进行访问控制


axfr:Authoritative Transfer

ixfr:incremental transfer

对区域进行访问控制

vim /etc/named.rfc1912.zones

zone "test.com" IN {
    type master;
    file "test.com.zone";
    allow-transfer { slaves; };

vim /etc/named.conf

acl slaves {
    192.168.152.142;
    127.0.0.1;
};

并要确保listen-on地址

对全局进行访问控制

对递归主机进行限制

vim /etc/named.conf

acl recursion {
    192.168.0.0/24;
    127.0.0.1/8;
};

options {...
    ....
    allow-recursion { recursion; };

访问控制指令

allow-query {}
allow-transfer {}
allow-recursion {}
allow-update {}

内置命令:any,none,local,localnet
   如allow-query { any; };
   allow-upadte { none; };