本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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:0000
到 2fff: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:0000
到 0100:0000:0000:0000:ffff:ffff:ffff:ffff
)或 fc00::/7
(从 fc00:0000:0000:0000:0000:0000:0000:0000
到 fdff: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 成功,并且您能够在以全通道模式连接时访问公共站点,则可能需要执行进一步的故障排除。还有一些公开提供的工具可用。