DNS及主从同步方案详解
一.环境部署
bash
centos:
yum install bind bind-utils
ubuntu:
apt-get install bind9 bind9utils bind9-doc
检查配置:
named-checkconf
检查区域:
named-checkzone "bj.com" /var/named/bj.com.zone
启动:
systemctl start named
常用配置文件:
/etc/named.conf
/etc/named.rfc1912.zones
/var/named/*.zone
/var/named/slaves/*.zone
ubuntu:
/etc/bind/named.conf.options
/etc/bind/named.conf.local
/etc/bind/named.conf.default-zones
二.主从配置(以centos为主)
主:192.168.1.21
从:192.168.1.22
192.168.1.23
192.168.1.7
前提:
①.确保tcp,udp53端口互通
②.修改主服务器的dns为192.168.1.21
③.修改从服务器的dns为192.168.1.21
1.主DNS配置
javascript
##主DNS配置文件1/etc/named.conf
options {
listen-on port 53 { 0.0.0.0; }; //修改到主机IP
listen-on-v6 port 53 { ::1; };
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; //修改为any
allow-transfer { 192.168.1.22; //添加从DNS IP
192.168.1.23;
192.168.1.7; };
notify yes; //配置变更时通知从DNS
recursion yes;
dnssec-enable no; //关闭dns安全验证
dnssec-validation no;
forwarders { 8.8.8.8; }; //添加主DNS的上级DNS
javascript
##主DNS配置文件2 /etc/named.rfc1912.zones
末尾添加一个区域:
zone "bj.com" IN {
type master;
file "bj.com.zone";
notify yes;
also-notify { 192.168.1.22;
192.168.1.23;
192.168.1.7; };
allow-transfer { 192.168.1.22;
192.168.1.23;
192.168.1.7; };
2.从DNS配置
bash
/etc/named.conf
除了allow-transfer,选项去掉,其他和主一样
/etc/named.rfc1912.zones
//添加同步区域
zone "bj.com" IN {
type slave;
masters {192.168.1.21; };
masterfile-format text; //确保同步配置可读
file "slaves/bj.com.zone";
};
3.域名解析
bash
/var/named/bj.com.zone
$TTL 1D
@ IN SOA master bj.com. (
20240801; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A 192.168.1.21
test IN A 192.168.1.22
* IN A 192.168.1.23
@ IN A 192.168.1.24
www IN A 192.168.1.24
tt IN A 192.168.1.25
kk IN A 192.168.1.26
三.配置详解及检查工具
大多数配置文件的选项官网都有详细解释,
bash
转发器:将解析请求转发到指定DNS进行解析
递归查询:当客户端发送查询请求到DNS服务器,如果此服务器无法解决这个请求,
它会代替客户端继续向其他服务器进行查询,直到得到答案
迭代查询:如果服务器无法解析,它不会为客户端到其他服务器进一步查询,
而是将其他可能知道答案的DNS服务器地址返回给客户端,由客户端继续向那些服务器进行查询
辅助dns服务器上手动执行同步
rndc reload example.com
检查
dig example.com @辅DNS服务器IP地址
四.windows辅助区域同步
windows server DNS添加辅助区域即可实现区域同步
一般自动同步时时间为15分钟
windows10 主备DNS,一般主DNS服务器没有响应或者超时,2-5s无即会切换到从DNS进行解析
Linux 不配置dns相关服务,一般不会有dns本地缓存