随着AWS客户端VPN的桌面客户端本月早些时候的发布,人们对托管VPN服务重新产生了兴趣。鉴于AWS已经发布了桌面VPN客户端,这意味着您需要的任何支持现在都在AWS支持的旗帜下,为客户提供端到端解决方案。在此之前,AWS的客户将有3个理查德·道金斯要连接的派对客户端。因此,考虑到对该服务重新产生的兴趣,我决定编写一个简单的设置场景。如果您需要更复杂的设置,请与我们的销售团队联系。

注意:在这个实验室中创建的AWS资源超过AWS的自由层。您将收取的资源,如果你遵循这个博客。请调查之前,部署在这篇文章中详细介绍的解决方案的资源成本。

对于这个场景,我们将创建一个带有3个私有子网的VPC,以便将应用程序工作负载分布到3个可用区域。我选择对我的VPC使用范围10.0.0.0/16。让您的网络管理员参与进来,以确保您的IP地址范围满足可用主机的要求,并且不会与需要互连的网络重叠。除了VPC之外,我们还需要为我们的VPN客户机定义一个远程访问IP池,我选择了192.168.0.0/22。注意,a /22 CIDR是目前我们可以分配的最小地址池。下面是我们将构建的简单架构的示意图。

步骤1:创建VPN将连接到的VPC。

在VPC控制台中导航到VPC>您的VPC>创建VPC。方法命名VPC姓名标签并将IP地址范围应用到IPv4 CIDR块*字段。我们不会在这种情况下使用IPv6,和默认的租赁足以满足我们的需求。点击创建按钮,然后点击关闭

现在我们已经创建了VPC导航到子网上下文和点击创建子网。对于子网的细节,我将它们划分如下

姓名标签 VPC 可用性区域 IPv4 CIDR块
subnet-az-a 先前创建的VPC的VPC ID ap-southeast-2a 10.0.0.0/24
subnet-az-b 先前创建的VPC的VPC ID ap-southeast-2b 10.0.1.0/24
subnet-az-c 先前创建的VPC的VPC ID ap-southeast-2c 10.0.2.0/24

按照上面的屏幕截图填写详细信息,然后使用上面的示例IP计划或您的网络管理员分配给您的IP计划,对所有子网(您需要的子网)重复上述操作。完成后,应该有3个子网络分布在所有可用区域。注意,所有创建的子网之间都有连接性,因为它们与主路由表有默认的关联。

第2步:用户名和密码验证创建目录服务

VPN服务有两种认证方法:

  • 使用Active Directory身份验证
  • 使用相互身份验证

这些身份验证方法可以单独使用,也可以相互结合使用。出于本场景的目的,我们将两者一起使用。首先,让我们创建目录服务。从服务菜单中,选择目录服务。假设你没有以前的目录设置,选择建立目录。然后选择简单的广告并点击下一个

注意,也可以使用AD连接器或AWS管理的AD来使用您的本地AD

在目录信息,设置目录DNS名称,目录NetBIOS名称并选择目录的大小。

此外,设置目录管理员强密码。选择一个VPC和子网为您目录服务来住。我选择了VPC和子网,我之前创建。然后点击下一个创建目录开始创建目录服务。注意:创建目录可能需要15分钟的时间。

步骤3:创建和上传用于相互身份验证的证书

为了生成客户机和服务器证书,我们将使用easy-rsa。易RSA是一个命令行工具来构建和管理公钥基础设施和证书颁发机构。这可从位于OpenVPN的GitHub的页面https://github.com/OpenVPN/easy-rsa。我使用WSL2来生成这些证书,因此在不同的操作系统上可能会有所不同。要生成和上传证书,请使用以下命令:

MKDIR〜/证书
mkdir ~ /临时
cd ~ /临时
git克隆https://github.com/OpenVPN/easy-rsa.git

cd easyrsa3
。/ easyrsa init-pki

./easyrsa构建-CA NOPASS

您可以利用这个机会为证书创建自己的通用名称。但是,我使用了默认选项

./easyrsa构建-server-full server nopass

/easyrsa构建了完整的client1.example.com nopass

让我们所有的相关证书复制到证书目录

cp pki / ca。crt ~ /组/
CP PKI /发行/ server.crt这〜/证书/
cp pki /私人服务器。关键的~ /证书/
cp pki /发布/ client1.example.com.crt ~ /组/
cp pki /私人/ client1.example.com.key ~ /组/
CD〜/证书

更换区域和轮廓,以满足您的要求,并上传服务器证书

aws acm导入证书——证书文件://server。crt——私有密钥文件:/ /服务器。关键--certificate-chain file://ca.crt --region ap-southeast-2 --profile {{ profile }}

