linux安装配置bind dns服务的核心是:一、用yum/dnf/apt安装bind及工具包;二、修改named.conf监听any、allow-query any并启用区域包含;三、创建正向zone文件、设权限、在rfc1912.zones或named.conf.local中声明master区域,最后检查语法、启动服务并dig验证。

在 Linux 运维中安装配置 BIND DNS 服务,核心是完成三件事:装对软件、配对监听与权限、写对区域数据。整个过程不依赖编译,用系统包管理器即可快速部署,适合生产环境快速上线。
安装 BIND 软件包
不同发行版使用对应命令,确保同时安装主服务和诊断工具(如 dig、nslookup):
- RHEL/CentOS/Rocky/AlmaLinux(yum 或 dnf):
sudo dnf install -y bind bind-utils - Debian/Ubuntu:
sudo apt update && sudo apt install -y bind9 bind9utils dnsutils
安装后检查版本确认成功:named -v
若提示命令未找到,说明服务名在 Debian 系为 bind9,但二进制仍是 named,路径通常为 /usr/sbin/named。
修改主配置文件 /etc/named.conf(RHEL系)或 /etc/bind/named.conf(Debian系)
关键不是全改,而是调整三个核心项,让服务能被外部访问并加载区域:
- 备份原配置:
sudo cp /etc/named.conf /etc/named.conf.bak - 编辑
options {}块:
–listen-on { any; };(监听所有 IPv4 地址)
–allow-query { any; };(允许任意客户端发起查询)
– 确保include "/etc/named.rfc1912.zones";未被注释(RHEL系)或在 Debian 系检查named.conf.local是否已 include 区域定义 - 权威 DNS 服务器建议关闭递归查询(避免被滥用):
recursion no;
创建正向解析区域文件
以域名为 example.com、DNS 服务器 IP 为 192.168.10.10 为例:
- 新建 zone 文件(RHEL系路径一般为
/var/named/example.com.zone;Debian系建议建在/etc/bind/zones/db.example.com):sudo vi /var/named/example.com.zone - 填入标准 SOA + NS + A 记录:
$TTL 86400<br>@ IN SOA ns1.example.com. admin.example.com. (<br> 2024010101 ; serial<br> 3600 ; refresh<br> 1800 ; retry<br> 604800 ; expire<br> 86400 ; minimum<br>)<br>@ IN NS ns1.example.com.<br>ns1 IN A 192.168.10.10<br>www IN A 192.168.10.20
- 设置属主与权限(RHEL系必需):
sudo chown root:named /var/named/example.com.zonesudo chmod 640 /var/named/example.com.zone
声明区域并启动服务
让 named 知道这个 zone 存在且为主服务器:
- RHEL系:在
/etc/named.rfc1912.zones末尾添加:zone "example.com" IN {<br> type master;<br> file "example.com.zone";<br> allow-update { none; };<br>}; - Debian系:在
/etc/bind/named.conf.local中添加:zone "example.com" {<br> type master;<br> file "/etc/bind/zones/db.example.com";<br>}; - 检查语法是否正确:
RHEL系:sudo named-checkconf
Debian系:sudo named-checkconf -z - 启动并设开机自启:
sudo systemctl start named(RHEL)或sudo systemctl start bind9(Debian)sudo systemctl enable named或bind9 - 验证解析是否生效:
dig @127.0.0.1 www.example.com(本机测试)dig @192.168.10.10 www.example.com(局域网其他机器测试)











