606 字
2 分钟
DNS服务器配置与管理
DNS服务器配置与管理
本实验记录了在 Linux 虚拟机上安装与配置 DNS 服务(BIND)的全过程,包括正向与反向解析的设置及常见错误排查。
一、实验目的
- 了解 DNS 的基本概念和作用
- 掌握 DNS 域名解析过程与查询模式
- 熟悉 BIND 服务器主要配置文件与参数
- 学会使用
named-checkconf、nslookup等命令进行测试与调试
二、实验环境
- 一台虚拟机作为服务器端
- 一台虚拟机作为客户端
- 软件环境:BIND + BIND-chroot
- 网络要求:两台主机在同一网段可互相 ping 通
三、安装与配置 BIND
1️⃣ 安装 DNS 服务
yum install bind bind-chroot -y
2️⃣ 修改主配置文件 /etc/named.conf
打开文件:
vim /etc/named.conf按照以下步骤修改(带行号的是文件中对应位置):
- 13 行:
listen-on port 53 { };→ 在{ }中改为any; - 21 行:
allow-query { };→ 在{ }中改为any; - 33 行:
recursion yes; - 35 行:
dnssec-enable yes; - 36 行:
dnssec-validation no; - 59 行:添加
include "/etc/named.rfc1912.zones"; - 60 行:添加
include "/etc/named.root.key";
修改后效果示例:
listen-on port 53 { any; };allow-query { any; };recursion yes;dnssec-enable yes;dnssec-validation no;
include "/etc/named.rfc1912.zones";include "/etc/named.root.key";

四、配置区域文件
1️⃣ 编辑 /etc/named.rfc1912.zones
备份原配置:
cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak然后编辑:
vim /etc/named.rfc1912.zones在 42 行 添加如下内容:
zone "mypt.edu.cn" IN { type master; file "mypt.edu.cn.zone"; allow-update { none; };};
zone "42.241.192.in-addr.arpa" IN { // 这里网段地址是反向的 192.241.42 type master; file "3.42.241.192.zone"; allow-update { none; };};
五、正向解析文件
cd /var/namedcp -p named.localhost mypt.edu.cn.zone # cp -p 保留源文件权限vim mypt.edu.cn.zone内容如下:
$TTL 1D@ IN SOA @ name.mypt.edu.cn. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum
IN NS name.mypt.edu.cn. IN MX 10 mail.mypt.edu.cn.
name IN A 192.241.42.3mail IN A 192.241.42.20www IN A 192.241.42.10ftp IN A 192.241.42.30gw IN A 192.241.42.254web IN CNAME www.mypt.edu.cn.
六、反向解析文件
cp -p named.loopback 3.42.241.192.zonevim /var/named/3.42.241.192.zone内容如下:
$TTL 1D@ IN SOA @ name.mypt.edu.cn. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum
IN NS name.mypt.edu.cn. IN MX 10 mail.mypt.edu.cn.
3 IN PTR name.mypt.edu.cn.10 IN PTR www.mypt.edu.cn.20 IN PTR mail.mypt.edu.cn.30 IN PTR ftp.mypt.edu.cn.
七、关闭防火墙与 SELinux(实验用)
setenforce 0systemctl stop firewalld八、启动与测试
1️⃣ 检查配置文件是否正确
named-checkconf -z出现以下输出表示通过:
zone localhost.localdomain/IN: loaded serial 0zone localhost/IN: loaded serial 0zone mypt.edu.cn/IN: loaded serial 0zone 42.241.192.in-addr.arpa/IN: loaded serial 02️⃣ 启动 DNS 服务
systemctl restart namedsystemctl enable namedsystemctl status named出现:
Active: active (running)表示启动成功 ✅
九、客户端测试
- 在客户端网络设置中将 DNS 地址改为服务器地址:
192.241.42.3

- 使用
nslookup测试:
nslookup 192.241.42.3输出:
3.42.241.192.in-addr.arpa name = name.mypt.edu.cn.
正反向解析均成功 ✅
十、踩坑记录与排查经验
在调试过程中,我遇到了几种典型错误:
❶ named 服务启动失败
查看状态:
systemctl status named
发现报错:
/etc/named.rfc1912.zones:49: missing ';' before 'zone'解决方法:上一个 zone 块忘记写分号结尾,加上 }; 即可。
❷ 反向区域加载失败
执行:
named-checkconf -z
输出:
zone 42.241.192.in-addr.arpa/IN: loading from master file failed: file not found→ 原因:文件名写错了,改为 3.42.241.192.zone 即可。
❸ has no NS records
zone 42.241.192.in-addr.arpa/IN: has no NS records→ 原因:反向区文件缺少 NS 记录。 → 解决:添加
IN NS name.mypt.edu.cn.❹ connection timed out
客户端使用 nslookup 时:
connection timed out; no servers could be reached→ 解决:
-
确认防火墙已关闭;
-
确认
/etc/named.conf中listen-on port 53 { any; };; -
重启服务:
systemctl restart named
✅ 最后验证
named-checkconf -zsystemctl restart namedsystemctl status named
出现:
Active: active (running)即表示 DNS 服务器配置成功!
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
DNS服务器配置与管理
https://mizuki.ipox.cn/posts/zh-cn/dns-config/ 部分信息可能已经过时
相关文章 智能推荐















