如何 AWS Client VPN 运作 - AWS Client VPN

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

如何 AWS Client VPN 运作

使用 AWS Client VPN,与客户端VPN终端节点交互的用户角色有两种:管理员和客户端。

管理员 负责设置和配置服务。这包括创建客户端VPN端点、关联目标网络、配置授权规则以及设置其他路由(如果需要)。设置和配置客户端VPN终端节点后,管理员下载客户端VPN终端节点配置文件并将其分发给需要访问的客户端。客户端VPN端点配置文件包括客户端VPN端点的DNS名称和建立VPN会话所需的身份验证信息。有关设置服务的更多信息,请参阅 开始使用 AWS Client VPN

客户端 是最终用户。这是连接到客户端VPN端点以建立VPN会话的人。客户端使用VPN基于开放的VPN客户端应用程序从其本地计算机或移动设备建立VPN会话。建立VPN会话后,他们可以安全地访问关联子网VPC所在的资源。如果配置了所需的路由和授权规则,他们还可以访问本地网络或其他客户端中的 AWS其他资源。有关连接到客户端VPN端点以建立VPN会话的更多信息,请参阅《AWS Client VPN 用户指南》中的入门

下图说明了基本的客户机VPN架构。

客户机VPN架构

客户场景和示例 VPN

AWS Client VPN 是一种完全托管的远程访问VPN解决方案,用于允许客户安全访问本地网络 AWS 和本地网络中的资源。您可以通过多种方式配置访问权限。本节提供了为客户端创建和配置客户端VPN访问权限的示例。

场景

此场景的 AWS Client VPN 配置包括单个目标VPC。如果您VPC只需要让客户机访问单个内部的资源,我们建议您使用此配置。

客户端VPN正在访问 VPC

开始之前,请执行以下操作:

  • 创建或标识至少有一个子网的。VPC确定VPC要与客户端VPN终端节点关联的子网并记下其IPv4CIDR范围。

  • 为客户端 IP 地址确定一个与不重叠的合适CIDR范围VPCCIDR。

  • 在中查看客户端VPN终端节点的规则和限制使用规则和最佳实践 AWS Client VPN

实施此配置
  1. 在与相同的区域中创建客户端VPN终端节点VPC。要执行此操作,请执行 创建 AWS Client VPN 终端节点 中介绍的步骤。

  2. 将子网与客户端VPN终端节点关联。为此,请执行中描述的步骤,将目标网络与 AWS Client VPN 终端节点关联然后选择VPC您之前确定的子网和子网。

  3. 添加授权规则以授予客户对的访问权限VPC。为此,请执行中描述的步骤添加授权规则,对于目标网络,输入IPv4CIDR范围VPC。

  4. 向资源的安全组添加规则,以允许来自在步骤 2 中应用到子网关联的安全组的流量。有关更多信息,请参阅 安全组

此场景的 AWS Client VPN 配置包括一个与其他 VPC (VPCVPCB) 对等的目标 VPC (A)。如果您需要允许客户端访问目标内部的资源VPC以及与之对等的其他资源(例如 VPC B)VPCs,我们建议您使用此配置。

注意

只有将客户端VPN端点配置为分割隧道模式时,才需要允许访问对等节点的程序VPC(如网络图所示)。在全隧道模式下,默认情况下允许访问VPC对等节点。

客户端VPN访问对等体 VPC

开始之前,请执行以下操作:

  • 创建或标识至少有一个子网的。VPC确定VPC要与客户端VPN终端节点关联的子网并记下其IPv4CIDR范围。

  • 为客户端 IP 地址确定一个与不重叠的合适CIDR范围VPCCIDR。

  • 在中查看客户端VPN终端节点的规则和限制使用规则和最佳实践 AWS Client VPN

