Windows 如何决定使用哪个 IP 地址进行 AD DC 通信?

Windows 如何决定使用哪个 IP 地址进行 AD DC 通信?

我遇到了一个奇怪的问题。

我正在正确设置“站点和子网”,以便我的 AD 客户端连接到正确的 DC(而不是位于地球另一端的 DC)。

为此,我开始在 DC 上过滤日志以查找“NO_CLIENT_SITE”错误 - 虽然我可以轻松找到大多数客户端地址,但有些地址是……不可能的。

我在组织中仅使用私有 IP 寻址,一些人被允许使用 VPN(也使用私有 IP 作为隧道接口)。但在日志中,有些客户端报告公共 IP 地址或 APIPA 地址,例如:

05/24 16:28:45 亚太地区:NO_CLIENT_SITE:CN070E141 169.254.87.93

坦白说,这是不可能的——我 100% 确定使用 APIPA 的客户端无法连接到任何地方。同样,使用公共 IP 地址的客户端也无法到达 DC。

我想到唯一的解释是,客户端上有多个接口,其中一个工作正常 - 并促进与 DC 的通信,另一个具有 APIPA 或公共 IP - 并且该地址已报告给 DC。

这让我想到了主要问题:我如何确保提供给 DC 的地址始终是用于通信的接口的地址?

或者也许有人可以提供其他解释?

答案1

一旦客户端有一个好的地址,它就能够连接,此时我认为它会报告其所有地址。我不知道有什么方法可以改变这种行为。

如果您将 169.254.0.0/16 的子网添加到站点配置中,则可以阻止NO_CLIENT_SITE ... 169记录消息。它指向什么并不重要。

或者以稍微不同的方式查看日志。例如:

get-content netlogon.log | select-string -notmatch "NO_CLIENT_SITE: \S+ 169\.254"

Backslash Capital S Plus是一个正则表达式,它将匹配一个或多个非空格字符,在本例中为客户端名称。

相关内容