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
相关推荐
宴之敖者、2 小时前
Linux——指令
linux·运维·服务器
Xの哲學3 小时前
Linux设备驱动模型深度解剖: 从设计哲学到实战演练
linux·服务器·网络·算法·边缘计算
半夏知半秋3 小时前
kcp学习-通用的kcp lua绑定
服务器·开发语言·笔记·后端·学习
Ydwlcloud3 小时前
AWS 2026折扣活动深度解析:寻找最大优惠的智慧路径
大数据·服务器·人工智能·云计算·aws
企业对冲系统官4 小时前
基差风险管理系统集成说明与接口规范
大数据·运维·python·算法·区块链·github
松涛和鸣4 小时前
DAY55 Getting Started with ARM and IMX6ULL
linux·服务器·网络·arm开发·数据库·html
HIT_Weston4 小时前
101、【Ubuntu】【Hugo】搭建私人博客:元信息&翻译(二)
linux·运维·ubuntu
无线图像传输研究探索4 小时前
如何提升机器狗 “超视距” 作战能力?
服务器·网络·5g·机器人·无线图传·机器狗
座山雕~4 小时前
docker---部署与常用命令
运维·docker·容器