IPv6 的注意事项 AWS Client VPN - AWS Client VPN

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

IPv6 的注意事项 AWS Client VPN

Client VPN 现在除了现有 IPv4 功能外,还支持本机 IPv6 连接。您可以创建仅限、 IPv6仅限或双堆栈(两者 IPv4 兼 IPv4有 IPv6)端点以满足您的网络要求。

IPv6 支持的关键组成部分

IPv6 在 Client VPN 中使用时,有两个关键配置参数:

端点 IP 地址类型

此参数定义端点管理 IP 类型,该类型决定为终端节点配置的 EC2 实例类型。此 IP 类型用于管理外部 VPN 隧道流量(通过公共互联网在 OpenVPN 客户端和服务器之间流动的加密流量)。

流量 IP 地址类型

此参数定义流经VPN隧道的流量类型。此 IP 类型用于管理内部加密流量(实际有效负载)、客户端 CIDR 范围、子网关联、路由和每个端点的规则。

IPv6 客户端 CIDR 分配

对于 IPv6 客户端 CIDR,您无需指定 CIDR 块。Amazon 会自动为客户分配 CIDR 范围。 IPv6 这种自动分配SNATing 为 IPv6 隧道流量启用 “不-”,从而增强了对连接用户 IPv6 地址的可见性。

兼容性要求

IPv6 而且双栈端点依赖于用户设备和互联网服务提供商(ISPs):

  • 运行 CVPN 客户端的用户设备必须支持所需的 IP 配置,如下面的兼容性表所示。

  • ISPs 必须支持所需的 IP 配置才能使连接正常运行。

  • 对于 IPv6 双栈流量,关联的 VPC 子网必须具有 IPv6 或双堆栈 CIDR 范围。

DNS 支持

所有类型的终端节点都支持 DNS- IPv4 IPv6、和双堆栈。对于 IPv6 终端节点,您可以使用--dns-server-ipv6参数配置 IPv6 DNS 服务器。服务端和客户端都支持 AAAA DNS 记录。

限制

以下是以下限制 IPv6:

  • Client-to-client IPv6 客户端不支持 (C2C) 通信。如果 IPv6 客户端尝试与其他 IPv6 客户端通信,流量将被丢弃。

的客户端路由强制执行 IPv6

Client VPN 现在支持对 IPv6 流量强制执行客户端路由。此功能有助于确保来自已连接客户端的 IPv6 网络流量遵循管理员定义的路由,并且不会无意中发送到 VPN 隧道之外。

IPv6 客户端路由强制支持的关键方面:

  • 现有ClientRouteEnforcementOptions.enforced标志同时为 IPv6 堆栈 IPv4 和堆栈启用 CRE。

  • IPv6 为了维护关键 IPv6功能,客户端路由强制不包括某些 IPv6 范围:

    • ::1/128— 保留用于环回

    • fe80::/10— 保留给本地链路地址

    • ff00::/8— 保留用于组播

  • IPv6 在 Windows、macOS 和 Ubuntu 上的 AWS VPN 客户端版本 5.3.0 及更高版本中提供客户端路由强制功能。

有关 CRE 的更多详细信息,包括如何启用和配置它,请参阅AWS Client VPN 客户端路由强制执行

IPv6 防泄漏(遗留信息)

对于不使用本机 IPv6 支持的旧配置,您可能仍需要防止 IPv6 泄漏。 IPv6 当 IPv4 和 IPv6 都启用并连接到 VPN 时,可能会发生泄漏,但是 VPN 不会将 IPv6 流量路由到其隧道中。在这种情况下,当连接到 IPv6 已启用的目的地时,您实际上仍在使用互联网服务提供商提供 IPv6 的地址进行连接。这会泄露你的真实 IPv6 地址。以下说明说明如何将 IPv6 流量路由到 VPN 隧道。

应将以下 IPv6相关指令添加到您的 Client VPN 配置文件中,以防止 IPv6 泄漏:

ifconfig-ipv6 arg0 arg1
route-ipv6 arg0

举个例子:

ifconfig-ipv6 fd15:53b6:dead::2 fd15:53b6:dead::1
route-ipv6 2000::/4

在本示例中,ifconfig-ipv6 fd15:53b6:dead::2 fd15:53b6:dead::1将本地隧道设备 IPv6 地址设置为,将fd15:53b6:dead::2远程 VPN 端点 IPv6 地址设置为fd15:53b6:dead::1

下一个命令route-ipv6 2000::/4将 IPv6 地址从到路由2000:0000:0000:0000:0000:0000:0000:00002fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff VPN 连接。

注意

例如,对于 Windows 中的 “TAP” 设备路由,的第二个参数ifconfig-ipv6将用作的路由目标--route-ipv6

企业应配置 ifconfig-ipv6 本身的两个参数,并且可以使用 100::/64(从 0100:0000:0000:0000:0000:0000:0000:00000100:0000:0000:0000:ffff:ffff:ffff:ffff)或 fc00::/7(从 fc00:0000:0000:0000:0000:0000:0000:0000fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)中的地址。100::/64 是仅丢弃的地址块,fc00::/7 为唯一本地。

另一个示例是:

ifconfig-ipv6 fd15:53b6:dead::2 fd15:53b6:dead::1
route-ipv6 2000::/3
route-ipv6 fc00::/7

在此示例中,配置会将当前分配的所有 IPv6 流量路由到 VPN 连接。

验证

您的组织可能会有自己的测试。基本验证是设置全隧道 VPN 连接,然后使用该 IPv6地址对 IPv6 服务器运行 ping6。服务器的地 IPv6 址应在route-ipv6命令指定的范围内。此 ping 测试将失败。但是,如果将来向 Client VPN 服务添加 IPv6 支持,这种情况可能会改变。如果 ping 成功,并且您能够在以全通道模式连接时访问公共站点,则可能需要执行进一步的故障排除。还有一些公开提供的工具可用。