AWS使用 Client VPN 配置访问VPC 内网资源

这篇具有很好参考价值的文章主要介绍了AWS使用 Client VPN 配置访问VPC 内网资源。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AWS使用AWS Client VPN 访问云上VPC 内网资源

一、背景和架构

AWS Client VPN是一种基于客户端的托管VPN服务,让您能够安全地访问云上资源或借助云作为网络通道访问其他资源。AWS Client VPN具有专用的VPN客户端,也支持使用OpenVPN作为客户端。

注意:AWS Client VPN只能用于企业海外员工到附近的海外AWS区域的访问接入,不可用于跨境访问。跨境需求需要申请符合相关法律规定的具有资质的跨境专线。

与云上自行部署Client VPN相比,AWS Client VPN除了具有运维管理的便捷性之外,还可以用于与没有Internet Gateway的VPC内网互联实现对云上私密数据的访问,且访问VPN同时不影响客户端本机的互联网访问。如下图架构所示。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

在上图中,位于海外区域的远程用户希望访问云上的VPC内的应用,且出于合规安全考虑云上的VPC是一个没有关联Internet Gateway、也没有外网路由的内部VPC。此时AWS Client VPN支持通过ENI方式将流量注入到VPC内实现访问。同时,为了确保客户端能对其他Internet网络正常访问,本方案将使用AWS Client VPN 的 Split-tunnul 功能分离网络流量,允许去往非VPC的流量直接从客户端对外发出而不经过VPN。本文描述此场景下的配置过程。

二、创建AWS Client VPN 需要的证书

AWS Client VPN 使用的是OpenVPN协议,身份认证方式支持微软AD认证和SSL证书认证等方式。本文采用证书方式认证进行配置。

1、创建CA和服务器证书以及客户端证书,导出证书并上传到ACM

首先在海外AWS区域创建一个EC2,建议使用Amazon Linux 2系统,在其上配置AWSCLI工具和对应的AKSK,使其具有AWS Certificate Manager(ACM)服务操作权限。

执行如下命令生成CA证书。注意最后一个命令执行后,需要输入证书使用的域名。

git clone https://github.com/OpenVPN/easy-rsa.git
cd easy-rsa/easyrsa3
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa build-server-full server nopass   【中途输入yes】
./easyrsa build-client-full all.man.use  nopass   【中途输入yes】
mkdir ~/custom_folder/
cp pki/ca.crt ~/custom_folder/
cp pki/issued/server.crt ~/custom_folder/
cp pki/private/server.key ~/custom_folder/
cp pki/issued/all.man.use.crt ~/custom_folder
cp pki/private/all.man.use.key ~/custom_folder/
cd ~/custom_folder/    

2、导出证书并上传到ACM

本地上传证书
需要aws的token具有证书管理员权限
aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt --region ap-northeast-1     
aws acm import-certificate --certificate fileb://all.man.use.crt  --private-key fileb://all.man.use.key   --certificate-chain fileb://ca.crt --region ap-northeast-1  

返回CertificateArn信息则表示成功。 

3生成单个用户登陆证书【需要为每个用户设置单独的证书提供使用】

cd /home/ec2-user/config/vpn/easy-rsa/easyrsa3
./easyrsa build-client-full jack.man.use  nopass
cp pki/issued/jack.man.use.crt ~/custom_folder
cp pki/private/jack.man.use.key ~/custom_folder/
cd ~/custom_folder/
aws acm import-certificate --certificate fileb://jack.man.use.crt  --private-key fileb://jack.man.use.key   --certificate-chain fileb://ca.crt --region ap-northeast-1
然后需要修改客户端的连接密钥文件才能远程连接 

4、续订服务器证书【参考】

因为生成的证书每隔一年会到期,所以到一年后需要续订

$ ./easyrsa renew server nopass
$ mkdir ~/custom_folder2
$ cp pki/ca.crt ~/custom_folder2/
$ cp pki/issued/server.crt ~/custom_folder2/
$ cp pki/private/server.key ~/custom_folder2/
$ cd ~/custom_folder2/
$ aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt   

三、创建AWS Client VPN终端节点

1、创建Endpoint终端节点

进入对应区域的VPC服务界面,在左侧菜单中找到Client VPN Endpoints,点击进入,并点击新建,如下截图。

在创建界面上填写VPN服务名称、描述信息,并设置IP地址段。IP地址段是AWS Client VPN 服务器与客户端之间的一个私有网络,这个地址段的子网掩码范围/12和/22之间,且地址不能与客户端本地或云上VPC冲突。例如本文使用10.88.0.0/16作为地址段。