实施此配置
  1. 在之间VPC建立对等连接。VPCs按照《Amazon 对等互VPC连指南》中创建和接受对等连接中的步骤进行操作VPC。确认 VPC A 中的实例可以使用对等连接与 VPC B 中的实例进行通信。

  2. 在与目标相同的区域中创建客户端VPN终端节点VPC。在图中,这是 VPC A。执行中描述的步骤创建 AWS Client VPN 终端节点

  3. 将您标识的子网与您创建的客户端VPN终端节点相关联。为此,请执行中所述的步骤将目标网络与 AWS Client VPN 终端节点关联,选择VPC和子网。默认情况下,我们将的默认安全组VPC与客户端VPN终端节点相关联。您可以使用将安全组应用于中的目标网络 AWS Client VPN中所述的步骤关联不同的安全组。

  4. 添加授权规则以授予客户端访问目标的权限VPC。要执行此操作,请执行 添加授权规则 中介绍的步骤。要启用目标网络,请输入IPv4CIDR范围VPC。

  5. 添加一条路由,将流量引导到对等用户。VPC在图中,这是 VPC B。要执行此操作,请执行中描述的步骤创建 AWS Client VPN 终端节点路由。在 “路径目的地” 中,输入对等用户的IPv4CIDR范围。VPC在目标VPC子网 ID 中,选择与客户端VPN终端节点关联的子网。

  6. 添加授权规则以授予客户端访问对等节点的权限。VPC要执行此操作,请执行 添加授权规则 中介绍的步骤。在目标网络中,输入对等网络的IPv4CIDR范围。VPC

  7. 在 A 和 VPC B 中的实例的安全组中VPC添加一条规则,以允许来自在步骤 3 中应用客户端VPN终端节点的安全组的流量。有关更多信息,请参阅 安全组

此场景的 AWS Client VPN 配置仅包括对本地网络的访问。如果您需要向客户端授予仅对于本地网络中资源的访问权限,我们建议您采用此配置。

客户端VPN访问本地网络

开始之前,请执行以下操作:

  • 创建或标识至少有一个子网的。VPC确定VPC要与客户端VPN终端节点关联的子网并记下其IPv4CIDR范围。

  • 为客户端 IP 地址确定一个与不重叠的合适CIDR范围VPCCIDR。

  • 在中查看客户端VPN终端节点的规则和限制使用规则和最佳实践 AWS Client VPN

实施此配置
  1. 通过 AWS 站点到站点VPN连接启用VPC与您自己的本地网络之间的通信。要执行此操作,请执行 AWS Site-to-Site VPN 用户指南中的使用入门中描述的步骤。

    注意

    或者,您可以通过使用本地网络与您的VPC本地网络之间的 AWS Direct Connect 连接来实现此场景。有关更多信息,请参阅 用户指南。AWS Direct Connect

  2. 测试您在上一步中创建的 AWS 站点到站点VPN连接。为此,请执行AWS Site-to-Site VPN 用户指南中测试站点到站点VPN连接中描述的步骤。如果VPN连接按预期运行,请继续下一步。

  3. 在与相同的区域中创建客户端VPN终端节点VPC。要执行此操作,请执行 创建 AWS Client VPN 终端节点 中介绍的步骤。

  4. 将您之前确定的子网与客户端VPN终端节点相关联。为此,请执行中描述的步骤将目标网络与 AWS Client VPN 终端节点关联,然后选择VPC和子网。

  5. 添加允许访问站点到 AWS 站点VPN连接的路由。为此,请执行中描述的步骤创建 AWS Client VPN 终端节点路由;在 “路由目标” 中,输入 AWS 站点到站点VPN连接的IPv4CIDR范围,在 “目标VPC子网 ID” 中,选择与客户端VPN终端节点关联的子网。

  6. 添加授权规则以授予客户端访问 AWS 站点到站点VPN连接的权限。为此,请执行中描述的步骤将授权规则添加到 AWS Client VPN 端点;对于目标网络,输入 AWS 站点到站点的VPN连接IPv4CIDR范围。

此场景的 AWS Client VPN 配置包括单个目标VPC和互联网访问权限。如果您需要允许客户端访问单个目标内的资源VPC并允许访问互联网,我们建议您使用此配置。

如果您完成了 开始使用 AWS Client VPN教程,则您已实现了本场景。

