欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Linux基础学习之DNS主从同步

程序员文章站 2022-04-26 15:19:34
主从同步 DNS服务器主机一般不止一台,为了防止仅有的一台DNS服务器宕机而丢失数据,通常会伴有从服务器。从服务器和主服务器作用是一样的,它的数据是主服务器的一份拷贝。只要在主服务器中给从服...

主从同步

DNS服务器主机一般不止一台,为了防止仅有的一台DNS服务器宕机而丢失数据,通常会伴有从服务器。从服务器和主服务器作用是一样的,它的数据是主服务器的一份拷贝。只要在主服务器中给从服务器授权就能够访问到从服务器,不仅保护了DNS区域名称,当主服务器繁忙的时候,还能加速DNS解析。

客户端配置

在/etc/resolv.conf添加

#两者顺序最好交替
nameserver MASTER_DNS_IP
nameserver SLAVE_DNS_IP

配置正向从服务器

1)在主服务器区域数据文件中/var/named/xiaoc.com.zone给从服务器授权

@ IN NS dns2
dns2 IN A 172.16.36.208

2) 从服务器

1. 安装与主服务器相同的BIND

2. 在/etc/named.rfc1912.zone中添加

zone "xiaoc.com" IN {
    type slave;
    #主服务器IP
    masters {172.16.36.207;}
    file "slaves/xiaoc.com.zone"

    #区域传送安全控制,none为谁都不允许
    allow-transfer {IP;};
}; 

安全控制选项

allow-transfer{};通常都需要启用,从服务器
allow-query{};此项仅用于服务器是缓存名称服务器时,只开放查询功能给本地客户端
allow-recursion{可以使用网段};允许递归的白名单
allow-update{ none; }:允许动态更新数据文件的主机白名单

参考DNS服务详解

3. 检查语法错误

4. 查看日志

5. 打开或重新加载named服务service named start

6. 测试从服务器dig -t A www.xiaoc.com @172.16.36.208

反向从服务器同理于正向服务器。

BIND子域授权

当一个小公司慢慢发展成为大公司,原来的DNS服务器负载过重,这时可以在原区域再划分子域。1)只需在/var/named/xiaoc.com.zone中添加

#子区域名称
child1 IN NS dns.child
dns.child IN A child_server_ip

2)配置子域服务器与配置主服务器一样,只是区域名称变成了child.xiaoc.com.zone

配置区域转发

解析某本机不负责的区域内的名称时不转发给根,而是转给指定的主机

例如,子域解析父域www.xiaoc.com,在区域数据配置文件中找不到对xiaoc.com授权的dns,则

1) 在区域文件中/etc/named.rfc1912.zone添加

#仅对该访问该区域时进行转发,转发所有区域配置在option{}里面
 zone "ZONE NAME" IN{
    type forward;
    forwarders { DNS_SERVER; };
    forward only(仅转发)|first(先转发在找根)
   }

2) 在区域数据文件中/var/named/slaves/xiaoc.com.zone给转发的DNS_SERVER授权

@ IN NS DNS_SERVER_NAME
DNS_SERVER_NAME IN A SERVER_IP

BIND支持使用访问控制列表–ACL

一般在/etc/named.conf第一行添加

acl ACL_NAME {
    IP1;
    IP2;
    IP3;
}

BIND有四个内置的acl

any:任何主机

none:无一主机

local:本机

localnet:本机所在的网络