前面豆子学习了如何配置VPC的公网,私有网,NAT实例以及VPC Peering,现在看看一些更复杂一些的应用。豆子总结了一下如何将不同Region的VPC之间通过EC2的××× Instance 的IPSec Tunnel来实现互相访问。
豆子的实验环境如下:
在新加坡搭建一个VPC 网络 10.2.0.0/16, 悉尼搭建一个VPC网络 10.1.0.0/16, 然后两个网络分别搭建一个EC2实例,然后通过IPsec使得两个网络可以互相访问。
基本步骤如下
配置VPC网络,包括Subnet,Internet GW,Elastic IP和Routing Table
安装配置EC2实例,绑定Elastic IP,配置Security Group
安装Openswan,并在两个实例之间配置IPSec ×××
测试
具体的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
实验成功!