02. 配置DNS服务器

配置服务流程:

注意:/etc/hosts 只适合小规模的集群**、静态的主机名解析场景**,在中大型集群或动态环境中存在明显局限。

/etc/hosts 是 Linux/Unix 系统中一个 静态的主机名 - IP 地址映射文件 ,作用是实现本地主机名解析,无需依赖外部 DNS 服务器。

1. 安装软件包

bash 复制代码
[root@server ~ 10:41:22]# yum install -y bind

2. 准备一些材料,例如文件、用户等

合并在第三步

3. 配置服务器,例如修改服务器配置文件

bash 复制代码
[root@server ~ 13:59:26]# rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf
......

[root@server ~ 13:59:50]# vim /etc/named.conf 
options {
        //  添加 10.1.8.10;
        listen-on port 53 { 127.0.0.1;10.1.8.10; };
        listen-on-v6 port 53 { ::1; };
        // dns 域文件目录
        directory       "/var/named";
...
        // 允许哪些客户端想我查询记录,添加 10.1.8.0/24;
        allow-query     { localhost;10.1.8.0/24; };
...
        // 允许递归查询
        recursion yes;

        dnssec-enable yes;
        // 关闭安全校验
        dnssec-validation no;
......
};
配置行 核心含义 关键说明
listen-on port 53 { 127.0.0.1;10.1.8.10; }; 指定 DNS 服务监听的 IP 和端口 1. 端口 53 是 DNS 服务的默认端口;2. 127.0.0.1:允许本机回环访问 DNS;3. 10.1.8.10:新增的本机网卡 IP,允许其他机器通过这个 IP 访问该 DNS 服务;(如果只留 127.0.0.1,其他机器无法访问此 DNS)
listen-on-v6 port 53 { ::1; }; IPv6 监听规则 仅监听本机 IPv6 回环地址 ::1,暂未修改(一般集群若不用 IPv6,可忽略)
directory "/var/named"; 指定 DNS 域解析文件(区文件)的存放目录 比如后续配置的 10.1.8.x 网段的主机名 - IP 映射文件,会放在 /var/named
allow-query { localhost;10.1.8.0/24; }; 允许哪些客户端查询该 DNS 服务 1. localhost:允许本机查询;2. 10.1.8.0/24:允许 10.1.8 网段的所有机器(如 10.1.8.1、10.1.8.2...)来此查询 DNS 记录;(默认可能只有 localhost,新增网段后该网段机器才能用这个 DNS)
recursion yes; 开启递归查询 DNS 核心功能:当客户端查询的记录本机没有时,DNS 服务器会主动去外网 DNS (如 8.8.8.8)查询,再把结果返回给客户端(内网 DNS 必须开这个,否则只能解析本机配置的记录)
dnssec-enable yes; 开启 DNSSEC 功能开关 DNSSEC 是 DNS 安全扩展,用于防 DNS 劫持,但只是 "开关"
dnssec-validation no; 关闭 DNSSEC 记录校验 内网环境无需严格的 DNSSEC 校验,关闭后可避免解析失败(如果开了校验,内网无签名记录会解析报错)
bash 复制代码
// 最后添加
// 正向解析
zone "migaomei.cloud" IN {
	type master;
	file "migaomei.cloud.zone";
};

