HQY

×

Windows Server DNS 完全指南【一】

hqy hqy 发表于2026-05-27 23:14:17 浏览4 评论0

抢沙发发表评论

Windows Server DNS 完全指南【一】



图片

目录

  1. 1. DNS 基础概念
  2. 2. 安装 DNS 服务器
  3. 3. DNS 区域管理
  4. 4. DNS 资源记录
  5. 5. DNSSEC 安全扩展

1. DNS 基础概念

1.1 什么是 DNS?

DNS(Domain Name System,域名系统)是互联网的核心基础设施,负责将人类可读的域名(如 www.contoso.com)解析为机器可读的 IP 地址(如 192.168.1.100)。



1
2
3
4
5

用户输入: www.contoso.com
       ↓
  DNS 服务器查询
       ↓
返回 IP 地址: 192.168.1.100



1.2 DNS 查询流程

递归查询:客户端发送请求给本地 DNS 解析器(LDNS),由 LDNS 负责完整查询直到返回结果。

迭代查询:DNS 服务器返回已知的最佳答案(另一台 DNS 服务器地址),由客户端自行继续查询。

图片

1.3 核心术语

术语
说明
示例
FQDN
完全限定域名,尾部句点表示根域
www.contoso.com.
Zone(区域)
DNS 数据库的逻辑容器
contoso.com
 区域
Record(记录)
区域中的具体条目
A 记录、MX 记录等
Forwarder(转发器)
将查询转发到指定上游 DNS
条件转发器
TTL
资源记录的生存时间
TTL = 3600
(秒)
AXFR
完整区域传输协议
主→辅服务器同步
IXFR
增量区域传输协议
只传输变更部分

1.4 区域类型

DNS 区域按功能分为两类:按查找方向分为正向(域名→IP)和反向(IP→域名);按技术类型分为主区域、辅助区域、存根区域和 AD 集成区域。

按技术类型

区域类型
作用
何时使用
主要区域
区域的主副本,可读写,是管理的核心
自行管理域名、创建和修改记录时
辅助区域
主区域的只读副本,通过区域传输同步
需要高可用、主服务器备份时
存根区域
仅含权威 NS 记录,不含完整解析数据
分公司只想知道子域归谁管时
AD 集成区域
存储在 Active Directory 中,支持多主复制
AD 环境中推荐,支持动态更新和高可用

推荐:在 AD 环境中强烈推荐使用 Active Directory 集成区域,支持多主复制、动态更新。

按查找方向