客户端VPN访问互联网

开始之前,请执行以下操作:

  • 创建或标识至少有一个子网的。VPC确定VPC要与客户端VPN终端节点关联的子网并记下其IPv4CIDR范围。

  • 为客户端 IP 地址确定一个与不重叠的合适CIDR范围VPCCIDR。

  • 在中查看客户端VPN终端节点的规则和限制使用规则和最佳实践 AWS Client VPN

实施此配置
  1. 确保您将用于客户端VPN终端节点的安全组允许互联网的出站流量。为此,请添加允许流量到 0.0.0.0/0 的出站规则,用于和流量。HTTP HTTPS

  2. 创建互联网网关并将其连接到您的VPC。有关更多信息,请参阅《亚马逊VPC用户指南》中的创建和连接 Internet Gateway

  3. 通过将通向 Internet 网关的路由添加到路由表,使子网成为公用子网。在VPC控制台中,选择子网,选择要与客户端VPN终端节点关联的子网,选择路由表,然后选择路由表 ID。选择操作,选择 Edit routes (编辑路由),然后选择添加路由。对于 Destination (目的地),输入 0.0.0.0/0,然后为 Target (目标) 选择上一步中的 Internet 网关。

  4. 在与相同的区域中创建客户端VPN终端节点VPC。要执行此操作,请执行 创建 AWS Client VPN 终端节点 中介绍的步骤。

  5. 将您之前确定的子网与客户端VPN终端节点相关联。为此,请执行中描述的步骤将目标网络与 AWS Client VPN 终端节点关联,然后选择VPC和子网。

  6. 添加授权规则以授予客户对的访问权限VPC。为此,请执行中描述的步骤添加授权规则要启用目标网络,请输入IPv4CIDR范围VPC。

  7. 添加允许进入 Internet 的流量的路由。为此,请执行中描述的步骤创建 AWS Client VPN 终端节点路由;在 “路由目的地” 中输入0.0.0.0/0,在 “目标VPC子网 ID” 中,选择与客户端VPN终端节点关联的子网。

  8. 添加授权规则以向客户端授予访问 Internet 的权限。要执行此操作,请执行添加授权规则中介绍的步骤,而对于目标网络,输入 0.0.0.0/0

  9. 确保您的资源的安全组VPC具有允许从与客户端VPN终端节点关联的安全组进行访问的规则。这使您的客户能够访问您的中的资源VPC。

此场景的 AWS Client VPN 配置使客户端能够访问单个VPC,并使客户端能够将流量路由到彼此。如果连接到同一客户端VPN端点的客户端也需要相互通信,我们建议使用此配置。当客户端连接到客户端VPN端点时,客户端可以使用从客户端CIDR范围分配给它们的唯一 IP 地址相互通信。

C lient-to-client 访问权限

开始之前,请执行以下操作:

  • 创建或标识至少有一个子网的。VPC确定VPC要与客户端VPN终端节点关联的子网并记下其IPv4CIDR范围。

  • 为客户端 IP 地址确定一个与不重叠的合适CIDR范围VPCCIDR。

  • 在中查看客户端VPN终端节点的规则和限制使用规则和最佳实践 AWS Client VPN

注意

在这种情况下,不支持使用 Active Directory 组或SAML基于 IdP 组的基于网络的授权规则。

实施此配置
  1. 在与相同的区域中创建客户端VPN终端节点VPC。要执行此操作,请执行 创建 AWS Client VPN 终端节点 中介绍的步骤。

  2. 将您之前确定的子网与客户端VPN终端节点相关联。为此,请执行中描述的步骤将目标网络与 AWS Client VPN 终端节点关联,然后选择VPC和子网。

  3. 将路由添加到路由表中的本地网络。要执行此操作,请执行 创建 AWS Client VPN 终端节点路由 中介绍的步骤。在路由目的地中,输入客户机CIDR范围,在目标VPC子网 ID 中指定local

  4. 添加授权规则以授予客户对的访问权限VPC。要执行此操作,请执行 添加授权规则 中介绍的步骤。要启用目标网络,请输入IPv4CIDR范围VPC。

  5. 添加授权规则以允许客户端访问客户机CIDR范围。要执行此操作,请执行 添加授权规则 中介绍的步骤。要启用目标网络,请输入客户机CIDR范围。

