我的问题更具理论性。
如果我需要通过 RPC/WMI/WSMAN 连接的目标服务器有多个 IP 地址,那么 Windows 客户端如何获取正确的 IP?客户端是否会反复尝试直到其中一个做出响应?
据我了解,一台服务器可以有多个 IP 地址用于复制、心跳、客户端连接、管理、备份等,除管理/客户端之外的所有 IP 地址都可能无法访问,因此我想知道当 DNS 可以返回多个 IP 作为对客户端查找查询的响应时,客户端如何从 DNS 中找到正确的 IP。谢谢。
答案1
客户端如何从 DNS 找到正确的 IP
他们认为全部查询返回的IP地址是正确的。
是的,如果第一个地址没有及时响应,客户端将尝试第二个地址,然后是第三个地址,等等(顺序不明确——DNS 记录是无序的),但这会变得明显很慢,而且这种情况唯一应该发生的时候是在出现某种网络/配置问题的时候,而不是在正常运行期间。
如果某些地址故意无法访问,它们不应该在 DNS 中。服务器的主 DNS 条目应代表主入口点 - 当然,它仍然可以返回多个地址(例如 IPv4 + IPv6),但所有地址的行为应完全相同。诸如“管理”地址之类的内容应具有不同的 DNS 条目(如果它们进入 DNS 的话)。
当您依赖通过 Active Directory 自动更新 DNS 时,您可以禁用不需要的网络适配器(以太网端口)的注册。如果是客户端或成员服务器(不是 DC),请在适配器的特性对话框。(如果服务器是 AD DC,则不同的步骤。
答案2
DNS SRV 记录是一种方法。Active Directory、SIP 和任何其他协议都大量使用 SRV 记录,不仅可以查找提供服务的主机,还可以查找要连接的 IP 和端口。