AWS Client VPN 客户端路由强制执行 - AWS Client VPN

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/16

  • 172.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 路由类似,添加到 VPN 网关的 IPv6 路由由客户端路由强制执行监控,而添加到非 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 - 为组播预留