Meng Xin Zhu

业务上云之后,经常也有需求将多云、数据中心或办公室的私有网络同云端的私有网络建立连接。AWS Site-to-Site VPN正是AWS提供的托管VPN服务,我们可以在另一端的私有网络通过Openswan同AWS VPC网络建立基于IPSec协议的安全连接。

下面是配置的详细步骤,

  1. 如果是创建数据中心或办公室的连接,数据中心或办公室需要有公网IP。如果是在其他公有云上,需要创建带公网IP的EC2,或使用EIP。
    1. 如果使用AWS EC2配置Openswan,需要禁用 EC2 的 Source/Destination Check。
  2. 在AWS上创建Virtual Private Gateway 和 Customer Gateway(指定对端的公网IP作为静态路由)。
  3. 在AWS上创建Site-to-Site VPN连接,使用第一步和第二步创建的Virtual Private Gateway和Customer Gateway。
  4. 在对端机器上安装openswan

sudo yum install openswan

  1. 编辑/etc/sysctl.conf文件,确保有以下配置,

net.ipv4.ip_forward = 1 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.default.accept_source_route = 0

  1. 重新加载sysctl配置并重启network服务。

sudo sysctl -p sudo service network restart

  1. 编辑/etc/ipsec.conf确保include /etc/ipsec.d/*.conf没有被注释。
  2. 创建/etc/ipsec.d/aws.conf文件,内容拷贝来自第三步创建的连接Openswan建议配置。
  3. 创建/etc/ipsec.d/aws.secrets文件,内容拷贝来自第三步创建的连接Openswan配置。
  4. 启动ipsec服务。

Start the ipsec service.

sudo service ipsec start

Check the logs.

sudo service ipsec status sudo ipsec auto –status

以上配置在Amazon Linux, Centos 6.9上验证通过。但是在Amazon Linux 2、Centos 7等较新的Linux发行版本上,启动ipsec服务遇到如下错误,

Starting Internet Key Exchange (IKE) Protocol Daemon for IPsec… ERROR: /etc/ipsec.d/aws.conf: 12: keyword auth, invalid value: esp

解决方法是,从 AWS Site-to-Site VPN 下载的 Openswan 配置中删掉不支持的配置行auth=esp