CentOS 7 搭建 DNS 主从服务1. 服务介绍DNS 服务负责域名与 IP 地址之间的解析。企业内网常用 BIND 管理内部域名、主机记录和反向解析主从架构可在主服务器故障时继续提供查询并通过区域传送自动同步记录。2. 准备运行环境• 操作系统CentOS 7.x。• 主 DNS10.1.100.101。• 从 DNS10.1.100.102。• 示例域名qwe.com。• 管理账号root 或具备 sudo 权限的账号。• 两台服务器网络互通YUM 软件源可用。3. 相关知识• DNS 默认使用 UDP/TCP 53 端口普通查询多使用 UDP区域传送和较大响应可能使用 TCP。• BIND 主配置文件是/etc/named.conf区域声明常放在/etc/named.rfc1912.zones区域数据文件默认位于/var/named。• 修改主区域文件后必须递增 SOA 序列号否则从服务器可能不会同步。• 主服务器应使用allow-transfer限制允许传送区域的从服务器地址。• 配置完成后先运行named-checkconf和named-checkzone语法正确后再重启服务。• 客户端测试应明确指定查询服务器避免本地缓存或其他 DNS 服务器影响结果。4. 实验步骤4.1 安装软件主从服务器都执行yum -y install bind bind-utils systemctl enable named4.2 配置主服务器备份并编辑/etc/named.confcp -a /etc/named.conf{,.bak} vi /etc/named.conf允许服务器监听并响应实验网段查询listen-on port 53 { any; }; allow-query { any; };在/etc/named.rfc1912.zones中声明正向和反向区域zone qwe.com IN { type master; file qwe.com.zone; allow-update { none; }; allow-transfer { 10.1.100.102; }; }; zone 100.1.10.in-addr.arpa IN { type master; file 10.1.100.zone; allow-update { none; }; allow-transfer { 10.1.100.102; }; };创建正向区域文件/var/named/qwe.com.zone$TTL 1D IN SOA dns1.qwe.com. admin.qwe.com. ( 2026071201 1H 15M 1W 1D ) IN NS dns1.qwe.com. IN NS dns2.qwe.com. dns1 IN A 10.1.100.101 dns2 IN A 10.1.100.102创建反向区域文件/var/named/10.1.100.zone$TTL 1D IN SOA dns1.qwe.com. admin.qwe.com. ( 2026071201 1H 15M 1W 1D ) IN NS dns1.qwe.com. IN NS dns2.qwe.com. 101 IN PTR dns1.qwe.com. 102 IN PTR dns2.qwe.com.修正权限并启动服务chown root:named /var/named/qwe.com.zone /var/named/10.1.100.zone chmod 640 /var/named/qwe.com.zone /var/named/10.1.100.zone named-checkconf named-checkzone qwe.com /var/named/qwe.com.zone named-checkzone 100.1.10.in-addr.arpa /var/named/10.1.100.zone systemctl restart named客户端将 DNS 地址设置为主服务器后测试echo nameserver 10.1.100.101 /etc/resolv.conf4.3 配置从服务器编辑从服务器/etc/named.conflisten-on port 53 { any; }; allow-query { any; };在/etc/named.rfc1912.zones中声明从区域zone qwe.com IN { type slave; masters { 10.1.100.101; }; file slaves/qwe.com.zone; }; zone 100.1.10.in-addr.arpa IN { type slave; masters { 10.1.100.101; }; file slaves/10.1.100.zone; };检查配置并启动服务named-checkconf systemctl restart named ls -l /var/named/slaves/从服务器成功完成区域传送后可在slaves目录看到同步生成的区域文件。5. 验证结果主服务器执行systemctl status named --no-pager ss -lunpt | grep :53 dig 10.1.100.101 qwe.com SOA dig 10.1.100.101 dns1.qwe.com A dig 10.1.100.101 -x 10.1.100.102 journalctl -u named -n 50 --no-pager从服务器执行systemctl status named --no-pager ls -l /var/named/slaves/ dig 10.1.100.102 qwe.com SOA dig 10.1.100.102 dns2.qwe.com A dig 10.1.100.102 -x 10.1.100.101 journalctl -u named -n 50 --no-pager主从服务器返回相同 SOA 序列号正向和反向记录均能查询53 端口正常监听说明 DNS 主从服务配置成功。