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

RockyLinux DNS区域文件配置(手把手教你搭建本地DNS服务器)

在企业网络或家庭实验环境中,搭建自己的DNS服务器可以提升域名解析效率、增强内网管理能力。本文将详细讲解如何在 RockyLinux 系统中配置 DNS区域文件,帮助零基础用户轻松完成本地DNS服务器的部署。无论你是系统管理员还是刚入门的运维小白,都能跟着本教程一步步操作成功。

RockyLinux DNS区域文件配置(手把手教你搭建本地DNS服务器) DNS配置 DNS区域文件设置 RockyLinux搭建DNS服务器 新手DNS教程 第1张

一、准备工作:安装BIND软件包

RockyLinux默认使用 BIND(Berkeley Internet Name Domain)作为DNS服务软件。首先,我们需要安装它:

sudo dnf install bind bind-utils -y

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

sudo systemctl enable --now namedsudo systemctl status named

二、配置主配置文件 named.conf

BIND 的主配置文件位于 /etc/named.conf。我们需要编辑它以允许本地网络查询,并定义我们的DNS区域。

使用你喜欢的编辑器(如 nanovim)打开该文件:

sudo nano /etc/named.conf

找到以下行并修改为允许局域网访问(假设你的局域网是 192.168.1.0/24):

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";    secroots-file   "/var/named/data/named.secroots";    recursing-file  "/var/named/data/named.recursing";    allow-query     { localhost; 192.168.1.0/24; };    recursion yes;    dnssec-validation yes;    managed-keys-directory "/var/named/dynamic";    pid-file "/run/named/named.pid";    session-keyfile "/run/named/session.key";    include "/etc/crypto-policies/back-ends/bind.config";};

三、创建正向DNS区域文件

假设我们要为内网域名 example.local 提供解析服务。首先,在 /etc/named.conf 中添加区域声明:

zone "example.local" IN {    type master;    file "example.local.zone";    allow-update { none; };};

然后,创建对应的区域文件 /var/named/example.local.zone

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

填入以下内容(请根据实际IP和主机名调整):

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

说明:

  • SOA 记录:起始授权记录,包含序列号(每次修改需递增)、刷新时间等。
  • NS 记录:指定该域的权威DNS服务器。
  • A 记录:将主机名映射到IPv4地址。
  • CNAME 记录:别名,例如 www 指向 web

四、设置文件权限与SELinux上下文

确保区域文件归属正确且权限合适:

sudo chown root:named /var/named/example.local.zonesudo chmod 644 /var/named/example.local.zone

如果启用了SELinux(RockyLinux默认启用),还需修复安全上下文:

sudo restorecon -v /var/named/example.local.zone

五、测试与验证

重启BIND服务使配置生效:

sudo systemctl restart named

使用 named-checkconfnamed-checkzone 检查配置是否正确:

sudo named-checkconfsudo named-checkzone example.local /var/named/example.local.zone

最后,在客户端(或本机)测试解析:

nslookup web.example.local 192.168.1.10# 或dig @192.168.1.10 mail.example.local

六、总结

通过本教程,你已经掌握了在 RockyLinux 上配置 DNS区域文件 的完整流程。无论是用于开发测试环境,还是小型企业内网,这套方法都非常实用。记住关键点:正确编写区域文件、设置权限、检查语法错误。

如果你正在学习 RockyLinux DNS配置 或想深入了解 新手DNS教程,建议多动手实践,并尝试添加反向解析区域(PTR记录)以完善你的DNS服务器功能。

祝你搭建顺利!