前面豆子学习了如何配置VPC的公网,私有网,NAT实例以及VPC Peering,现在看看一些更复杂一些的应用。豆子总结了一下如何将不同Region的VPC之间通过EC2的××× Instance 的IPSec Tunnel来实现互相访问。


豆子的实验环境如下:


在新加坡搭建一个VPC 网络 10.2.0.0/16, 悉尼搭建一个VPC网络 10.1.0.0/16, 然后两个网络分别搭建一个EC2实例,然后通过IPsec使得两个网络可以互相访问。


基本步骤如下


  1. 配置VPC网络,包括Subnet,Internet GW,Elastic IP和Routing Table

  2. 安装配置EC2实例,绑定Elastic IP,配置Security Group

  3. 安装Openswan,并在两个实例之间配置IPSec ××× 

  4. 测试


具体的EC2和VPC的配置我就不赘述了,这些算AWS的基础知识。


下面是新加坡服务器和网络的截图。我搭建了两个服务器,一个视作普通的服务器,一个是我要搭建的×××服务器,简称×××1

AWS - VPC site-to-site ×××_第1张图片


这个是×××1对应的Security Group,注意打开了UDP 500,4500 和 1701端口 以便连接IPSec Tunnel

AWS - VPC site-to-site ×××_第2张图片

这个是两个服务器对应的Elastic IP的地址和私有地址


AWS - VPC site-to-site ×××_第3张图片


这个是新加坡的VPC网络 10.2.0.0/16

wKioL1PbPe7Bey5SAABHpg9ZqRE353.png


这个是我所创建的Subnet和对应的路由表,注意路由表是通过×××实例通向对方的私有网络的。

AWS - VPC site-to-site ×××_第4张图片

类似的,我在悉尼也配置了一个×××实例,称作×××2好了


AWS - VPC site-to-site ×××_第5张图片


类似的Security Group

AWS - VPC site-to-site ×××_第6张图片

Subnet

AWS - VPC site-to-site ×××_第7张图片

以及对应的路由表


AWS - VPC site-to-site ×××_第8张图片

还有一步很重要,别忘记Disable Source/Dest. Check


AWS - VPC site-to-site ×××_第9张图片


以上AWS控制台的准备工作做完,下面的操作就和Linux IPSec ×××搭建没有区别了。


请在两台EC2的实例分别执行以下操作


首先安装 Openswan


wKiom1PbPNzzstqPAAAD87U-tdM249.png


然后修改 ipsec.conf,取消注释掉最后一行

AWS - VPC site-to-site ×××_第10张图片

创建一个配置文件

AWS - VPC site-to-site ×××_第11张图片


配置Preshared key

wKioL1PbPfiwmQojAAAMcej_554300.png

运行ipsec 程序

wKiom1PbPN_yycZEAAADGbeA6PA793.png

确认无误

wKioL1PbPfiQQ330AAADiDqOsLI269.png

配置sysctl.conf 打开包的转发功能


AWS - VPC site-to-site ×××_第12张图片

重启网络以便生效

wKioL1PbPfnSYuEWAAAD8NqgvJo765.png


在两边都进行上述操作以后,IPSec的连接就算完成了。


下面来测试一下

从悉尼的×××1上面,我可以Ping到新加坡的×××2

AWS - VPC site-to-site ×××_第13张图片


倒过来,从×××2我也可以Ping到×××1

wKioL1PbPfqBM4S9AAAV6jkc4Dg610.png

从悉尼网络的普通服务器我也可以Ping到×××2

AWS - VPC site-to-site ×××_第14张图片


实验成功!