步骤 13 从 NAT 设备后面测试 DirectAccess 连接性

适用范围:Windows Server 2022、Windows Server 2019、Windows Server 2016

当 DirectAccess 客户端从 NAT 设备或 Web 代理服务器后面连接到 Internet 时,DirectAccess 客户端使用 Teredo 或 IP-HTTPS 连接到远程访问服务器。 如果 NAT 设备启用到远程访问服务器的公共 IP 地址的出站 UDP 端口 3544,则会使用 Teredo。 如果 Teredo 访问不可用,则 DirectAccess 客户端通过出站 TCP 端口 443 回退到 IP-HTTPS,从而通过传统的 SSL 端口实现通过防火墙或 Web 代理服务器的访问。 如果 Web 代理要求身份验证,则 IP-HTTPS 连接将失败。 如果 Web 代理执行出站 SSL 检查,则 IP-HTTPS 连接也会失败,因为是在 Web 代理而不是在远程访问服务器上终止 HTTPS 会话。

在这两个客户端计算机上执行下列步骤:

  1. 测试 Teredo 连接。 第一组测试是在 DirectAccess 客户端配置为使用 Teredo 时执行的。 当 NAT 设备允许对 UDP 端口 3544 进行出站访问时,这是自动设置。 首先在 CLIENT1 上运行测试,然后在 CLIENT2 上运行测试。

  2. 测试 IP-HTTPS 的连接。 第二组测试是在 DirectAccess 客户端配置为使用 IP-HTTPS 时执行的。 为了演示 IP-HTTPS 连接,在客户端计算机上禁用 Teredo。 首先在 CLIENT1 上运行测试,然后在 CLIENT2 上运行测试。

先决条件

如果 EDGE1 和 2-EDGE1 尚未运行,请启动它们,并确保它们已连接到 Internet 子网。

在执行这些测试之前,将 CLIENT1 和 CLIENT2 从 Internet 交换机中拔出并将其连接到 Homenet 交换机。 如果系统询问你希望将当前网络定义为哪种类型的网络,请选择“家庭网络”

测试 Teredo 连接

  1. 在 CLIENT1 上打开提升的 Windows PowerShell 窗口。

  2. 启用 Teredo 适配器,键入 netsh interface teredo set state enterpriseclient,然后按 Enter。

  3. 在 Windows PowerShell 窗口中,键入 ipconfig /all,然后按 Enter 键

  4. 检查 ipconfig 命令的输出。

    此计算机现在已从 NAT 设备后面连接到 Internet,并且分配了专用 IPv4 地址。 当 DirectAccess 客户端在 NAT 设备后面并且分配了专用 IPv4 地址时,首选的 IPv6 转换技术是 Teredo。 如果你看一下 ipconfig 命令的输出,你应看到有关隧道适配器 Teredo 隧道伪接口部分,然后是 Microsoft Teredo 隧道适配器的描述,并带有以 2001:0 开头的 IP 地址,这与 Teredo 地址一致。 你应该看到为 Teredo 隧道适配器列出的默认网关为“::”。

  5. 在 Windows PowerShell 窗口中,键入 ipconfig /flushdns,然后按 Enter 键

    这将刷新名称解析条目,这些条目可能从客户端计算机连接到 Internet 时开始,一直存在于客户端 DNS 缓存中。

  6. 在 Windows PowerShell 窗口中,键入 ping app1,然后按 Enter 键。 你应看到来自 APP1 的 IPv6 地址 2001:db8:1::3 的回复。

  7. 在 Windows PowerShell 窗口中,键入 ping app2,然后按 Enter 键。 你应该看到由 EDGE1 分配给 APP2 的 NAT64 地址的答复,该地址在本例中为 fdc9:9f4e:eb1b:7777::a00:4。 请注意,粗体值将因地址的生成方式而异。

  8. 在 Windows PowerShell 窗口中,键入 ping 2-app1,然后按 Enter。 你应看到来自 2-APP1 的 IPv6 地址 2001:db8:2::3 的回复。

  9. 打开 Internet Explorer,在 Internet Explorer 地址栏中,输入 https://2-app1/,然后按 ENTER 键。 在 2-APP1 上,你将看到默认的 IIS 网站。

  10. 在 Internet Explorer 地址栏中,输入 https://app2/,然后按 Enter 键。 在 APP2 上,你将看到默认网站。

  11. 在“开始”屏幕上,键入 \\App2\Files,然后按 Enter 键。 双击“新文本文档”文件。 此示例演示你能够连接到 IPv4 唯一的服务器是使用 SMB 来获取 IPv4 唯一的主机上的资源。

  12. 在 POC2 上重复运行此过程。

测试 IP-HTTPS 的连接

  1. 在 CLIENT1 上,打开提升的 Windows PowerShell 窗口,键入 netsh interface teredo set state disabled,然后按 Enter 键。 这将禁用客户端计算机上的 Teredo,并使客户端计算机能够将自身配置为使用 IP-HTTPS。 命令完成后,会出现“确定” 响应。

  2. 在 Windows PowerShell 窗口中,键入 ipconfig /all,然后按 Enter 键

  3. 检查 ipconfig 命令的输出。 此计算机现在已从 NAT 设备后面连接到 Internet,并且分配了专用 IPv4 地址。 Teredo 将禁用,并且 DirectAccess 客户端回退到 IP-HTTPS。 当你查看 ipconfig 命令的输出时,你会看到有关隧道适配器 iphttpsinterface 的部分,带有开头为 2001:db8:1:1000 或 2001:db8:2:2000 的 IP 地址,这与基于在设置 DirectAccess 时配置的前缀而形成的 IP-HTTPS 地址一致。 不会看到为 IPHTTPSInterface 隧道适配器列出的默认网关。

  4. 在 Windows PowerShell 窗口中,键入 ipconfig /flushdns,然后按 Enter 键。 这将刷新名称解析条目,这些条目在从客户端计算机连接到公司网络时开始,可能仍然存在于客户端 DNS 缓存中。

  5. 在 Windows PowerShell 窗口中,键入 ping app1,然后按 Enter 键。 你应看到来自 APP1 的 IPv6 地址 2001:db8:1::3 的回复。

  6. 在 Windows PowerShell 窗口中,键入 ping app2,然后按 Enter 键。 你应该看到由 EDGE1 分配给 APP2 的 NAT64 地址的答复,该地址在本例中为 fdc9:9f4e:eb1b:7777::a00:4。 请注意,粗体值将因地址的生成方式而异。

  7. 在 Windows PowerShell 窗口中,键入 ping 2-app1,然后按 Enter。 你应看到来自 2-APP1 的 IPv6 地址 2001:db8:2::3 的回复。

  8. 打开 Internet Explorer,在 Internet Explorer 地址栏中,输入 https://2-app1/,然后按 ENTER 键。 在 2-APP1 上,你将看到默认的 IIS 网站。

  9. 在 Internet Explorer 地址栏中,输入 https://app2/,然后按 Enter 键。 在 APP2 上,你将看到默认网站。

  10. 在“开始”屏幕上,键入 \\App2\Files,然后按 Enter 键。 双击“新文本文档”文件。 此示例演示你能够连接到 IPv4 唯一的服务器是使用 SMB 来获取 IPv4 唯一的主机上的资源。

  11. 在 POC2 上重复运行此过程。