AWS 站点到站点(Site-to-Site)VPN将数据中心或分支机构扩展到云,VPN使用加密通道保护在Internet上的通信,同时支持连接到客户私有网关(Customer Gateway)和中转网关(Transit Gateway)。

一、VPN的组成

  • 虚拟专用网关(VGW):虚拟专用网关是 Site-to-Site VPN 连接在 Amazon 端的 VPN 集线器;
  • 客户网关(CGW):客户网关是指 Site-to-Site VPN 连接在客户端的实体设备或软件应用程序。

要创建 AWS 连接,必须在 Site-to-Site VPN 中创建一个客户网关,用来向 AWS 提供有关的客户网关设备的信息。

  • 中转网关( Transit Gateway):还可以将 AWS Site-to-Site VPN 连接的目标网关从虚拟专用网关修改为中转网关。中转网关是一个中转中心,可用它来互连 Virtual Private Cloud (VPC) 和本地网络。

要设置VPN,首先定义连接的两端。在AWS中是通过虚拟专用网关(VGW)完成的,在公司数据中心是通过客户网关(CGW)完成的。CGW是一种防火墙或路由器,支持IPSec,理想情况下还支持BGP。

在AWS方面,VGW将提供两个托管终止端点,并将它们与网关关联。端点位于两个可用性区域中,并使用来自AWS公共地址空间的公共IP地址。

 基本 VPN 图

二、配置步骤

通过在 VPC 中启用访问远程网络的权限:

  • 创建专用网关
  • 创建自定义路由表
  • 更新安全组规则
  • 建立AWS Site-to-Site VPN 连接

CGW总是发起连接,这不能从VGW发起。如果将CGW配置为侦听传入连接,则隧道将永远不会出现。

三、一个例子

实验在两个Region的VPC之间建立VPN连接。VGW VPC CIDR:10.2.0.0/16;CGW VPC CIDR:10.1.0.0/16。

  1. 创建VGW:建好后Attach to VPC;

2、配置CGW:可选静态路由和动态路由,IP地址为网关的外部接口指定 Internet 可路由 IP 地址;该地址必须是静态的,可位于执行网络地址转换(NAT)的设备之后。CGW可以是硬件也可以是软件;这里将instance作为CGW;

3、创建VPN连接:在VGW配置VPN连接:

  • 静态路由,连接选择CGW私有网段 IP 10.1.0.0/16;
  • VGW得到两个outside ip(tunnel_1&tunnel_2),将在第5步配置对端VPN;
  • 下载配置文件,记录两个通道的pre-shared key;
  • 更新路由表router propagation;

4、配置SSH连接:利用.ppk文件使用EIP连接CGW instance;

5、配置CGW IPSec服务:

配置ipsec.conf文件,更新tunnel_1&tunnel_2 ip地址;

配置ipsec.secrets文件,更新tunnel_1&tunnel_2 ip地址和pre-shared key

6、测试连接:重启ipsec服务,ping VGW 10.2.0.100