然后在下方的服务器证书位置,选择ACM中包含的server证书。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

在客户端认证选项中,选择Use mutual authentication使用证书双向认证,然后在Client证书选择框中,选择ACM中包含的client证书。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

接下来将页面向下移动。在DNS位置留空,VPN 服务器将不强制推送DNS服务器。在对接企业AD场景下如果有需要的话可推送自己的DNS。在传输协议位置保持默认的UDP协议。在Enable split-tunnel位置,选中这个选项,表示客户端将把去往AWS的流量和本地互联网流量分离。由此不需要所有流量都经过VPN处理。接下来选择安全组为本VPC默认的安全组,默认的安全组规则是对外出栈放行,对内入栈禁止所有。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

页面继续向下移动,在页面下方,选中Do you want to enable Client Login Banner text的选项,并设置一段文本,可以在VPN连接过程中显示这个文本信息。最后点击右下角创建按钮。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

至此创建Client VPN Endpoint完成。

2、绑定子网

进入创建好的AWS Client VPN Endpoint界面,找到第二个标签页Associations,点击Associate按钮。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

在弹出的绑定子网界面中,选中AWS Client VPN 要连接的子网。首先选择VPC和第一个子网。然后点确定。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

重复以上步骤,将两个子网都绑定到AWS Client VPN。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

接下来需要等待几分钟,等待黄色的Associating字样变成绿色的Associated。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

3、绑定策略

进入创建好的AWS Client VPN Endpoint界面,找到第四个标签页Authorization授权界面。点击Authorize Ingress按钮。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

输入AWS Client VPN要访问的VPC的CIDR,例如本文的VPC地址段是10.1.0.0/16,然后点击授权。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

至此VPC服务器端配置完成。

四、获取客户端配置文件并修改配置

1、下载客户端配置文件

在上一步完成操作的界面,点击页面中间蓝色的按钮Download Client Configuration,获取客户端配置文件。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

这样将在下载目录中打开名为downloaded-client-config.ovpn的文件,接下来使用任意文本编辑器修改其配置。

2、设置客户端证书

接上一步,打开扩展名为ovpn的配置文件,在最后增加如下两段内容:

<cert>
这里粘贴上前文生成的客户端密钥username.domain.tld.crt的内容
</cert>

<key>
这里粘贴上前文生成的客户端密钥username.domain.tld.key的内容
</key>

3、设置访问域名

接上一步,找到配置文件中开头部分如下一行。

remote cvpn-endpoint-05ba461a63c340555.prod.clientvpn.eu-central-1.amazonaws.com 443

在其前方增加一个子域名,使用前边申请证书的子域名即可,例如username.domain.tld。如下配置。

remote username.cvpn-endpoint-05ba461a63c340555.prod.clientvpn.eu-central-1.amazonaws.com 443

保存退出,至此本用户的客户端配置文件修改完成。现在需要将此文件复制到要连接VPN的客户机上。

请注意,今后每增加一个新的用户,都需要新制作这样一个客户端配置文件。由此,当单个用户需要注销的时候,只要在ACM服务内注销掉用户对应的客户端证书即可。

五、下载客户端并连接VPN

在要使用VPN的客户机上下载AWS Client VPN 客户端对应的操作系统的版本,包括Windows、Linux和MacOS的支持。如下截图。

AWS Client VPN Download | Amazon Web Services

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

安装完成后启动客户端。点击菜单上的File命令,然后点击Manage Profiles按钮管理配置文件。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

点击添加按钮,再选择前文编辑完成的客户端配置文件,然后点击Add Profile按钮完成添加。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

添加配置文件完成。此时可以准备开始连接了。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

连接成功后,使用cmd去ping在VPC内网的环境,可看到ping成功。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

此外,通过AWS控制台上Client VPN界面的Connections标签页,也可以看到当前连接的客户端。如下截图。

AWS使用 Client VPN 配置访问VPC 内网资源,aws,云计算

在前文配置VPN过程中已经将Split-tunnel选项设置为Enable启用状态,所以只有去往VPC中的流量才会通过VPN传输,其他流量将从客户本地网络上直接访问互联网。由于本次配置的云上VPC是没有Internet Gateway的,因此当您连接到Client VPN后能同时访问VPC和访问Internet,就意味着启用了Split-tunnel分流功能工作正常。

至此配置完成。文章来源地址https://www.toymoban.com/news/detail-837563.html