区域类型
作用
何时使用
正向查找区域
将域名解析为 IP(www.contoso.com → 192.168.1.100
必须创建,客户端域名解析依赖它
反向查找区域
将 IP 解析为域名(192.168.1.100 → www.contoso.com
需要 PTR 记录、邮件服务器验证时

区域传输

配置项
作用
何时使用
区域传输
控制哪些 DNS 服务器可以从主服务器同步区域数据
配置辅助区域后,通过它控制同步权限和安全

最常见组合:正向查找区域(必须)+ 反向查找区域(建议)+ 辅助区域(可选,用于高可用)。

1.5 常见记录类型

记录类型
用途
示例
A
域名 → IPv4 地址
www.contoso.com
 → 192.168.1.100
AAAA
域名 → IPv6 地址
www.contoso.com
 → 2001:db8::1
CNAME
别名指向另一个域名
www.contoso.com
 → webserver.contoso.com
MX
邮件交换记录
contoso.com
 → mail.contoso.com (优先级 10)
PTR
IP → 域名(反向解析)
1.100.1.168.in-addr.arpa
 → www.contoso.com
NS
名称服务器
contoso.com
 → ns1.contoso.com
SRV
服务定位器
_ldap._tcp._msdcs.contoso.com
TXT
文本记录(SPF/DKIM)
v=spf1 include:_spf.contoso.com ~all

2. 安装 DNS 服务器

2.1 前提说明

重要:在实际企业环境中,DNS 服务器通常与域控制器(DC)合二为一。

安装域控制器(AD DS)时,DNS 服务器角色会自动安装,无需单独再装。 ✅ 提升为域控制器后,DNS 管理器即可用,且默认已创建与 Active Directory 集成的 DNS 区域(如 contoso.com),无需手动创建基础区域。


2.2 系统要求

  • • Windows Server 2016 及以上
  • • 静态 IP 地址(DNS 服务器不应用 DHCP 获取 IP)
  • • 服务器已加入域(推荐)

2.3 通过服务器管理器安装(GUI)

步骤:

  1. 1. 打开 服务器管理器 → 点击右上角 "管理" → "添加角色和功能"
  2. 2. 安装类型 页面:选择 "基于角色或基于功能的安装" → 下一步
  3. 3. 服务器选择 页面:从服务器池选择目标服务器 → 下一步
  4. 4. 服务器角色 页面:勾选 "DNS 服务器"
    • • 弹出提示框 → 点击 "添加功能" → 下一步
  5. 5. 功能 页面:直接 下一步(无需额外功能)
  6. 6. 确认 页面:确认信息后点击 "安装"
  7. 7. 等待安装完成 → 点击 "关闭"

3. DNS 区域管理

推荐用 DNS 管理器(GUI) 创建和管理区域,操作最直观。

前提:以下操作均在 域控制器上的 DNS 服务 中进行(服务器管理器 → 工具 → DNS)。

3.1 DNS 管理器界面一览

图片

3.2 创建正向查找区域(GUI)

作用:正向查找区域是最核心的区域类型,客户端通过它把 www.contoso.com 解析成 192.168.1.100

  1. 1. 打开 DNS 管理器
  2. 2. 在左侧树中右键 "正向查找区域" → "新建区域"
  3. 3. 区域类型 页面:
  • • ✅ 主要区域(默认)
  • • 如服务器是域控制器:✅ "在 Active Directory 中存储区域"(推荐)
  • • 点击 下一步
  1. 4. 区域复制 页面(AD 环境):选择复制范围,推荐 "到此域中的所有 DNS 服务器"
  1. 5. 区域名称 页面:输入域名,如 contoso.com → 下一步
  2. 6. 动态更新 页面:
  • • 仅允许安全动态更新(建议用于 Active Directory)。
  • • 允许非安全和安全动态更新。
  • • 不允许动态更新。
       → 选择后 下一步 → 完成

3.3 创建反向查找区域(GUI)

作用:反向查找区域将 IP 地址解析为域名。主要用于:

  • • PTR 记录(反向 DNS,邮件服务器常用)
  • • 故障排查时通过 IP 反查主机名
  • • 某些安全验证依赖反向解析
  1. 1. 在 DNS 管理器左侧树中右键 "反向查找区域" → "新建区域"
  2. 2. 区域类型 页面:选择 主要区域 → 下一步
图片
  1. 3. 反向查找区域名称 页面:
图片
  • • 选择 IPv4 反向查找区域(常用)
  • • 网络 ID:输入网段,如 192.168.1(自动生成 1.168.192.in-addr.arpa
  • • 或手动输入区域名:1.168.192.in-addr.arpa
  1. 4. 动态更新:选择 "非安全和安全动态更新"(AD 环境)→ 下一步 → 完成

提示:IPv6 反向查找区域选择 "IPv6 反向查找区域",网络 ID 填写如 2001:db8::/32

3.4 创建辅助区域(GUI)

作用:辅助区域是主区域的只读副本,通过区域传输(AXFR/IXFR)从主服务器同步数据。主要用途:

  • • 为主区域提供冗余,主服务器故障时可继续解析
  • • 负载均衡,分担查询压力
  • • 允许其他站点拥有自己的 DNS 副本

限制:辅助区域只读,所有记录由主服务器管理,无法手动添加或修改记录。

  1. 1. 右键 "正向查找区域" → "新建区域"
  2. 2. 选择 "辅助区域" → 下一步
  3. 3. 区域名称:输入域名,如 contoso.com
  4. 4. 主 DNS 服务器:输入主服务器的 IP 地址 → 下一步 → 完成

3.5 创建存根区域(GUI)

作用:存根区域只存储该区域的权威 DNS 服务器列表(NS 记录及对应 A/PTR 记录),不包含完整的域名解析记录。适用场景:

  • • 子域委派后,分公司想知道子域的权威服务器是谁
  • • 只想知道某域归谁管,而不需要该域下的所有记录
  • • 减轻 DNS 查询负载,快速定位权威服务器
  1. 1. 右键 "正向查找区域" → "新建区域"
  2. 2. 选择 "存根区域" → 下一步
  3. 3. 输入区域名称
  4. 4. 主 DNS 服务器:输入有该区域权威的服务器 IP
  5. 5. 选择复制范围 → 下一步 → 完成

3.6 区域传输配置(GUI)

作用:区域传输控制哪些 DNS 服务器可以从本服务器获取区域数据(即辅服务器如何同步)。这是配置辅助区域后最重要的安全控制点。

  1. 1. 在 DNS 管理器中右键目标 区域 → 属性
  1. 2. 常规 选项卡:查看 类型动态更新 选项
  1. 3. 起始授权记录 (SOA) 选项卡:
    • • 序列号:区域版本号,修改记录后自动+1,辅服务器据此判断是否需要同步
    • • 主服务器:主 DNS 服务器 FQDN
    • • 刷新间隔:辅服务器多久检查一次主服务器是否有更新(默认 15 分钟)
    • • 重试间隔:辅服务器联系不上主服务器时,多久重试一次(默认 10 分钟)
    • • 过期时间:辅服务器无法联系主服务器时,缓存记录过期时间(默认 1 天)
  2. 4. 区域传输 选项卡:
    • • ☐ 允许区域传输 → 选择谁可以同步:
      • • 到所有服务器(测试环境)
      • • 仅到名称服务器(推荐,只同步域内 NS 记录的服务器)
      • • 仅到以下服务器(最严格,手动指定 IP 白名单)

生产环境推荐:选择 "仅到名称服务器",兼顾安全和便利。

3.7 常用 PowerShell 命令(备查)



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 创建 AD 集成主区域
Add-DnsServerPrimaryZone -Name "contoso.com" -ReplicationScope "Forest"
 
# 创建基于文件的主区域
Add-DnsServerPrimaryZone -Name "contoso.com" -ZoneFile "contoso.com.dns"
 
# 创建辅助区域
Add-DnsServerSecondaryZone -Name "contoso.com" -MasterServers 192.168.1.1
 
# 创建反向查找区域
Add-DnsServerPrimaryZone -NetworkID "192.168.1.0/24" -ReplicationScope "Domain"
 
# 列出所有区域
Get-DnsServerZone
 
# 暂停/恢复区域
Suspend-DnsServerZone -Name "contoso.com"
Resume-DnsServerZone -Name "contoso.com"




4. DNS 资源记录

4.1 创建 A 记录

最常用的记录类型,将域名指向 IPv4 地址。

步骤:

  1. 1. 在 DNS 管理器中展开目标 区域(如 contoso.com
  2. 2. 右键右侧空白处 → "新建主机(A 或 AAAA记录)"
  1. 3. 填写信息:
  • • 名称:主机名(不含域名,如 www
  • • IP 地址:如 192.168.1.100
  • • ☐ 创建关联的指针 (PTR) 记录(可选,自动创建反向记录)
  1. 4. 点击 "添加主机" → 提示成功 → 完成

4.2 创建 AAAA 记录

同 A 记录,步骤 2 选 "新建主机(A 或 AAAA记录)",填写 IPv6 地址即可。

4.3 创建 CNAME 记录

将别名域名指向另一个规范域名。

步骤:

  1. 1. 右键目标区域 → "新建别名(CNAME)记录"
  2. 2. 填写:
    • • 别名名称:如 blog(实际为 blog.contoso.com
    • • 目标域名:如 www.contoso.com(FQDN 格式)
  3. 3. 确定

⚠️ 注意:CNAME 与同名的其他记录类型不能共存。

4.4 创建 MX 记录

用于邮件路由。

步骤:

  1. 1. 右键目标区域(如 contoso.com)→ "新建邮件交换器(MX)"
  2. 2. 填写:
    • • 邮件交换器主机:邮件服务器 FQDN,如 mail.contoso.com
    • • 邮件交换器优先级:数字,越小越优先(如 10、20)
  3. 3. 确定

提示:通常设置两台邮件服务器(一主一备),优先级分别用 10 和 20。

4.5 创建 PTR 记录

反向查找:将 IP 指向域名。

前提:已有反向查找区域(见 3.3)。

步骤:

  1. 1. 在 DNS 管理器中展开 "反向查找区域" → 找到对应网段
  2. 2. 右键空白处 → "新建指针(PTR)"
  3. 3. 填写:
    图片
    • • 主机 IP 号:IP 最后一段,如 100(对应 192.168.1.100
    • • 主机名:目标 FQDN,如 www.contoso.com
  4. 4. 确定

技巧:创建 A 记录时勾选 "创建关联的指针(PTR)记录",可自动完成这一步。

4.6 创建 SRV 记录

定位特定服务(AD 环境常用,如 LDAP、Kerberos)。

步骤:

  1. 1. 展开区域 → 找到如 _msdcs.contoso.com(AD 集成区域的子域)
  2. 2. 右键 → "新建其他记录"
  3. 3. 记录类型:选择 SRV → 创建记录
  1. 4. 填写:
    • • 服务:如 _ldap
    • • 协议:如 _tcp
    • • 优先级:如 0
    • • 权重:如 0
    • • 端口号:如 389
    • • 提供此服务的主机:服务器 FQDN,如 dc01.contoso.com
  2. 5. 确定

4.7 创建 SPF/TXT 记录

防垃圾邮件验证。

步骤:

  1. 1. 右键 → "新建其他记录"
  2. 2. 记录类型:选择TXT
  1. 3. 填写:
图片
  • • 文本名称:如 @(表示区域根域名)或 selector1._domainkey
  • • 文本值:如 v=spf1 include:_spf.contoso.com ~all(SPF)或 DKIM 公钥
  1. 4. 确定

4.8 批量导入记录(PowerShell 备查)



1
2
3
4
5
6
7
8
9
10
11
12
13

# CSV 格式: Name,IPv4Address,TTL
# 示例内容:
# www,192.168.1.100,3600
# mail,192.168.1.110,3600
# ftp,192.168.1.120,7200
 
$Records = Import-Csv -Path "C:\dns-records.csv"
foreach ($Record in $Records) {
    Add-DnsServerResourceRecordA -Name $Record.Name `
        -ZoneName "contoso.com" `
        -IPv4Address $Record.IPv4Address `
        -TimeToLive ([TimeSpan]::FromSeconds($Record.TTL))
}



4.9 查看和修改记录

  • • 查看:在 DNS 管理器中展开区域,所有记录以类型分组显示
  • • 修改:双击记录 → 编辑值 → 确定
  • • 删除:右键记录 → 删除

修改记录技巧:某些记录不支持直接编辑(如 A 记录改 IP),可以先删除再新建。

4.10 常用 PowerShell 命令(备查)



1
2
3
4
5
6
7
8

# 查看区域中所有 A 记录
Get-DnsServerResourceRecord -ZoneName "contoso.com" -RRType A
 
# 查看区域中所有记录
Get-DnsServerResourceRecord -ZoneName "contoso.com"
 
# 删除 A 记录
Remove-DnsServerResourceRecord -ZoneName "contoso.com" -Name "www" -RRType A




5. DNSSEC 安全扩展

5.1 什么是 DNSSEC?

DNSSEC 通过数字签名确保 DNS 数据的完整性和来源真实性,防止 DNS 欺骗和缓存投毒。

能提供
不能提供
✅ 数据完整性验证(防篡改)
❌ 数据保密性(查询仍是明文)
✅ 来源身份验证(防欺骗)
❌ 防止 DDoS 攻击
✅ 存在性否认防护

信任链根域(.) → .com TLD → contoso.com → 具体记录

5.2 关键概念

概念
说明
KSK
密钥签名密钥,签名 ZSK,生命周期长(通常 1 年)
ZSK
区域签名密钥,签名记录,滚动更频繁
DS 记录
父区域中存储的子区域摘要,建立父子信任链
RRSIG
资源记录集的加密签名
DNSKEY
存储公钥的记录类型

5.3 为区域签名 — GUI 操作

⚠️ 执行签名后无法撤回,需确认操作。

  1. 1. 在 DNS 管理器中右键目标 区域(如 contoso.com)→ DNSSEC
  2. 2. DNSSEC 选项卡 → 点击 "对区域进行签名(启用 DNSSEC 验证)"
图片
  1. 3. 弹出 "签名区域" 向导:
图片
  • • 密钥机制:选择 "使用默认密钥"(推荐新手)
  • • 确认配置 → 下一步 → 完成
  1. 4. 等待签名完成,DNSSEC 选项卡中会显示 "已签名" 状态

5.4 验证 DNSSEC 配置



1
2
3
4
5

# 检查区域签名状态
Get-DnsServerZone -Name "contoso.com" | Select-Object ZoneName, IsSigned
 
# 查看密钥信息
Get-DnsServerSigningMetadata -ZoneName "contoso.com" -DisplayKeys



5.5 信任锚点配置(向父区域注册 DS 记录)

如果你的 DNS 服务器是子域(如 contoso.com)的权威,需要将 DS 记录添加到父区域(如 .com)。这一步通常由域名注册商完成。

查看 DS 记录(GUI):

  1. 1. 右键已签名的 区域 → DNSSEC  → 属性选项卡
  2. 2. 点击 "信任锚点" → "从区域中向父区域注册 DS"
  3. 3. 复制显示的 DS 记录,提交给域名注册商

5.6 密钥滚动(GUI)

⚠️ 高风险操作,生产环境务必先在测试环境验证。

  1. 1. 区域属性 → DNSSEC 选项卡
  2. 2. 点击 "密钥属性"
  3. 3. 选中要滚动的密钥(KSK 或 ZSK)→ "滚动"
  4. 4. 确认提示,按步骤执行

5.7 解除区域签名(GUI)

⚠️ 解除签名后所有 RRSIG 记录将被删除,无法撤销。

  1. 1. 区域属性 → DNSSEC 选项卡
  2. 2. 点击 "取消签名区域" → 确认

5.8 常用 PowerShell 命令(备查)



1
2
3
4
5
6
7
8
9
10
11

# 为区域启用 DNSSEC 签名
Invoke-DnsServerZoneSign -ZoneName "contoso.com" -PassThru
 
# 解除区域签名
Invoke-DnsServerZoneUnsign -ZoneName "contoso.com" -PassThru
 
# 手动触发 KSK 滚动
Invoke-DnsServerKeyRollover -ZoneName "contoso.com" -KeyType KSK
 
# 查看 DNSSEC 配置
Get-DnsServerDnsSecZoneConfiguration -ZoneName "contoso.com"


打赏

本文链接:https://www.kinber.cn/post/6577.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客