我们有多台服务器分布在不同的托管提供商处。出于学习、实验以及最终生产目的,我将其中一台服务器设置为域控制器。
一切进展顺利,我们的大多数服务现在都是通过 AD 进行身份验证,这对我们很有帮助。
我现在想要做的是简化多台服务器的身份验证,让每台服务器都查看域控制器。这样,我们的开发人员就可以使用来自 AD 的相同凭据登录(远程桌面)多台服务器。
我知道我必须配置每台服务器来查看域控制器。
但是,当我尝试将域控制器添加到计算机时,它找不到它,尽管域控制器地址是一个有效的、可访问的互联网子域(如“ad.ourcompany.com”)。
这是详细的错误信息:
注意:此信息仅供网络管理员使用。如果您不是网络管理员,请通知管理员您已收到此信息,该信息已记录在文件 C:\Windows\debug\dcdiag.txt 中。
在向 DNS 查询用于定位域 ad.ourcompany.com 的 Active Directory 域控制器的服务位置 (SRV) 资源记录时,发生以下错误:
错误为:“DNS 名称不存在。”(错误代码 0x0000232B RCODE_NAME_ERROR)
该查询针对的是 _ldap._tcp.dc._msdcs.ad.ourcompany.com 的 SRV 记录
导致此错误的常见原因包括:
定位域的 AD DC 所需的 DNS SRV 记录未在 DNS 中注册。当 AD DC 添加到域时,这些记录会自动在 DNS 服务器上注册。它们由 AD DC 按照设定的时间间隔进行更新。此计算机配置为使用具有以下 IP 地址的 DNS 服务器:
109.188.207.9
109.188.207.10
以下一个或多个区域不包括对其子区域的委派:
ad.ourcompany.com
ourcompany.com
. (根区)
有关更正此问题的信息,请单击“帮助”。
我错过了什么?
我是一个经验丰富的开发人员,但同时也是一个正在尝试新东西的 Sysdamin 新手。
免责声明
为了保证安全,所有 IP 地址和域/子域都已更改。如果您仍然可以看到私人信息,请告诉我,以便我可以进行更改。
答案1
看在上帝的份上,不要有可以通过互联网访问的域控制器。这只会招致灾难。您需要在站点之间设置站点到站点的 VPN,并确保 AD 所在的子网/子域无法通过除 VPN 之外的任何方式从互联网访问。
在 IPv4 中,这意味着您的域控制器(以及整个内部网络)应该有一个私有路由地址例如10.x.x.x
192.168.x.x
或172.16-31.x.x
,而不是以公共路由八位字节开头,例如109
。
不要请在防火墙上打几个洞以使它正常工作。
答案2
线索就在错误消息中,您计划加入域的服务器需要使用保存您的 AD DNS 区域的 DNS 服务器作为其 DNS 服务器。看起来他们正在使用一些公共 DNS 服务器,我猜这些服务器不是保存您的 AD DNS 区域的 DNS 服务器。
答案3
joeqwerty 说得对。
为了使 PC 加入域,它会查找 SRV 记录。如果客户端与 DC 位于同一站点,请将客户端上的 DNS 更改为指向您的 DC,否则请按照以下详细信息操作。
我猜广告广告.ourcompany.com 是您的 DC 的主机名吗?如果是这样,您应该尝试加入域而不放置广告部分 - 仅指定域。
听起来您只为服务器设置了 A 记录。客户端 PC 首先查找 _ldap._tcp.dc._msdcs.ourcompany.com,然后该记录应指向 ad.ourcompany.com。(或 yourdc.ad.ourcompany.com)
如果您创建了可在公共互联网上访问的 SRV 记录,那么这应该可以消除此错误。还请检查 DC 上的 DNS,以查找 AD 设置所需的其他相关 SRV 记录。
但是出于安全原因,我倾向于在客户端 PC 所在的站点设置一个本地 DNS 服务器,该服务器保存相关的 SRV 记录,以便所有人都无法访问这些记录。
答案4
从 IPv4 网络配置中删除所有 DNS 服务器条目。然后添加您的 DNS 服务器 IPv4 地址作为唯一地址。可能还需要刷新 dnscache。