You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Active Directory域控制器DNS记录修改及跨域DNS解析问题咨询

Active Directory域控制器DNS记录修改及跨域DNS解析问题咨询

问题描述

我遇到了一个Active Directory DNS相关的问题,希望能得到大家的帮助(下面的IP和子网都是示例,并非真实环境):

网络拓扑如下:

DC partner.com [192.168.1.1] <-- NAT 0:65535 --> Firewall [10.0.0.1] <---> Our ADConnect [10.0.0.2]

目前从我们的ADConnect服务器通过10.0.0.1:636访问partner.com的域控制器LDAP是正常的,DNS解析也能正常工作,但存在一个问题:partner.com的域控制器在解析customer.com时,只返回他们的内部IP(192.168.1.x段),这些IP我们的ADConnect无法访问。

我们的目标是让partner.com的域控制器在响应customer.com的DNS查询时,最好只返回防火墙的虚拟IP 10.0.0.1(或者至少添加这个IP),这样我们的ADConnect就能通过域名"customer.com"正常连接,而不会拿到无法访问的内部IP。

想请教大家,有没有比使用拆分DNS(Split DNS)更简单的解决办法?

当前实际解析结果:

adconnect-shell > nslookup customer.com 10.0.0.1

Name:     customer.com

Addresses: 192.168.1.x
           192.168.1.y

期望的解析结果:

adconnect-shell > nslookup customer.com 10.0.0.1

Name:     customer.com

Addresses: 10.0.0.1

可行的替代方案(无需拆分DNS)

下面几个方案都比搭建拆分DNS简单,你可以根据实际权限和环境选择:

  • 请求对方域管理员修改DNS记录/配置DNS策略:如果对方愿意配合,这是最合理的长期方案。让他们在partner.com的DNS服务器上,针对customer.com域名做以下操作:

    • 直接添加一条指向10.0.0.1的A记录,同时删除原有的内部IP记录(但这样可能影响他们内部的解析,不推荐);
    • 更优的方式是使用Windows DNS的DNS策略,配置基于客户端IP范围的条件响应:当来自你们ADConnect所在的10.0.0.x网段的查询请求时,返回10.0.0.1;对方内部网段的请求则返回原有的192.168.1.x IP。这样两边的解析需求都能满足。
  • 在ADConnect服务器上配置本地HOSTS映射:这是零成本的临时解决方案,不需要任何外部配合。打开ADConnect服务器的C:\Windows\System32\drivers\etc\hosts文件,添加一行:

    10.0.0.1    customer.com
    

    保存后,ADConnect解析customer.com时会优先使用这个本地记录,完全绕过对方的DNS。缺点是如果防火墙VIP变更,需要手动更新HOSTS文件,且仅对这一台服务器生效。

  • 利用防火墙的DNS响应改写功能:如果你们的防火墙支持DNS内容改写(比如主流的企业级防火墙如Palo Alto、Fortinet、Cisco ASA都有类似功能),可以配置规则:当防火墙转发来自ADConnect的customer.com DNS查询到对方DC后,把返回的192.168.1.x IP替换成10.0.0.1再发给ADConnect。这个方案不需要改动对方DC或你们的服务器,对所有经过防火墙的相关DNS查询都生效,适用性更广。

  • 在本地DNS服务器配置条件转发+本地记录覆盖:如果你们有自己的内部DNS服务器,可以做两步配置:

    1. 配置对customer.com的条件转发,指向对方DC的防火墙IP 10.0.0.1
    2. 在本地DNS服务器上创建一个customer.com的正向查找区域,添加一条指向10.0.0.1的A记录。
      这样你们的客户端(包括ADConnect)查询customer.com时,本地DNS会直接返回你们设置的A记录,而不会转发到对方DC。这个方案的配置量远小于拆分DNS,且能覆盖所有使用本地DNS的客户端。

总结

如果能获得对方的配合,配置对方DC的DNS策略是最优雅的长期解决办法;如果对方不配合,HOSTS映射是最快的临时方案,而防火墙DNS改写或本地DNS的条件转发+记录覆盖则是更适合长期使用的替代方案,都比搭建拆分DNS简单得多。

备注:内容来源于stack exchange,提问作者Thomas B.

火山引擎 最新活动