您可以将 AWS Client VPN 终端节点配置为限制对中特定资源的访问VPC。对于基于用户的身份验证,您还可以根据访问客户端VPN终端节点的用户组来限制对部分网络的访问。

使用安全组限制访问

您可以VPC通过添加或删除引用应用于目标网络关联的安全组(客户端VPN安全组)的安全组规则来授予或拒绝对您的特定资源的访问权限。此配置在访问正在VPC使用的客户端 VPN 中介绍的场景基础之上进行了扩展。除了该情景中配置的授权规则之外,还应用此配置。

要授予对特定资源的访问权限,请确定与运行资源的实例相关联的安全组。然后,创建允许来自客户端VPN安全组的流量的规则。

在下图中,安全组 A 是客户端VPN安全组,安全组 B 与EC2实例关联,安全组 C 与EC2实例关联。如果您向安全组 B 添加允许从安全组 A 进行访问的规则,则客户端可以访问与安全组 B 关联的实例。如果安全组 C 没有允许从安全组 A 进行访问的规则,则客户端无法访问与安全组 C 关联的实例。

限制对中资源的访问 VPC

在开始之前,请检查客户端VPN安全组是否与您的中的其他资源相关联VPC。如果您添加或删除引用客户端VPN安全组的规则,则可能还会授予或拒绝其他关联资源的访问权限。为防止这种情况,请使用专为与您的客户端VPN终端节点配合使用而创建的安全组。

创建安全组规则
  1. 打开 Amazon VPC 控制台,网址为https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择安全组

  3. 选择与运行您资源的实例相关联的安全组。

  4. 选择 Actions (操作)Edit inbound rules (编辑入站规则)

  5. 选择 Add Rule (添加规则),然后执行以下操作:

    • 对于 Type (类型),选择 All traffic (所有流量) 或要允许的特定流量类型。

    • 对于 “”,选择 “自定义”,然后输入或选择客户端VPN安全组的 ID。

  6. 选择 Save rules (保存规则)

要删除对特定资源的访问权限,请检查与运行资源的实例相关联的安全组。如果存在允许来自客户端VPN安全组的流量的规则,请将其删除。

检查安全组规则
  1. 打开 Amazon VPC 控制台,网址为https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择安全组

  3. 选择 Inbound Rules (入站规则)

  4. 查看规则列表。如果规则的来源是客户端VPN安全组,请选择编辑规则,然后为该规则选择删除(x 图标)。选择保存规则

根据用户组限制访问

如果您的客户端VPN终端节点配置为基于用户的身份验证,则可以授予特定用户组访问网络特定部分的权限。为此,请完成以下步骤:

  1. 在 AWS Directory Service 或您的 IdP 中配置用户和群组。有关更多信息,请参阅以下主题:

  2. 为您的客户端VPN终端节点创建授权规则,允许指定的群组访问您的全部或部分网络。有关更多信息,请参阅 AWS Client VPN 授权规则

如果您的客户端VPN终端节点配置为双向身份验证,则无法配置用户组。创建授权规则时,必须向所有用户授予访问权限。要允许特定用户组访问网络的特定部分,您可以创建多个客户端VPN终端节点。例如,对于访问网络的每个用户组,请执行以下操作:

  1. 为该用户组创建一组服务器以及客户端证书和密钥。有关更多信息,请参阅 双向认证 AWS Client VPN

  2. 创建客户端VPN终端节点。有关更多信息,请参阅 创建 AWS Client VPN 终端节点

  3. 创建授权规则,以授予对网络全部或某个部分的访问权限。例如,对于管理员使用的客户端VPN终端节点,您可以创建授权规则来授予对整个网络的访问权限。有关更多信息,请参阅 添加授权规则