本文介绍AD(Active Directory)域网络环境中的客户端主机,无法访问阿里云内网服务问题的问题现象、问题原因和解决方案。
问题描述
AD域网络环境中的客户端主机无法访问阿里云内网服务,例如NTP、KMS和WSUS等服务。
以无法访问阿里云内网的Windows实例更新服务器(update.cloud.aliyuncs.com)为例,在客户端主机上执行ping update.cloud.aliyuncs.com命令检查网络,回显示例如下:
C:\Users\Administrator>ping update.cloud.aliyuncs.com
Ping 请求找不到主机 update.cloud.aliyuncs.com。请检查该名称,然后重试。
C:\Users\Administrator>
问题原因
在部署DC(Domain Controller)域控制器时,通常会将AD域服务和DNS(Domain Name Server)服务部署在同一台ECS实例上,而客户端主机则会将首选DNS服务器地址设置为DC所在实例的IP地址。若DC上部署的DNS服务器不能解析阿里云的内网服务网络,则会造成整个AD域环境下的客户端主机都无法访问阿里云的内网服务,例如NTP、KMS和WSUS等服务。
解决方案
本文操作步骤以Windows Server 2012 R2数据中心版64位中文版为例,实际操作以您实际的操作系统为准。
方案一:在DC所在实例的DNS转发器策略中添加阿里云内网DNS服务器IP地址
如果您需要访问较多的阿里云内网服务,则您可以执行如下操作步骤解决该问题。
-
远程连接DC所在实例。
具体操作,请参见连接方式概述。
-
查看DNS配置信息。
-
在桌面左下角,选择
> 控制面板。 -
单击网络和Internet,然后单击网络和共享中心。
-
单击以太网。
-
查看DC的首选DNS服务器的IP地址。
说明首选DNS服务器的IP地址为
127.0.0.1,表示DNS解析地址指向本机的IP地址,此时,所有的DNS解析都需要到DNS的转发器页签中配置。操作路径:打开以太网 状态窗口,单击属性(P),选中Internet 协议版本 4 (TCP/IPv4),单击属性(R),在常规选项卡中即可查看首选 DNS 服务器地址。
-
-
在DNS的转发器配置中添加阿里云内网DNS服务的IP地址。
-
在桌面左下角,选择
> 服务器管理器。 -
在服务器管理器页面右上角,选择工具 > DNS。
-
在DNS管理器页面,右键单击目标DNS服务器,然后单击属性。
-
单击 转发器 页签,然后单击 编辑 。 在 属性 对话框中,单击 转发器 页签,然后单击 编辑(E)... 按钮。
-
在编辑转发器 对话框,添加阿里云内网DNS服务的IP地址。
重要转发器中至少需要保留一个阿里云内网DNS服务地址,否则您将不能正常访问阿里云内网域名。阿里云内网DNS服务地址为100.100.2.136和100.100.2.138。
-
单击确定。
-
-
打开CMD命令提示符。
-
在桌面左下角,单击
图标。 -
在右上角搜索框输入
cmd,然后单击命令提示符。进入CMD命令提示符。
-
-
执行
ipconfig /flushdns命令,刷新DNS缓存信息。C:\Users\Administrator> C:\Users\Administrator>ipconfig /flushdns Windows IP 配置 已成功刷新 DNS 解析缓存。 C:\Users\Administrator> -
在不能访问阿里云内网服务的客户端主机上,执行
ping 目标阿里云内网服务域名命令,测试阿里云内网服务网络访问是否正常。以执行
ping update.cloud.aliyuncs.com命令为例,如下所示,成功解析到域名对应的IP地址,即表示网络访问正常。PS C:\Users\Administrator> ping update.cloud.aliyuncs.com 正在 Ping update.cloud.aliyuncs.com [100.xxx.xxx.8] 具有 32 字节的数据: 来自 100.xxx.xxx.8 的回复: 字节=32 时间<1ms TTL=102 来自 100.xxx.xxx.8 的回复: 字节=32 时间<1ms TTL=102 来自 100.xxx.xxx.8 的回复: 字节=32 时间<1ms TTL=102 来自 100.xxx.xxx.8 的回复: 字节=32 时间<1ms TTL=102 100.xxx.xxx.8 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 0ms,最长 = 0ms,平均 = 0ms PS C:\Users\Administrator>
方案二:在客户端主机的host文件中添加目标阿里云内网服务域名解析记录
如果您只需要访问较少的阿里云内网服务,则您可以执行如下操作步骤解决该问题。
-
登录任意一台能正常访问目标阿里云内网服务的主机。
在主机上执行
ping 目标阿里云内网服务域名命令,获取该阿里云内网服务域名对应的IP地址。以获取update.cloud.aliyuncs.com域名对应IP地址为例。执行以下命令,获取目标阿里云内网服务域名解析到的IP地址。C:\Users\Administrator>ping update.cloud.aliyuncs.com 正在 Ping update.cloud.aliyuncs.com [100.xxx.xxx.8] 具有 32 字节的数据: 来自 100.xxx.xxx.8 的回复: 字节=32 时间<1ms TTL=102 来自 100.xxx.xxx.8 的回复: 字节=32 时间<1ms TTL=102 来自 100.xxx.xxx.8 的回复: 字节=32 时间<1ms TTL=102 来自 100.xxx.xxx.8 的回复: 字节=32 时间<1ms TTL=102 100.xxx.xxx.8 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 0ms,最长 = 0ms,平均 = 0ms C:\Users\Administrator> -
登录不能访问阿里云内网服务的AD域环境中的客户端主机。
-
打开
hosts文件。以
hosts文件所在目录为C:\Windows\System32\drivers\etc为例。hosts 文件位于C:\Windows\System32\drivers\etc目录下。 -
在hosts文件中,添加该阿里云内网服务域名对应的IP地址的解析记录。
以添加
update.cloud.aliyuncs.com域名解析记录为例,示例如下。# For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 100.100.2.8 update.cloud.aliyuncs.com -
打开CMD命令提示符。
-
在桌面左下角,单击
图标。 -
在右上角搜索框输入
cmd,然后单击命令提示符。进入CMD命令提示符。
-
-
执行
ipconfig /flushdns命令,刷新DNS缓存信息。C:\Users\Administrator> C:\Users\Administrator>ipconfig /flushdns Windows IP 配置 已成功刷新 DNS 解析缓存。 C:\Users\Administrator> -
在不能访问阿里云内网服务的客户端主机上,执行
ping 目标阿里云内网服务域名命令,测试阿里云内网服务网络访问是否正常。以执行
ping update.cloud.aliyuncs.com命令为例,如下所示,成功解析到域名对应的IP地址,即表示网络访问正常。PS C:\Users\Administrator> ping update.cloud.aliyuncs.com 正在 Ping update.cloud.aliyuncs.com [100.xxx.xxx.8] 具有 32 字节的数据: 来自 100.xxx.xxx.8 的回复: 字节=32 时间<1ms TTL=102 来自 100.xxx.xxx.8 的回复: 字节=32 时间<1ms TTL=102 来自 100.xxx.xxx.8 的回复: 字节=32 时间<1ms TTL=102 来自 100.xxx.xxx.8 的回复: 字节=32 时间<1ms TTL=102 100.xxx.xxx.8 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 0ms,最长 = 0ms,平均 = 0ms PS C:\Users\Administrator>