码上问学问代码之理,学编程之道
教材同步›项目 9
教材同步 · 叶廷东《Linux 操作系统管理(第 2 版)》航空工业出版社 · “十四五”国家规划教材

项目9 DNS 服务器

DNS 把域名解析成 IP。配 BIND named、写区域文件、named-checkzone 校验、rndc reload 重载。

任务 9.1

服务概述

BIND / named

DNS 把域名解析成 IP。Linux 上常用 BIND(守护进程 named)。教材项目 9。

任务 9.2

安装与配置

从装包到写出配置文件
9.2.1安装软件包

dnf install -y bind bind-utils;主程序 named,客户端工具 dig/nslookup 来自 bind-utils。

9.2.2配置文件 /etc/named.conf 与区域文件

在 /etc/named.conf 里设 listen-on 与 allow-query,并 include 区域声明;区域数据写在 /var/named/域名.zone,含 SOA、NS、A 记录。改完用 named-check* 校验。

conf
在 <code>/etc/named.conf</code> 里设 listen-on 与 allow-query,并 include 区域声明;区域数据写在 <code>/var/named/域名.zone</code>,含 SOA、NS、A 记录。改完用 named-check* 校验。
任务 9.3

启动、放行与测试

让服务跑起来并验证
9.3.1启动与防火墙

启动服务并设置开机自启;用 firewall-cmd --add-service=dns --permanent 放行,再 --reload。生产服务器只开必要端口。

bash
systemctl enable --now dns
firewall-cmd --add-service=dns --permanent
firewall-cmd --reload
Created symlink ... success (规则已重载)
9.3.2测试验证

在本机或客户机把 DNS 指向该服务器,dig 域名 @服务器IP 应返回你配的 A 记录;排障先看 named-checkzone 再 journalctl -u named。

9.3.3关键命令参数卡
随身参数卡 · DNS(BIND) 命令
校验
  • named-checkconf 校验主配置语法
  • named-checkzone 域名 /var/named/域名.zone 校验区域
  • rndc reload 改完重载(不必重启)
解析与放行
  • dig @localhost 域名 本机自测解析
  • dig A / MX / NS 类型
  • firewall-cmd --add-service=dns --permanent
  • systemctl enable --now named
完整五步实战在这里:网络服务配置实战 · DNS(BIND) 按「场景 → 配置 → 启动 → 测试 → 排障」详细展开,含多服务集成与排障法,本项目只给命令与参数卡。

拓展训练

教材每项目末尾 · 上机可重做取最高分
1
在虚拟机里安装并启动 BIND / named,用 systemctl status 确认 Active(running)。
2
用 firewall-cmd --add-service=dns --permanent 放行后 --reload,从另一台机器测试能连通。
3
故意写错一处配置,用本项目参数卡里的『校验命令』找出错误并修复。
4
把该服务设为开机自启(systemctl enable),重启虚拟机验证自动起来。

服务项目重在『排障』:连不上时按 配置→端口→防火墙→日志 逐层查,journalctl -u 服务名 是第一现场。