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

RockyLinux BIND安装配置指南(手把手教你搭建DNS服务器)

在企业网络或个人实验环境中,搭建一个本地DNS服务器可以极大地提升域名解析效率和网络管理灵活性。本文将详细讲解如何在 RockyLinux 系统上安装和配置 BIND(Berkeley Internet Name Domain),这是目前最广泛使用的开源DNS服务器软件之一。无论你是初学者还是有一定经验的运维人员,本教程都将帮助你顺利完成 RockyLinux BIND安装 与基本配置。

RockyLinux BIND安装配置指南(手把手教你搭建DNS服务器) BIND安装  BIND9配置教程 DNS服务器搭建 Rocky Linux DNS配置 第1张

一、准备工作

在开始之前,请确保你已满足以下条件:

  • 一台运行 Rocky Linux 8 或 9 的服务器(建议最小化安装)
  • 具有 root 权限或 sudo 权限的用户账户
  • 服务器已配置静态 IP 地址(例如:192.168.1.10)
  • 系统已连接互联网,以便安装软件包

二、安装 BIND 软件包

BIND 在 Rocky Linux 的官方仓库中以 bindbind-utils 包的形式提供。我们使用 dnf 命令进行安装:

sudo dnf update -ysudo dnf install bind bind-utils -y

安装完成后,启动并设置 BIND 服务开机自启:

sudo systemctl enable named --nowsudo systemctl status named

如果看到 active (running) 状态,说明服务已成功启动。

三、配置 BIND 主配置文件

BIND 的主配置文件位于 /etc/named.conf。我们需要编辑它以允许客户端查询,并定义区域(zone)。

首先备份原配置文件:

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

然后使用你喜欢的编辑器(如 vi 或 nano)打开配置文件:

sudo vi /etc/named.conf

找到以下两行并修改为允许所有网络(或指定你的局域网段)查询:

// listen-on port 53 { 127.0.0.1; };// listen-on-v6 port 53 { ::1; };

取消注释并修改为:

listen-on port 53 { any; };listen-on-v6 port 53 { any; };

接着找到 allow-query 行,修改为:

allow-query     { localhost; 192.168.1.0/24; };
注意:请根据你的实际网络环境调整 IP 段。例如,如果你的局域网是 10.0.0.0/24,则应写成 10.0.0.0/24

最后,在文件末尾添加正向解析区域(forward zone)和反向解析区域(reverse zone):

zone "example.local" IN {    type master;    file "example.local.zone";    allow-update { none; };};zone "1.168.192.in-addr.arpa" IN {    type master;    file "192.168.1.rev";    allow-update { none; };};

四、创建区域数据文件

区域文件默认存放在 /var/named/ 目录下。我们先创建正向解析文件:

sudo vi /var/named/example.local.zone

填入以下内容(请根据实际情况修改):

$TTL 86400@   IN SOA  ns1.example.local. admin.example.local. (        2024060101 ; Serial        3600       ; Refresh        1800       ; Retry        604800     ; Expire        86400 )    ; Minimum TTL@       IN NS   ns1.example.local.ns1     IN A    192.168.1.10www     IN A    192.168.1.20mail    IN A    192.168.1.30

再创建反向解析文件:

sudo vi /var/named/192.168.1.rev

填入以下内容:

$TTL 86400@   IN SOA  ns1.example.local. admin.example.local. (        2024060101 ; Serial        3600       ; Refresh        1800       ; Retry        604800     ; Expire        86400 )    ; Minimum TTL@       IN NS   ns1.example.local.10      IN PTR  ns1.example.local.20      IN PTR  www.example.local.30      IN PTR  mail.example.local.

五、设置文件权限并测试配置

确保区域文件的所有者为 named 用户:

sudo chown named:named /var/named/example.local.zonesudo chown named:named /var/named/192.168.1.rev

检查配置语法是否正确:

sudo named-checkconfsudo named-checkzone example.local /var/named/example.local.zonesudo named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.rev

如果全部返回 OK,说明配置无误。重启 BIND 服务使配置生效:

sudo systemctl restart named

六、防火墙设置

Rocky Linux 默认启用 firewalld,需放行 DNS 端口(UDP/TCP 53):

sudo firewall-cmd --permanent --add-service=dnssudo firewall-cmd --reload

七、客户端测试

在另一台机器上,将 DNS 服务器地址设置为你的 Rocky Linux 服务器 IP(如 192.168.1.10),然后使用 nslookupdig 测试:

nslookup www.example.local 192.168.1.10

如果返回正确的 IP 地址(192.168.1.20),说明你的 DNS服务器搭建 成功!

八、总结

通过本教程,你已经成功完成了 Rocky Linux DNS配置 的全过程。从安装 BIND 到创建区域文件,再到测试验证,每一步都清晰明了。掌握 BIND9配置教程 不仅能帮助你在本地网络中实现高效域名解析,还能为后续学习更高级的 DNS 功能(如主从同步、动态更新等)打下坚实基础。

现在,你可以根据实际需求扩展更多域名记录,或将其部署到生产环境中。祝你搭建顺利!