在 MS DHCP 中的 下,Scope Properties
在DNS
选项卡上显示:
您可以设置 DHCP 服务器以使用 DHCP 客户端的主机 (A) 和指针 (PTR) 记录自动更新权威 DNS 服务器。
还有几个与安全性相关的选项以及 DHCP 客户端或服务器是否应该执行更新。
我的问题是:DHCP 服务器如何决定更新哪个 DNS 服务器?
我看到两个可能的选项。 这两个选项都涉及服务器查看其配置Scope Options
(这似乎很奇怪,因为这些选项是供客户端使用的):
- 006 DNS 服务器 -- DNS 服务器阵列(按偏好设置)
- MS DHCP 可以直接联系这些 DNS 服务器 IP 地址
- 015 DNS域名——用于客户端解析的DNS域名
- MS DHCP 可以查找该域的权威 DNS 服务器
我猜答案是 015。
我提出这个问题的理由是:
我们正在尝试设置一个 DMZ(某种意义上),它与域和外部区域具有双重归属关系。此 DMZ 有自己的 (Linux) DNS 服务器,它将 DNS 请求转发到域或外部区域,当然,这取决于域。
为此,我们尝试使用 AD 域 DHCP 服务器,利用防火墙中的 DHCP 中继。我们还在dmz
AD DNS 中设置了一个区域,用于解析 DMZ 中 DHCP 动态主机的名称。
_______________ ____________________ ~~~~~~~~~~
| | | | ( )
| AD Domain |--( Firewall )--| DMZ |---(Firewall)---( External )
| example.com | (DHCP relay) | dmz.example.com | ( )
| 10.0.1.0/24 | | 10.0.2.0/24 | ( )
| | | | ( )
| DC1 10.0.1.11 | <............|.. NS1 10.0.2.11 ..|...........> ( )
| - DNS | | | ( )
| - DHCP | | | ( )
|_______________| |____________________| ~~~~~~~~~~~
因此对于DMZ
范围,我们尝试将选项配置为:
- 006 DNS 服务器:
10.0.2.11
- 015 DNS域名:
dnz.example.com
但我们发现 DHCP 动态 DNS 更新停止工作。
我们让它工作的方法是将其添加10.0.1.11
到 DNS 服务器列表中。这让我们怀疑 MS DHCP 使用字段 006。这会带来一个不良副作用,即 DMZ 中的 DNS 解析会变慢,因为非域请求首先被发送到10.0.1.11
,而它们应该被发送到10.0.2.11
(以便进行适当路由)。
通过在完全不同的 IP 地址上运行数据包捕获,我们确认该选项006
是确实DHCP 服务器用它来识别 DNS 服务器。我们只看到以下 DNS 请求:
10.0.1.11-->10.0.2.99 DNS Q SOA foo.dmz.example.com
10.0.1.11-->10.0.2.99 DNS Q SOA foo.dmz.example.com
10.0.1.11-->10.0.2.99 DNS Q SOA foo.dmz.example.com
10.0.1.11-->10.0.2.99 DNS Q SOA foo.dmz.example.com
10.0.1.11-->10.0.2.99 DNS Q SOA foo.dmz.example.com
10.0.1.11-->10.0.2.99 DNS Q SOA 50.2.0.10.in-addr.arpa
10.0.1.11-->10.0.2.99 DNS Q SOA 50.2.0.10.in-addr.arpa
10.0.1.11-->10.0.2.99 DNS Q SOA 50.2.0.10.in-addr.arpa
10.0.1.11-->10.0.2.99 DNS Q SOA 50.2.0.10.in-addr.arpa
10.0.1.11-->10.0.2.99 DNS Q SOA 50.2.0.10.in-addr.arpa