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

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

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

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

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

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

类似的Security Group

Subnet

以及对应的路由表

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

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

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

首先安装 Openswan

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

创建一个配置文件

配置Preshared key

运行ipsec 程序

确认无误

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

重启网络以便生效

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

下面来测试一下

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

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

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

实验成功!