// 反向解析
zone "8.1.10.in-addr.arpa" IN {
	type master;
	file "10.1.8.zone";
};
配置行 配置类型 核心含义 关键注意事项
zone "migaomei.cloud" IN { 正向解析域声明 定义 migaomei.cloud 域的解析规则,IN 表示 Internet 类(默认) 域名称需与实际要解析的域名一致,不能随意命名
type master; 服务器类型 该 DNS 服务器是 migaomei.cloud 域的主 DNS 服务器 主服务器负责维护解析记录,从服务器需配置 type slave;
file "migaomei.cloud.zone"; 解析文件路径 指定 migaomei.cloud 域的解析记录存放在 /var/named/migaomei.cloud.zone(因 directory 定义为 /var/named 文件名可自定义,但需与实际创建的文件一致,后缀建议用 .zone 便于识别
zone "8.1.10.in-addr.arpa" IN { 反向解析域声明 定义 10.1.8.x 网段的反向解析规则 反向域命名规则:网段倒写.in-addr.arpa(10.1.8 → 8.1.10),固定格式不能错
file "10.1.8.zone"; 反向解析文件路径 指定 10.1.8.x 网段的反向解析记录存放在 /var/named/10.1.8.zone 文件名建议包含网段,便于区分不同网段的反向解析文件
bash 复制代码
[root@server ~ 14:17:19]# cd /var/named/
[root@server named 14:36:52]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves

[root@server named 14:37:16]# cp named.localhost migaomei.cloud.zone
[root@server named 14:37:45]# vim migaomei.cloud.zone
$TTL 1D
@	IN SOA	dns.migaomei.cloud. admin.migaomei.cloud. (
					10	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
         NS      dns.migaomei.cloud.
         MX 101  mail101.migaomei.cloud.
         MX 102  mail102.migaomei.cloud.
dns      A       10.1.8.10
mail101  A       10.1.8.101
mail102  A       10.1.8.102
server   A       10.1.8.10
client   A       10.1.8.11
www      A       10.1.8.100

[root@server named 14:37:48]# cp migaomei.cloud.zone 10.1.8.zone
[root@server named 14:37:50]# vim 10.1.8.zone
$TTL 1D
@	IN SOA	dns.migaomei.cloud. admin.migaomei.cloud. (
					10	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
        NS      dns.migaomei.cloud.
10	PTR	dns.migaomei.cloud.
10	PTR	server.migaomei.cloud.
11	PTR	client.migaomei.cloud.
100	PTR	www.migaomei.cloud.
101	PTR	mail101.migaomei.cloud.
102	PTR	mail102.migaomei.cloud.
配置行 核心含义 注意事项
$TTL 1D 解析记录缓存有效期为 1 天(86400 秒) 内网建议改为 1H(1 小时),便于快速更新解析记录
@ IN SOA dns.migaomei.cloud. admin.migaomei.cloud. ( 反向域(8.1.10.in-addr.arpa)的起始授权记录 1. dns.migaomei.cloud.:主 DNS 服务器域名(末尾 . 必须加,已正确);2. admin.migaomei.cloud.:管理员邮箱(@. 替代,格式正确)
10 ; serial 序列号(修改配置后需 + 1,否则从服务器不同步) 当前值为 10,建议用时间戳(如 2026011601),更易识别版本
1D ; refresh 从服务器刷新间隔(1 天) 内网主从架构建议改为 1H,缩短同步延迟
1H ; retry 从服务器重试间隔(1 小时) 格式正确,无需修改
1W ; expire 从服务器过期时间(1 周) 格式正确,无需修改
3H ) ; minimum 否定缓存时间(3 小时) 右括号 ) 后建议加空格,语法更规范
NS dns.migaomei.cloud. 指定反向域的 DNS 服务器为 dns.migaomei.cloud. 需确保正向解析中 dns.migaomei.cloud. 对应 10.1.8.10,否则 NS 记录失效
10 PTR dns.migaomei.cloud. 10.1.8.10 → dns.migaomei.cloud. 格式正确,反向解析核心(PTR 记录)
10 PTR server.migaomei.cloud. 10.1.8.10 → server.migaomei.cloud. 一个 IP 可映射多个域名(多 PTR 记录),合法且常用
11 PTR client.migaomei.cloud. 10.1.8.11 → client.migaomei.cloud. 格式正确
100 PTR www.migaomei.cloud. 10.1.8.100 → www.migaomei.cloud. 格式正确
101 PTR mail101.migaomei.cloud. 10.1.8.101 → mail101.migaomei.cloud. 格式正确
102 PTR mail102.migaomei.cloud. 10.1.8.102 → mail102.migaomei.cloud. 格式正确
bash 复制代码
[root@server named 14:49:52]# ll migaomei.cloud.zone 10.1.8.zone
-rw-r----- 1 root  root   279 Jan 15 14:49 10.1.8.zone
-rw-r----- 1 root  root   247 Jan 15 14:46 migaomei.cloud.zone

[root@server named 14:49:56]# chgrp named migaomei.cloud.zone 10.1.8.zone 
[root@server named 14:50:13]# ll migaomei.cloud.zone 10.1.8.zone
-rw-r----- 1 root named 279 Jan 15 14:49 10.1.8.zone
-rw-r----- 1 root named 247 Jan 15 14:46 migaomei.cloud.zone

4. 启用并启动服务

bash 复制代码
[root@server named 14:51:07]# systemctl enable named --now
[root@server named 14:52:16]# systemctl is-active named
active
[root@server named 14:52:16]#systemctl restart named

5. 设置防火墙

bash 复制代码
[root@server ~ 15:08:51]# systemctl disable firewalld --now

6. 客户端验证

bash 复制代码
[root@client ~ 15:09:31]# yum install -y bind-utils

向10.1.8.10查询server.migaomei.cloud名称对应的A记录(默认)

bash 复制代码
[root@client ~ 15:10:02]# dig @10.1.8.10 server.migaomei.cloud

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> @10.1.8.10 server.migaomei.cloud
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48987
opcode:
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096

## 查询部分
;; QUESTION SECTION:
;server.migaomei.cloud.		IN	A


## 应答部分
;; ANSWER SECTION:
server.migaomei.cloud.	86400	IN	A	10.1.8.10


## 权威部分
;; AUTHORITY SECTION:
migaomei.cloud.		86400	IN	NS	dns.migaomei.cloud.

## 额外部分
;; ADDITIONAL SECTION:
dns.migaomei.cloud.	86400	IN	A	10.1.8.10

;; Query time: 1 msec
;; SERVER: 10.1.8.10#53(10.1.8.10)
;; WHEN: Thu Jan 15 15:10:28 CST 2026
;; MSG SIZE  rcvd: 97


# 查询邮箱记录
[root@client ~ 15:16:48]# dig @10.1.8.10 migaomei.cloud MX


# 查询反向记录
[root@client ~ 15:19:46]# dig @10.1.8.10 -x 10.1.8.10
相关推荐
Leinwin4 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_865382504 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇4 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.7595 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
运维小欣5 小时前
智能体选型实战指南
运维·人工智能
yy55275 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ6 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔8 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密8 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi20158 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