本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS Client VPN 客户端路由强制执行
客户端路由强制执行有助于在通过 VPN 连接的设备上强制执行管理员定义的路由。此功能可确保已连接客户端的网络流量不会无意中发送到 VPN 隧道之外,从而帮助改善您的安全状况。
客户端路由强制执行监控已连接设备的主路由表,并根据客户端 VPN 端点中配置的网络路由,确保出站网络流量流向 VPN 隧道。这包括在检测到与 VPN 隧道冲突的路由时修改设备上的路由表。客户端路由强制同时支持 IPv4 和 IPv6 地址系列。
要求
客户端路由强制仅适用于以下 AWS 提供的 Client VPN 版本:
Windows 版本 5.2.0 或更高版本(IPv4 支持)
macOS 版本 5.2.0 或更高版本(支持)IPv4
Ubuntu 版本 5.2.0 或更高版本(支持)IPv4
Windows 版本 5.3.0 或更高版本(IPv6 支持)
macOS 版本 5.3.0 或更高版本(支持)IPv6
Ubuntu 版本 5.3.0 或更高版本(支持)IPv6
对于双堆栈端点,“客户端路由强制” 设置同时应用于两个堆栈 IPv4 和 IPv6 堆栈。不可能仅为一个堆栈启用客户端路由强制执行设置。
路由冲突
当客户端连接到 VPN 时,系统会对客户端的本地路由表和端点的网络路由进行比较。如果两个路由表条目之间存在网络重叠,则会发生路由冲突。网络重叠的一个示例是:
172.31.0.0/16172.31.1.0/24
在本示例中,这些 CIDR 数据块构成路由冲突。例如,172.31.0.0/16 可能是 VPN 隧道 CIDR。由于 172.31.1.0/24 前缀更长,因此更具体,它通常会拥有优先级,并有可能将 172.31.1.0/24 IP 范围内的 VPN 流量重定向到另一个目标。这可能会导致意外的路由行为。但是,启用客户端路由强制执行功能后,后一个 CIDR 将被删除。使用此功能时,应考虑潜在的路由冲突。
全隧道 VPN 连接通过 VPN 连接引导所有网络流量。因此,如果启用了客户端路由强制执行功能,则连接到 VPN 的设备将无法访问本地网络(LAN)资源。如果需要访问本地 LAN,请考虑使用拆分隧道模式而不是全隧道模式。有关拆分隧道的更多信息,请参阅 拆分隧道 Client VPN。
注意事项
在激活客户端路由强制执行功能之前,应考虑以下信息。
在连接时,如果检测到路由冲突,此功能将更新客户端的路由表,将流量引导到 VPN 隧道。在建立连接之前存在并被此功能删除的路由将恢复。
此功能仅针对主路由表强制执行,不适用于其他路由机制。例如,强制执行不适用于以下情况:
-
基于策略的路由
-
接口范围内的路由
-
客户端路由强制执行在 VPN 隧道打开时对其进行保护。隧道断开连接后或客户端重新连接时不会提供任何保护。
OpenVPN 指令对客户端路由强制执行的影响
OpenVPN 配置文件中的一些自定义指令与客户端路由强制执行有特定的交互:
-
route指令-
向 VPN 网关添加路由时。例如,将路由
192.168.100.0 255.255.255.0添加到 VPN 网关。与任何其他 VPN 路由一样,添加到 VPN 网关的路由也由客户端路由强制执行监控。系统将检测并删除其中的任何冲突路由。
-
向非 VPN 网关添加路由时。例如,添加路由
192.168.200.0 255.255.255.0 net_gateway。添加到非 VPN 网关的路由将被排除在客户端路由强制执行之外,因为它们会绕过 VPN 隧道。允许其中存在冲突路由。在示例中,客户端路由强制执行将不对上述路由进行监控。
-
与 IPv4 路由类似, IPv6 添加到 VPN 网关的路由由客户端路由强制监控,而添加到非 VPN 网关的路由则不受监控。
-
忽略的路由
客户端路由强制将忽略到以下 IPv4 网络的路由:
-
127.0.0.0/8- 为本地主机预留 -
169.254.0.0/16- 为链路本地地址预留 -
224.0.0.0/4- 为组播预留 -
255.255.255.255/32- 为广播预留
客户端路由强制将忽略到以下 IPv6 网络的路由:
-
::1/128- 为环回预留 -
fe80::/10- 为链路本地地址预留 -
ff00::/8- 为组播预留