1、创建 EC2
创建一台使用 Amazon Linux 2 系统的 EC2,配置 2vCPU 4GB,分配 EIP 可远程登录。
2、开启网络转发
在 EC2 更多操作下拉框下,找到网络,将这台 EC2 的 “目标地址和源地址检查” 选项设置为禁用。
3、配置安全规则组
承担路由器的 EC2 需要配置安全组,开放如下端口:
- UDP 协议,端口 500
- UDP 协议,端口 4500
- 选择
Custom Protocol
,输入ESP
,Source 填写为远端路由器地址
将此安全组应用到 EC2 上。
4、安装软件包
为这个 EC2 操作系统安装包:
yum update -y
yum install openswan -y
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.accept_redirects = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.send_redirects = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.default.send_redirects = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.eth0.send_redirects = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.default.accept_redirects = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.eth0.accept_redirects = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.rp_filter = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.default.rp_filter = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.eth0.rp_filter = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.lo.rp_filter = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.ip_vti0.rp_filter = 0" >> /etc/sysctl.conf
sysctl -p
echo "iptables -t mangle -A FORWARD -o eth0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1360" >> /etc/rc.d/rc.local
iptables -t mangle -A FORWARD -o eth0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1360
chmod +x /etc/rc.d/rc.local
-
5、创建 Libreswan 配置和认证文件。
将以下内容保存为
/etc/ipsec.d/cisco.conf
文件。conn cisco authby=secret auto=start leftid=LOCALEIP left=%defaultroute leftsubnet=10.1.0.0/16 leftnexthop=%defaultroute right=REMOTEEIP rightsubnet=192.168.0.0/16 keyingtries=%forever ike=aes128-sha1;modp1024 ikelifetime=86400s phase2alg=aes128-sha1 salifetime=3600s pfs=no
替换以上文档中:
LOCALEIP
为 AWS 云上 EC2 路由器的 EIPleftsubnet
参数为 AWS 云上 VPC 网络的 CIDRREMOTEEIP
为远端路由器公网 IPrightsubnet
参数为云下 IDC 或其他云上 VPC 的 CIDR。
修改后保存退出。
将以下内容保存为
/etc/ipsec.d/cisco.secrets
文件。LOCALEIP REMOTEEIP: PSK "aws123@@@888"
替换以上文档中:
LOCALEIP
为 AWS 云上 EC2 路由器的 EIPleftsubnet
参数为 AWS 云上 VPC 网络的 CIDR- 双引号内的是认证的密钥
替换后注意保持冒号、空格、引号的准确性。
三、启动服务
1、 启动服务
运行如下命令
systemctl enable ipsec
ipsec start
ipsec verify
所有返回信息的状态都是绿色的 OK 表示配置成功。
2、修改 AWS 一侧 VPC 的路由表
配置步骤如下:
- 进入 AWS 控制台的 VPC 模块
- 从左侧菜单找到路由表,找到要配置的 VPC 所对应的路由表,如果有多张路由表,需要分别修改
- 选中路由表,点击页面下半部分,第二个标签页 Route Table 路由表,点击 Edit Route 编辑路由按钮
- 现有路由条目不要修改,点击 Add Route 添加路由按钮增加一行新的路由
- Destation 目标填写为远端 IDC 或者其他云的 VPC 的 CIDR 网段,例如
192.168.0.0/16
,在 Targe 目标从下拉框中选择 Instance,然后从 Instance 菜单下会自动加载出来刚才配置为路由器的 EC2,选中它,点击保存路由按钮
3、修改 IDC / 其他云上路由表
此过程根据不同产品和服务有所不同,配置的目的是在增加对 AWS 上 VPC 的路由条目。本文不再描述。
4、测试
至此配置完成,分别在 AWS 云上和另一侧网络内可以发起 ping 命令测试。