一、DNS 是什么?为什么要自己部署?
DNS(Domain Name System,域名系统)是互联网的 **“数字地址簿”**—— 它能将人类易记忆的域名(如 www.baidu.com
)转换为计算机可识别的 IP 地址(如 180.101.48.113
)。
自己部署 DNS 服务器的核心场景:
- 企业内部搭建网站、邮件服务器,需要自定义域名解析规则;
- 实验室 / 学习环境中,模拟真实 DNS 服务流程,深入理解域名解析原理;
- 对解析速度、安全性有定制需求(如屏蔽广告域名、内网域名私有化解析)。
二、实验环境准备
- 操作系统:Windows Server 2012/2016/2019(桌面版 Windows 也可通过「添加功能」安装 DNS 服务);
- 网络配置:确保服务器有固定 IP(本文以
192.168.1.132
为例),后续客户端需将其设为「首选 DNS 服务器」; - 权限要求:需以管理员身份操作(安装服务、配置区域均需高权限)。
通过网盘分享的文件:已装好的虚拟实验环境
链接: https://pan.baidu.com/s/1hzT-QCC3LkVhbEGlsTxXRw 提取码: i1sj
--来自百度网盘超级会员v5的分享
三、第一步:安装 DNS 服务(Windows Server 2012)
通过「服务器管理器」的「添加角色和功能向导」安装 DNS 服务,步骤如下:
(左下角服务器管理器)
- 打开服务器管理器,点击「添加角色和功能」;
2.向导中选择「基于角色或基于功能的安装」,点击「下一步」;
3.选择目标服务器(通常为本地服务器),点击「下一步」;
4.在「服务器角色」列表中,勾选 **「DNS 服务器」**(系统会自动提示 “添加相关功能”,点 击确认即可);
5.一路点击「下一步」,最后点击「安装」,等待服务安装完成。
四、DNS 核心概念:“区域” 与 “记录” 的关键逻辑
配置前先理清核心概念,否则容易 “越配越晕”~
1. 正向查找区域 vs 反向查找区域
- 正向查找区域:实现 “域名→IP” 的解析(最常用场景,如用户访问
www.topsec.com.cn
时,DNS 返回其 IP)。 - 反向查找区域:实现 “IP→域名” 的解析(多用于网络诊断、安全审计,如通过 IP
192.168.1.132
反查主机名)。
2. 主要区域、辅助区域、存根区域
- 主要区域(Primary Zone):DNS 记录的 **“权威数据源”,支持读写操作 **。自己管理域名时,需先创建主要区域。
- 辅助区域(Secondary Zone):主要区域的 **“只读副本”,用于冗余备份、负载均衡 **(若主 DNS 宕机,辅 DNS 可继续提供解析)。
- 存根区域(Stub Zone):仅存储目标区域的 **“核心元信息”(如权威 DNS 服务器列表),用于加速跨区域查询 **(减少不必要的解析流量)。
五、实战:创建正向查找区域(以 topsec.com.cn
为例)
现在实操搭建 topsec.com.cn
的域名解析体系:
- 打开DNS 管理器:服务器管理器→「工具」→「DNS」;
- 右键「正向查找区域」→「新建区域」,启动「新建区域向导」;
- 区域类型选择 **「主要区域」**(因为我们要 “自主管理记录”),点击「下一步」;
- 区域名称输入
topsec.com.cn
,点击「下一步」; - 选择「创建新文件,文件名为 topsec.com.cn.dns」(默认即可),点击「下一步」;
- 动态更新选择 **「不允许动态更新」**(学习阶段先静态管理,生产环境可按需选 “允许”),点击「下一步」;
- 点击「完成」,正向区域创建成功!
六、实战:添加主机记录(让域名指向具体 IP)
有了 “区域”,还需给具体子域名(如 www.topsec.com.cn
、ftp.topsec.com.cn
)分配 IP。
1. 添加 www.topsec.com.cn
的 A 记录
- 展开 DNS 管理器的「正向查找区域」→
topsec.com.cn
; - 右键区域空白处→「新建主机 (A 或 AAAA)」;
- 「名称」填
www
(域名前缀),「IP 地址」填目标 IP(如192.168.8.251
); - 勾选「创建相关的指针 (PTR) 记录」(同时生成反向解析记录,方便后续验证);
- 点击「添加主机」,完成!
2. 再添加 ftp.topsec.com.cn
的 A 记录
重复上述步骤:「名称」填 ftp
,「IP 地址」填另一 IP(如 192.168.8.132
),同样勾选「PTR 记录」,点击「添加主机」。
七、验证 DNS 解析是否生效
配置完成后,需验证解析是否正常工作。
1. 客户端 DNS 配置
找一台局域网内的电脑(客户端),将其 **「首选 DNS 服务器」** 设置为我们的 DNS 服务器 IP(如 192.168.8.144
)。
2. 用 nslookup
命令测试
打开客户端的命令提示符(CMD),输入以下命令:
nslookup www.topsec.com.cn
若返回 192.168.8.251
,说明正向解析成功!
再测试反向解析(以 192.168.8.132
为例):
nslookup 192.168.1.32
若返回 www.topsec.com.cn
,说明反向解析也成功~
八、拓展:动态 DNS 更新(Dynamic DNS)
若主机 IP 经常变化(如家庭宽带、移动设备),静态记录会很麻烦。动态 DNS(DDNS) 可让 DNS 记录自动跟随 IP 更新。
原理
主机 IP 变化时,会自动向 DNS 服务器发送 “更新请求”,修改 A 记录。Windows DNS 支持动态更新,只需在「新建区域向导」中选择 **“允许动态更新”**,并配置好权限(如仅允许特定主机更新)。
场景举例
家庭 NAS 服务器用 “动态 IP”,通过 DDNS,你仍能通过固定域名 nas.home.com
访问它。
九、常见问题排查
-
解析超时 / 失败:
- 检查客户端 DNS 设置(是否指向你的 DNS 服务器 IP);
- 检查 DNS 服务器的区域配置(域名、IP 是否填反);
- 临时关闭服务器 / 客户端防火墙,测试是否因UDP 53 端口(DNS 默认端口)被拦截导致失败。
-
反向解析显示 “Unknown”:
原因是未创建反向查找区域。需手动创建(步骤类似正向区域,区域名要符合 “IP 反向格式”,如1.168.192.in-addr.arpa
对应192.168.1.*
网段)。
十、总结
自己部署 DNS 服务器的核心流程是:安装服务→创建区域→添加记录→验证解析。掌握后,不仅能在企业 / 学习环境中搭建 “专属域名体系”,还能更深层理解互联网 “地址解析” 的底层逻辑~
如果觉得本文有用,欢迎点赞、收藏,有问题可在评论区交流~