在局域网或企业网络中,“通过域名访问设备” 比记 IP 地址更高效,而 DNS(Domain Name System,域名系统)正是实现 “域名→IP” 解析的核心服务。本文将分别讲解 Windows Server 2019 和 Linux(CentOS 7)系统的 DNS 服务部署、解析配置及客户端使用方法,覆盖从服务搭建到日常运维的全流程,新手也能轻松掌握。
一、先理清:DNS 核心概念与作用
动手前先搞懂基础逻辑,避免后续操作踩错方向。
1. DNS 的核心价值
- 简化访问:无需记忆复杂的 IP 地址(如
192.168.1.100),通过简单域名(如server1.lan)即可访问设备。 - 统一管理:当设备 IP 变更时,只需修改 DNS 服务器的解析记录,所有客户端无需单独调整。
- 支持多场景:可实现内网域名解析(如办公设备互访)、外网域名转发(如访问百度、淘宝)等需求。
2. 关键术语解析
- DNS 服务器:存储域名与 IP 对应关系(解析记录),响应客户端解析请求的设备。
- 区域(Zone):DNS 服务器管理的 “域名范围”,如
lan区域负责解析所有以.lan结尾的域名(如pc1.lan、nas.lan)。 - 解析记录:域名与 IP 的映射关系,常见类型有:
- A 记录:将域名解析到 IPv4 地址(最常用,如
server1.lan → 192.168.1.100); - AAAA 记录:将域名解析到 IPv6 地址(较少用,需网络支持 IPv6);
- 反向解析记录(PTR):将 IP 解析到域名(用于验证设备身份,如邮件服务器)。
- A 记录:将域名解析到 IPv4 地址(最常用,如
- 客户端:需要通过 DNS 解析域名的设备(如电脑、手机、服务器),需手动指定 DNS 服务器 IP。
二、部署前准备:环境与依赖检查
无论 Windows 还是 Linux,先确保环境满足以下条件,避免部署失败。
| 检查项 | Windows Server 2019(服务端) | Linux(CentOS 7,服务端) | 客户端(Windows/Linux) |
|---|---|---|---|
| 操作系统 | Windows Server 2019(标准版 / 数据中心版) | CentOS 7(最小安装或桌面版均可) | Windows 10/11、CentOS 7、Ubuntu 等 |
| 网络 | 固定 IP 地址(如192.168.1.10),避免 IP 变动导致服务失效 | 固定 IP 地址(如192.168.1.20) | 与 DNS 服务器在同一局域网,能 ping 通服务端 IP |
| 权限 | 管理员账号(如Administrator) | root 或 sudo 权限 | 普通用户即可(修改 DNS 需管理员 /root 权限) |
| 依赖 | 系统自带 DNS 服务组件,无需额外安装 | 需安装bind(DNS 核心服务)、bind-utils(解析工具) | Windows 无需额外工具;Linux 需bind-utils(可选) |
三、方案一:Windows Server 2019 部署 DNS 服务
Windows 通过图形化界面操作,步骤更直观,适合不熟悉命令行的用户。
1. 安装 DNS 服务组件
- 打开 “服务器管理器”,点击左侧 “仪表板”→“添加角色和功能”;
- 进入 “添加角色和功能向导”,点击 “下一步”,选择 “基于角色或基于功能的安装”,继续 “下一步”;
- 选择当前服务器(如
WIN-XXXXXX),点击 “下一步”; - 在 “服务器角色” 中勾选 “DNS 服务器”,弹出 “添加 DNS 服务器所需的功能”,点击 “添加功能”,然后 “下一步”;
- 后续步骤均点击 “下一步”,最后点击 “安装”,等待安装完成后点击 “关闭”。
2. 创建 DNS 区域(核心:管理域名范围)
安装完成后,需创建 “区域” 来管理特定域名的解析记录:
- 打开 “DNS 管理器”:在 “服务器管理器” 左侧点击 “DNS”,右键点击当前服务器名称(如
WIN-XXXXXX),选择 “DNS 管理器”; - 新建正向查找区域(解析 “域名→IP”,最常用):
- 右键点击 “正向查找区域”,选择 “新建区域”,进入向导后点击 “下一步”;
- 选择区域类型:内网解析选 “主要区域”(自己管理记录),点击 “下一步”;
- 输入区域名称(如
lan,表示管理所有.lan结尾的域名),点击 “下一步”; - 区域文件保持默认(自动生成
lan.dns),点击 “下一步”; - 动态更新选择 “不允许动态更新”(内网手动管理更稳定),点击 “下一步”;
- 点击 “完成”,正向查找区域创建完成。
3. 添加解析记录(域名→IP 映射)
区域创建后,添加 A 记录实现 “域名→IP” 解析:
- 在 “DNS 管理器” 中,展开 “正向查找区域”→右键点击刚创建的
lan区域→选择 “新建主机 (A 或 AAAA) 记录”; - 输入 “主机名”(如
server1,完整域名为server1.lan),“IP 地址”(如192.168.1.100); - 无需勾选 “创建相关的指针 (PTR) 记录”(反向解析可选),点击 “添加主机”;
- 提示 “成功创建了主机记录”,点击 “确定”,再点击 “完成”。
4. 验证 DNS 服务器(本地测试解析)
在 DNS 服务器本地测试解析是否正常:
- 打开 “命令提示符”(Win+R→输入
cmd→回车); - 执行解析命令:
nslookup server1.lan(替换为你创建的域名); - 若输出类似以下内容,说明服务端部署成功:
Server: WIN-XXXXXX.lan Address: 192.168.1.10 # DNS服务器IP Name: server1.lan Address: 192.168.1.100 # 解析到的IP
四、方案二:Linux(CentOS 7)部署 DNS 服务
Linux 通过命令行操作,核心依赖bind服务,步骤更简洁,适合服务器环境。
1. 安装 DNS 核心服务与工具
执行yum命令安装bind(DNS 服务)和bind-utils(解析测试工具):
# 安装DNS服务与工具
yum install -y bind bind-utils
2. 配置 DNS 主配置文件(named.conf)
DNS 的主配置文件为/etc/named.conf,需修改以允许客户端访问并指定区域文件路径:
# 编辑主配置文件
vim /etc/named.conf
找到以下内容并修改(关键修改处已标注):
options {
listen-on port 53 { any; }; # 改为any,允许所有客户端访问(内网可放心使用)
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; # 改为any,允许所有客户端查询
# 以下内容保持默认,无需修改
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
# 添加正向查找区域(管理lan域名,与Windows方案对应)
zone "lan" IN {
type master; # 主区域(自己管理记录)
file "lan.zone"; # 区域文件名称(后续会创建)
allow-update { none; }; # 禁止动态更新,手动管理
};
修改完成后,按Esc→输入:wq保存退出。
3. 创建区域文件(存储解析记录)
区域文件需放在/var/named目录下(与主配置文件directory参数一致),先复制模板文件再修改:
# 复制模板文件为lan.zone(与主配置文件中file参数一致)
cp /var/named/named.localhost /var/named/lan.zone
# 修改区域文件权限(确保named用户可读取)
chown named:named /var/named/lan.zone
# 编辑区域文件
vim /var/named/lan.zone
将文件内容修改为以下内容(关键字段已标注):
$TTL 1D # 解析记录有效期(1天)
@ IN SOA lan. admin.lan. ( # @表示当前区域(lan),admin.lan是管理员邮箱
0 ; serial # 序列号(修改记录后需+1,用于主从同步)
1D ; refresh # 从服务器刷新间隔
1H ; retry # 刷新失败后重试间隔
1W ; expire # 从服务器过期时间
3H ) ; minimum # 最小缓存时间
IN NS dns.lan. # 指定DNS服务器的域名(自己)
dns IN A 192.168.1.20 # DNS服务器的A记录(域名dns.lan→IP192.168.1.20)
server1 IN A 192.168.1.100 # 新增解析记录(server1.lan→192.168.1.100)
修改完成后保存退出。
4. 启动 DNS 服务并设置开机自启
# 启动named服务(DNS核心服务)
systemctl start named
# 设置开机自启
systemctl enable named
# 检查服务状态(显示active (running)则正常)
systemctl status named
5. 验证 DNS 服务器(本地测试)
执行nslookup命令测试解析:
# 解析server1.lan(替换为你添加的域名)
nslookup server1.lan
若输出类似以下内容,说明 Linux DNS 服务部署成功:
Server: 192.168.1.20 # DNS服务器IP
Address: 192.168.1.20#53 # DNS端口(默认53)
Name: server1.lan
Address: 192.168.1.100 # 解析到的IP
五、客户端配置:使用 DNS 解析域名
无论客户端是 Windows 还是 Linux,只需指定 DNS 服务器 IP,即可通过域名访问设备。
1. Windows 客户端配置(以 Windows 10 为例)
- 右键点击任务栏 “网络” 图标→选择 “打开网络和共享中心”;
- 点击左侧 “更改适配器设置”→右键点击当前网络(如 “以太网”)→选择 “属性”;
- 双击 “Internet 协议版本 4 (TCP/IPv4)”;
- 选择 “使用下面的 DNS 服务器地址”,输入 DNS 服务器 IP(如 Windows DNS 的
192.168.1.10或 Linux DNS 的192.168.1.20); - 点击 “确定”→“关闭”,配置完成。
测试:打开命令提示符,执行ping server1.lan,若能 ping 通(显示解析到的 IP),说明配置正常。
2. Linux 客户端配置(以 CentOS 7 为例)
需修改网络配置文件,指定 DNS 服务器 IP:
# 编辑网络配置文件(不同网卡名称可能不同,如ens33)
vim /etc/sysconfig/network-scripts/ifcfg-ens33
添加或修改以下内容:
# DNS服务器IP(可填1-2个,多个用空格分隔)
DNS1=192.168.1.20 # 替换为你的DNS服务器IP
DNS2=8.8.8.8 # 可选,添加外网DNS(如谷歌DNS,用于解析外网域名)
保存退出后,重启网络服务使配置生效:
# 重启网络服务
systemctl restart network
测试:执行ping server1.lan,若能 ping 通,说明配置正常。
六、常见问题排查(避坑指南)
遇到解析失败或服务启动报错,按以下步骤排查。
1. DNS 服务启动失败(Linux)
- 检查配置文件语法:执行
named-checkconf /etc/named.conf(主配置文件)和named-checkzone lan /var/named/lan.zone(区域文件),若有语法错误会提示具体行号; - 检查端口占用:执行
netstat -tulnp | grep 53,看 53 端口是否被其他进程占用,若有则停止该进程。
2. 客户端无法解析域名(Windows/Linux)
- 检查网络连通性:客户端执行
ping DNS服务器IP(如ping 192.168.1.10),若 ping 不通,需排查 DNS 服务器防火墙或网络; - 检查 DNS 服务器 IP 是否正确:客户端确认 DNS 配置的 IP 是服务端实际 IP,避免输错;
- 检查解析记录:在 DNS 服务端重新确认区域文件中的 A 记录(域名、IP 是否正确)。
3. 能解析内网域名,无法解析外网域名(如百度)
- Windows DNS:需配置 “转发器”(DNS 管理器→右键服务器→属性→转发器→添加外网 DNS,如
223.5.5.5(阿里云)); - Linux DNS:在
/etc/named.conf的options块中添加forwarders { 223.5.5.5; 223.6.6.6; };,然后重启 named 服务。
总结
DNS 部署的核心是 “服务端创建区域与记录 + 客户端指定 DNS IP”,两种系统方案各有优势:
- Windows Server:图形化界面,操作直观,适合新手或办公环境;
- Linux(CentOS 7):命令行操作,占用资源少,适合服务器或无界面环境。
无论选择哪种方案,关键记住 3 点:服务端需固定 IP、解析记录要准确、客户端 DNS 配置要正确,按本文步骤操作,即可快速搭建稳定的 DNS 服务。

2907

被折叠的 条评论
为什么被折叠?



