CentOS DNS 主从配置指南
DNS(域名系统)是互联网中用于将域名转换为IP地址的系统,在CentOS系统中,配置DNS主从可以有效地提高DNS服务的稳定性和可靠性,本文将详细介绍如何在CentOS上配置DNS主从。

准备工作
确保您的CentOS系统已安装bind软件包,如果没有安装,可以使用以下命令进行安装:
sudo yum install bind bind-utils
准备两个CentOS服务器,一个作为主服务器(Master),另一个作为从服务器(Slave)。
主服务器配置
- 编辑主服务器上的
/etc/named.conf文件,添加从服务器信息:
sudo vi /etc/named.conf
在文件中添加以下内容:
zone "example.com" IN {
type master;
file "example.com.db";
allow-transfer { slave; };
}; - 创建区域文件
/etc/named.rfc1912.zones,添加从服务器信息:
sudo vi /etc/named.rfc1912.zones
在文件中添加以下内容:
zone "example.com" {
type master;
file "example.com.db";
allow-transfer { slave; };
}; - 创建区域数据文件
/var/named/example.com.db,并添加以下内容:
$TTL 604800
@ IN SOA ns1.example.com. admin.example.com. (
2023040101 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.example.com.
ns1 IN A 192.168.1.1
www IN A 192.168.1.2 重启named服务:

sudo systemctl restart named
从服务器配置
- 编辑从服务器上的
/etc/named.conf文件,添加主服务器信息:
sudo vi /etc/named.conf
在文件中添加以下内容:
zone "example.com" IN {
type slave;
masters { 192.168.1.1; };
file "example.com.zone";
}; - 创建区域数据文件
/var/named/example.com.zone,并添加以下内容:
$ORIGIN example.com.
$TTL 604800
@ IN SOA ns1.example.com. admin.example.com. (
2023040101 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.example.com.
ns1 IN A 192.168.1.1
www IN A 192.168.1.2 重启named服务:
sudo systemctl restart named
验证配置
在主服务器上,使用以下命令查看区域文件:
sudo named-checkzone example.com /var/named/example.com.db
在从服务器上,使用以下命令查看区域文件:
sudo named-checkzone example.com /var/named/example.com.zone
FAQs

问题:为什么从服务器上的区域文件与主服务器上的不一致?
解答: 确保从服务器上的
/etc/named.conf文件中的masters字段指向了主服务器的IP地址,并且从服务器上的/var/named/example.com.zone文件中的内容与主服务器上的/var/named/example.com.db一致。问题:如何查看DNS查询结果?
解答: 使用
nslookup或dig命令可以查看DNS查询结果,使用以下命令查看www.example.com的IP地址:nslookup www.example.com
或
dig www.example.com

