本文为您介绍如何通过火山引擎VPN连接产品,以静态路由的方式建立火山引擎与AWS自建VPN之间的私网访问通道。
192.168.0.0/16
)及其子网,并在其中一个子网下创建一台云服务器(IP:192.168.2.88
),具体操作请参见创建私有网络、购买并使用云服务器实例。172.31.0.0/16
)和公有子网,并在公有子网下创建一台EC2实例(若使用CentOS需要提前在Marketplace中订阅))用于部署Strongswan服务,EC2实例的私网地址为172.31.16.111
,具体操作请前往AWS官网查看相关产品文档。说明
EC2实例是AWS云中的虚拟服务器,更多介绍参见AWS产品文档什么是 Amazon EC2?。
在AWS侧的EC2中部署Strongswan服务,并分配一个EIP(54.XX.XX.208
)作为VPC-02的公网出口;在火山侧创建VPN连接,并注册AWS侧的信息到用户网关,全部配置完成后发起VPN连接,从AWS侧的EC2中Ping火山侧VPC-01中的云服务器(IP:192.168.2.88
),可Ping通则表示网络已打通。
54.XX.XX.208
。192.168.0.0/16
)访问EC2(私网地址:172.31.16.111
)。180.XX.XX.98
。54.XX.XX.208
。172.31.0.0/16
)访问,相关配置如下图所示,具体操作请参见添加VPN网关路由。登录AWS平台已创建的EC2,安装Strongswan。
amazon-linux-extras install epel -y yum install strongswan
yum install strongswan
执行如下命令,查看Strongswan版本。
strongswan version
执行命令vim /etc/strongswan/ipsec.conf
编辑ipsec.conf文件,编辑完成后需保存。IKE配置和IPsec配置需要与火山引擎创建IPsec连接时的配置一致,本示例配置如下:
config setup # strictcrlpolicy=yes # uniqueids = no conn sample-self-signed # strictcrlpolicy=yes # uniqueids = no# Add connections here.conn %default authby=psk type=tunnel# Sample VPN connectionsconn huoshanyun keyexchange=ikev2 #IKE版本需要与火山引擎IPsec连接配置一致,此处为ikev2 left=172.31.16.111 #AWS侧EC2的私网地址 leftsubnet=172.31.0.0/16 #AWS侧VPC的网段 leftid=54.XX.XX.208 #AWS EC2公网IP地址 right=180.XX.XX.98 #火山引擎侧VPN网关的出口IP rightsubnet=192.168.0.0/16#火山引擎侧VPC的网段 rightid=180.XX.XX.98 #火山引擎侧VPN网关的出口IP auto=start ike=aes-sha1-modp1024 ikelifetime=86400s esp=aes-sha1-modp1024 lifetime=86400s aggressive=yes
编辑/etc/strongswan/ipsec.secrets
配置IPsec预共享密钥,格式为:{EC2-EIP} {火山引擎VPN网关出口IP} : PSK "火山引擎IPsec连接高级配置中的预共享密钥"
。
本示例为:54.XX.XX.208 180.XX.XX.98 : PSK "******"
执行如下命令,打开系统转发配置。
echo 1 > /proc/sys/net/ipv4/ip_forward
执行如下命令,启动Strongswan。
systemctl enable strongswan systemctl start strongswan
检查服务状态,可以看到此时已经有Security Associations连接。
登录AWS平台已创建的EC2,Ping火山引擎侧VPC-01(网段:192.168.0.0/16
)中云服务器的IP192.168.2.88
,可Ping通表示已成功建立火山引擎与AWS之间的私网访问通道。