配置服务流程:
注意:/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