再次替换区域和配置文件以满足您的要求,并上传客户端证书

aws acm导入证书—证书文件://client1.example.com.crt—私有密钥文件://client1.example.com.key—证书链文件://ca。crt—区域ap- southeast2—profile {{profile}}

请注意客户端和服务器证书的ARNs,在AWS控制台中配置VPN时需要这些。请注意,在您已将证书上载到的区域的证书管理器控制台中也可以使用这些证书。

步骤4:在AWS控制台中创建一个VPN

现在我们的VPC和子网已经创建好了,我们有了证书和目录服务,我们可以建立VPN连接了。

下一节虚拟专用网(VPN)部分的VPC仪表板,选择客户的VPN端点。点击创建客户端VPN端点输入的名字VPN。下认证信息选择服务器证书是我们之前创建的。使两个活动目录相互认证并选择目录ID客户端证书ARN我们前面创建的证书。

其他选项包括连接的设置日志记录、实现自定义DNS服务器、启用分裂隧道和设置端口和协议。一旦点击配置创建客户端VPN端点然后点击关闭

现在已经创建了VPN,但它还没有与VPC关联。为了与VPC相关联,我们在前面创建了选择VPN连接并选择协会选项卡。然后点击按钮联系

选择我们之前创建的VPC,然后选择一个子网与相关联。请注意,在写这篇文章的时候,AP-东南-2B是不支持我的帐户。然而,无论AP-东南-2a和AP-东南-2C可用。

单击关闭一旦协会ID已被分配。注意,的关联的状态可以从获得协会选项卡。协会可能需要几分钟才能完成。

一旦关联完成,我们就可以设置客户端VPN配置。

第5步:客户端VPN配置

首先我们需要下载两个项目。

第一个是AWS客户端VPN,它是公开可用的。二进制文件位于以下链接:https://aws.amazon.com/vpn/client-vpn-download/注意二进制仅适用于MacOS和此时的Windows变种。微星安装在Windows上一个简单的安装假设你有适当的权限来安装应用程序。

第二项是ovpn (Open VPN)客户机配置文件。这需要分发给我们的VPN客户端用户。要检索此信息,请从aws控制台选择VPN并单击下载客户端配置按钮。这将为我们提供一个OpenVPN (.ovpn)客户端文件,我们需要对该文件进行编辑并将证书附加到该文件中。

在您喜欢的编辑器中打开VPN配置文件。我们将附加客户端cert关键内联到配置文件。

客户端证书配置

  • < / ca >节创建一个节<证书> 并追加客户端认证数据。如果您按照本指南,此证书和证书数据包含在文件client.example.com.crt。
  • < /证书>部分创建标签另一节<键> < /关键>在这些标记之间添加客户端密钥,如果您遵循本指南,则客户端密钥的内容位于client.example.com.key文件中。
  • 最后一个要更改的参数是配置文件顶部的remote参数,对域执行NSLOOKUP或DIG不会产生任何结果。要纠正此错误,请在域URL后面加上前缀,例如将以下URL更改为前缀URL。
    • cvpn -端点uniqueid.prod.clientvpn.ap东南- 2. amazonaws.com
    • cvpn -端点uniqueid.prod.clientvpn.ap东南- 2. amazonaws.com

保存ovpn配置并打开AWS VPN客户端。通过导航到导入开放的VPN配置文件VPN文件>管理配置文件>添加配置文件。输入您选择的显示名称并输入VPN配置文件的路径。

通过单击测试连接添加配置文件>完成>连接,当提示输入VPN连接的用户名和密码时。例如:管理员和创建简单目录服务时设置的密码。注意,将新用户添加到目录服务超出了本文的范围。

一旦我的用户名和密码被输入。VPN现在已经连接上了。

第6步:测试连接到VPC

为了测试到VPC的连接,我在VPC中创建了一个Ec2 Linux实例。Ec2实例配置了附加的VPN安全组。这允许安全组中的任何实体在端口22/SSH上连接到安全组中的任何其他实体。

要将我们的VPN添加到安全组,请导航到VPC控制台。选择客户端VPN端点,然后选择我们的VPN,然后选择选项卡安全组>应用安全组。选择安全组分配到EC2实例和点击应用安全组

最后,我们需要添加授权规则。点击授权>授权进入

启用对10.0.0.0/16的访问,或者使用您自己的地址空间进行替换,然后单击添加授权规则>关闭

等待授权变得活跃,并尝试在EC2实例的连接现在,我们可以连接到我们的管理端口,而不暴露TCP / 22的世界。这使我们能够有效地彼此分开我们的管理和生产业务。

类别:
亚马逊网络服务,云基础设施
标签:
,,