Rocky Linux 9.5 BIND 9.16 服务器配置:3步完成正向/反向解析与防火墙放行
2026/7/8 21:10:02 网站建设 项目流程

Rocky Linux 9.5 企业级DNS服务部署:BIND 9.16实战指南

1. 环境准备与核心组件安装

在Rocky Linux 9.5上部署DNS服务前,需要确保系统环境符合要求。建议使用全新安装的系统,并已配置静态IP地址。通过以下命令检查系统版本和网络配置:

# 确认系统版本 cat /etc/redhat-release # 检查网络配置 ip a nmcli connection show

安装BIND 9.16及其工具套件:

dnf install bind bind-utils -y

关键组件说明:

  • bind:提供DNS服务主程序
  • bind-utils:包含dig、nslookup等诊断工具
  • bind-chroot(可选):增强安全性的沙盒环境

安装完成后验证软件包版本:

named -v # 预期输出:BIND 9.16.23-RedHat-9.16.23-15.el9_5 (Extended Support Version)

2. 主配置文件深度优化

BIND的核心配置文件/etc/named.conf需要根据企业环境进行定制。建议先备份原始文件:

cp /etc/named.conf /etc/named.conf.bak

使用vim或nano编辑配置文件,重点关注以下关键参数:

vim /etc/named.conf

配置示例(关键部分):

options { listen-on port 53 { any; }; 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"; allow-query { any; }; recursion yes; /* 安全增强配置 */ dnssec-validation auto; auth-nxdomain no; # 符合RFC1035 version "Not Disclosed"; /* 性能调优 */ max-cache-size 256M; max-cache-ttl 3600; };

注意:生产环境中应根据实际需求限制allow-query范围,避免开放递归查询导致DNS放大攻击风险

3. 区域文件配置实战

3.1 正向解析配置

首先在/etc/named.rfc1912.zones中声明正向解析区域:

zone "skills.com" IN { type master; file "skills.com.zone"; allow-update { none; }; };

创建正向解析文件模板:

cd /var/named cp -a named.localhost skills.com.zone

编辑正向解析文件内容:

$TTL 86400 @ IN SOA ns1.skills.com. admin.skills.com. ( 2024062001 ; serial 3600 ; refresh (1 hour) 1800 ; retry (30 minutes) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) IN NS ns1.skills.com. IN MX 10 mail.skills.com. ; 主机记录 ns1 IN A 192.168.100.200 mail IN A 192.168.100.201 www IN A 192.168.100.202 db01 IN A 192.168.100.210

3.2 反向解析配置

/etc/named.rfc1912.zones中添加反向区域声明:

zone "100.168.192.in-addr.arpa" IN { type master; file "192.168.100.rev"; allow-update { none; }; };

创建反向解析文件:

cp -a named.loopback 192.168.100.rev

反向解析文件内容示例:

$TTL 86400 @ IN SOA ns1.skills.com. admin.skills.com. ( 2024062001 ; serial 3600 ; refresh 1800 ; retry 604800 ; expire 86400 ; minimum ) IN NS ns1.skills.com. ; PTR记录 200 IN PTR ns1.skills.com. 201 IN PTR mail.skills.com. 202 IN PTR www.skills.com. 210 IN PTR db01.skills.com.

4. 防火墙与SELinux集成配置

4.1 firewalld规则配置

允许DNS服务通过防火墙:

firewall-cmd --permanent --add-service=dns firewall-cmd --reload

验证防火墙规则:

firewall-cmd --list-all # 应包含dns服务

4.2 SELinux策略调整

检查SELinux状态:

sestatus

如需调整策略(生产环境需谨慎):

# 允许named写入日志 setsebool -P named_write_master_zones 1 # 检查DNS相关SELinux上下文 ls -Z /var/named/

5. 服务管理与故障排查

5.1 服务启停与自启动

systemctl enable --now named systemctl status named

关键日志监控:

journalctl -u named -f # 或查看特定日志文件 tail -f /var/log/messages

5.2 配置语法检查

named-checkconf named-checkzone skills.com /var/named/skills.com.zone named-checkzone 100.168.192.in-addr.arpa /var/named/192.168.100.rev

5.3 客户端测试验证

使用dig工具进行正反向解析测试:

# 正向解析测试 dig @192.168.100.200 ns1.skills.com # 反向解析测试 dig @192.168.100.200 -x 192.168.100.201 # 查询SOA记录 dig @192.168.100.200 skills.com SOA

6. 高级配置与优化

6.1 视图(View)配置实现智能解析

view "internal" { match-clients { 192.168.100.0/24; }; recursion yes; zone "skills.com" { type master; file "skills.com.internal"; }; }; view "external" { match-clients { any; }; recursion no; zone "skills.com" { type master; file "skills.com.external"; }; };

6.2 DNS安全扩展(DNSSEC)

生成密钥对:

cd /var/named dnssec-keygen -a RSASHA256 -b 2048 -n ZONE skills.com dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -f KSK skills.com

签名区域文件:

dnssec-signzone -S -o skills.com skills.com.zone

6.3 性能监控与日志分析

配置详细日志:

logging { channel query_log { file "/var/named/query.log" versions 3 size 20m; severity debug 3; print-time yes; }; category queries { query_log; }; };

使用rndc进行服务管理:

rndc status rndc reload rndc querylog # 开启查询日志

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询