前面豆子学习了如何配置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 ×××_ vpc


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

AWS - VPC site-to-site ×××_ vpc_02

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


AWS - VPC site-to-site ×××_aws_03


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

AWS - VPC site-to-site ×××_aws_04


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

AWS - VPC site-to-site ×××_aws_05

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


AWS - VPC site-to-site ×××_ vpc_06


类似的Security Group

AWS - VPC site-to-site ×××_ vpc_07

Subnet

AWS - VPC site-to-site ×××_aws_08

以及对应的路由表


AWS - VPC site-to-site ×××_aws_09

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


AWS - VPC site-to-site ×××_ vpc_10


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


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


首先安装 Openswan


AWS - VPC site-to-site ×××_aws_11


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

AWS - VPC site-to-site ×××_aws_12

创建一个配置文件

AWS - VPC site-to-site ×××_ vpc_13


配置Preshared key

AWS - VPC site-to-site ×××_ vpc_14

运行ipsec 程序

AWS - VPC site-to-site ×××_aws_15

确认无误

AWS - VPC site-to-site ×××_aws_16

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


AWS - VPC site-to-site ×××_ vpc_17

重启网络以便生效

AWS - VPC site-to-site ×××_aws_18


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


下面来测试一下

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

AWS - VPC site-to-site ×××_aws_19


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

AWS - VPC site-to-site ×××_ vpc_20

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

AWS - VPC site-to-site ×××_aws_21


实验成功!