在企业网络架构中,内网DNS服务器的部署是提升内部服务访问效率和安全性的关键环节,对于使用CentOS系统的运维人员而言,通过Bind搭建一套稳定的内网DNS服务,不仅能够简化资源定位流程,还能有效隔离外部风险,以下为详细实施方案。
一、准备工作
1、系统环境确认

确保服务器已安装CentOS 7或8,并更新至最新版本:
sudo yum update -y
检查网络配置,确认服务器具备静态IP地址,避免因DHCP分配导致服务中断。
2、防火墙与SELinux配置
开放DNS服务的53端口(TCP/UDP):
sudo firewall-cmd --permanent --add-port=53/tcp sudo firewall-cmd --permanent --add-port=53/udp sudo firewall-cmd --reload
若启用SELinux,需调整策略以允许Bind运行:
sudo setsebool -P named_write_master_zones 1
二、安装Bind服务
1、通过Yum安装软件包

Bind及其工具集的安装命令如下:
sudo yum install bind bind-utils -y
验证安装是否成功:
named -v
2、启动服务并设置开机自启
sudo systemctl start named sudo systemctl enable named
三、配置主DNS服务器
1、编辑主配置文件
打开/etc/named.conf,修改以下段落:
options {
listen-on port 53 { 127.0.0.1; 192.168.1.10; }; # 替换为服务器内网IP
allow-query { localhost; 192.168.1.0/24; }; # 允许查询的网段
recursion yes; # 启用递归查询
};在文件末尾添加区域声明:

zone "internal.company" IN { # 替换为自定义内网域名
type master;
file "internal.company.zone";
allow-update { none; };
};2、创建区域文件
在/var/named/目录下新建internal.company.zone:
$TTL 86400
@ IN SOA ns1.internal.company. admin.internal.company. (
2023081501 ; 序列号
3600 ; 刷新时间
1800 ; 重试间隔
604800 ; 过期时间
86400 ; 最小TTL
)
NS ns1.internal.company.
ns1 A 192.168.1.10
webserver A 192.168.1.20
database A 192.168.1.30修改文件权限:
sudo chown named:named /var/named/internal.company.zone
3、检查配置并重启服务
sudo named-checkconf sudo named-checkzone internal.company /var/named/internal.company.zone sudo systemctl restart named
四、客户端测试与验证
1、配置客户端DNS指向
在Linux客户端修改/etc/resolv.conf:
nameserver 192.168.1.10
Windows客户端需在网络适配器设置中手动指定DNS服务器地址。
2、执行解析测试
nslookup webserver.internal.company dig database.internal.company +short
若返回对应的IP地址,则表明服务运行正常。
五、高可用与安全建议
1、部署从DNS服务器
在另一台CentOS服务器配置从节点,通过修改主DNS的区域声明实现数据同步:
zone "internal.company" IN {
type slave;
masters { 192.168.1.10; };
file "slaves/internal.company.zone";
};2、启用TSIG密钥认证
使用dnssec-keygen生成密钥对,并在主从配置中添加认证指令,防止未经授权的区域传输。
3、日志监控与定期维护
通过tail -f /var/log/messages实时查看DNS查询日志,建议每周检查区域文件的序列号及解析记录准确性。
观点
内网DNS的部署绝非一次性任务,而是持续优化的过程,在实际运维中,发现部分企业因忽视TTL设置导致缓存更新延迟,或因未限制递归查询引发安全风险,建议结合监控工具(如Zabbix)对DNS响应时间进行跟踪,同时定期审计解析记录,清除冗余条目,对于中小型网络,可采用容器化部署(如Docker+Bind)以提高灵活性;而大型企业则可考虑集成LDAP实现权限统一管理。