到了这里,关于AWS使用 Client VPN 配置访问VPC 内网资源的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Terraform学习】使用 Terraform 创建Amazon VPC(Terraform-AWS最佳实战学习)

    前提条件 安装 Terraform : 地址 下载仓库代码模版 本实验代码 位于  task_vpc  文件夹中 。 变量文件  variables.tf   在上面的代码中,您将 声明 , aws_access_key , aws_secret_key 和  区域变量 。 terraform.tfvar    在上面的代码中,您将 定义变量的值 。 main.tf     在上面的代码中,

    2024年02月11日
    浏览(35)
  • AWS VPC 概述

    VPC (Virtual Private cloud)虚拟私有云,是AWS提供的在网络层面对资源进行分组的技术,一个VPC可以看作是一个独立的虚拟网络,这个虚拟网络与客户在数据中心运营的传统网络及其相似,并会为客户提供使用AWS的可扩展基础设施的优势,默认情况下VPC与VPC之间不互通,是逻辑

    2023年04月08日
    浏览(34)
  • AWS攻略——创建VPC

    在 《AWS攻略——VPC初识》一文中,我们在AWS默认的VPC下部署了一台可以SSH访问的机器实例。这篇文章我们将修改一个“变量”——创建一个简单的VPC,并使用 《AWS攻略——VPC初识》相似的步骤,部署另外一个可以SSH访问的机器实例。 我们还是选用弗吉尼亚北部(us-east-1)区

    2024年02月08日
    浏览(29)
  • AWS / VPC 云流量监控

    由于安全性、数据现代化、增长、灵活性和成本等原因促使更多企业迁移到云,将数据存储在本地的组织正在使用云来存储其重要数据。亚马逊网络服务(AWS)仍然是最受追捧和需求的服务之一,而亚马逊虚拟私有云(VPC)在拥有大部分数据在本地的用户中越来越受欢迎。

    2024年02月15日
    浏览(28)
  • AWS VPC简单设计与实施

    最近要为dev,test,uat,prod 4大环境创建一个vpc,vpc全称是virtual private cloud,这次简单理解就是我们要为这4个环境创建4个局域网,只是说这个局域网在云上而已。 Name Ip dev 172.32.0.0/16 test 172.33.0.0/16 uat 172.34.0.0/16 prod 172.35.0.0/16 在左上角搜索VPC服务,如下图: 点击“您的VPC”,

    2024年01月23日
    浏览(29)
  • 控制您的 AWS VPC 终端节点

    随着 Amazon Web Services (AWS) 越来越受欢迎,现在控制您自己的 AWS 虚拟私有云 (VPC) 终端节点比以往任何时候都更加重要。这可以通过配置和管理 VPC 终端节点中的不同设置来完成。在本文中,我们将讨论为什么控制您的 AWS VPC 终端节点很重要、随之而来的好处以及如何开始

    2024年02月11日
    浏览(42)
  • 【AWS】实操-保护 Amazon S3 VPC 终端节点通信

    数据安全至关重要。Amazon Web Services (AWS) 提供了多种解决方案和最佳实践来帮助保护数据的安全。了解如何做出最佳决策来保护数据的安全,这项任务可能具有挑战性。 在无路由指向互联网的私有子网中运行应用程序,可将攻击面限制为仅限内部流量,从而实现数据安全。

    2024年02月10日
    浏览(43)
  • AWS S3桶 配置访问权限(AKSK)的流程

    在新上线的机器上,需要给hadoop配置AKSK,否则在该机器上执行的任务将无法访问S3中的文件。 AK:Access Key Id,用于标示用户 SK:Secret Access Key,是用户用于加密认证字符串和用来验证认证字符串的密钥 容器如果其宿主机配置了角色(Role)权限,则对应的容器不需要配置aksk也

    2024年02月06日
    浏览(37)
  • 混合云构建-VPN打通阿里云和AWS云

    混合云构建是指将本地数据中心(或私有云)与公有云服务(如阿里云和AWS)结合起来,以便数据和应用程序可以在两者之间灵活移动。这种架构可以提高企业的灵活性和扩展性,同时还可以根据需要保持对某些关键数据和应用程序的控制。 在阿里云和AWS之间建立Site to Sit

    2024年03月12日
    浏览(37)
  • 用户远程访问公司内网---防火墙配置SSL VPN,操作及原理讲解

    SSL VPN(Secure Sockets Layer Virtual Private Network)是一种利用SSL/TLS协议来提供安全的远程访问解决方案。与IPSec VPN相比,SSL VPN的优势在于它不需要在客户端安装特定的软件,用户可以通过任何支持SSL/TLS的Web浏览器来访问企业网络。 SSL VPN的工作原理如下: 客户端认证 :用户通过浏

    2024年04月27日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包