当前位置:首页 > RockyLinux > 正文

RockyLinux DNS主从同步配置(手把手教你搭建高可用BIND9主从DNS服务器)

在企业网络环境中,DNS服务的高可用性至关重要。通过配置RockyLinux DNS主从同步,可以实现当主DNS服务器宕机时,从服务器自动接管解析请求,保障业务连续性。本文将详细讲解如何在RockyLinux系统上使用BIND9搭建主从DNS服务器,并完成区域文件的自动同步。

RockyLinux DNS主从同步配置(手把手教你搭建高可用BIND9主从DNS服务器) DNS主从同步  BIND9主从配置 DNS服务器 Linux DNS区域传输 第1张

一、环境准备

我们需要两台RockyLinux服务器:

  • 主DNS服务器:IP地址为 192.168.1.10,主机名 dns-master.example.com
  • 从DNS服务器:IP地址为 192.168.1.11,主机名 dns-slave.example.com

确保两台服务器之间网络互通,并关闭防火墙或放行DNS端口(UDP/TCP 53):

# 在两台服务器上执行sudo systemctl stop firewalldsudo systemctl disable firewalld# 或者仅开放DNS端口sudo firewall-cmd --permanent --add-port=53/udpsudo firewall-cmd --permanent --add-port=53/tcpsudo firewall-cmd --reload

二、安装BIND9

在主从服务器上都需安装BIND9(即named服务):

sudo dnf install -y bind bind-utils

三、配置主DNS服务器

编辑主服务器的配置文件 /etc/named.conf

sudo vim /etc/named.conf

修改以下关键部分(其余保持默认):

options {    listen-on port 53 { any; };    allow-query     { any; };    recursion no;    /* 允许从服务器进行区域传输 */    allow-transfer { 192.168.1.11; };};zone "example.com" IN {    type master;    file "example.com.zone";    allow-update { none; };};

创建正向解析区域文件 /var/named/example.com.zone

$TTL 86400@   IN SOA  dns-master.example.com. admin.example.com. (        2024060101 ; Serial        3600       ; Refresh        1800       ; Retry        604800     ; Expire        86400 )    ; Minimum TTL@       IN NS   dns-master.example.com.@       IN NS   dns-slave.example.com.dns-master IN A 192.168.1.10dns-slave  IN A 192.168.1.11www     IN A   192.168.1.100mail    IN A   192.168.1.101

注意:Serial 字段非常重要,每次修改区域文件后必须递增该值,从服务器才会同步更新。

设置文件权限并启动服务:

sudo chown root:named /var/named/example.com.zonesudo chmod 640 /var/named/example.com.zonesudo systemctl enable --now namedsudo named-checkconfsudo named-checkzone example.com /var/named/example.com.zone

四、配置从DNS服务器

编辑从服务器的 /etc/named.conf 文件:

options {    listen-on port 53 { any; };    allow-query     { any; };    recursion no;};zone "example.com" IN {    type slave;    masters { 192.168.1.10; };    file "slaves/example.com.zone";};

启动从服务器的named服务:

sudo systemctl enable --now named

五、验证主从同步

在从服务器上检查是否成功同步区域文件:

ls -l /var/named/slaves/example.com.zone

使用 dig 命令测试解析:

# 查询主服务器dig @192.168.1.10 www.example.com A# 查询从服务器dig @192.168.1.11 www.example.com A

如果返回结果一致,说明 Linux DNS区域传输 成功!

六、常见问题排查

  • 检查主服务器是否允许 allow-transfer 给从服务器IP
  • 确认主从服务器时间同步(建议配置NTP)
  • 查看日志:journalctl -u named -f
  • 确保区域文件的Serial号已更新(修改后必须递增)

总结

通过以上步骤,你已经成功完成了 RockyLinux DNS主从同步 的配置。这种架构不仅提升了DNS服务的可靠性,也为后续扩展(如负载均衡、多从服务器)打下基础。掌握 BIND9主从配置 是Linux系统管理员的必备技能之一。

提示:生产环境中建议结合SELinux策略和更精细的ACL控制,以增强安全性。