AWS使用OpenSwan对接华为USG防火墙配置指南

AWS使用OpenSwan对接华为USG防火墙配置指南


一、场景拓扑


二、AWS VPC配置

  VPC中需要添加数据中心的内网IP路由,

1.配置 VPC 基础环境

1.1 创建 VPC

在AWS console界面点击VPC,在左侧点击“您的VPC”, 创建VPC

名称标签: MyVPC

CIDR块: 172.168.0.0/16

租赁:默认


1.2 创建子网

将鼠标点到子网,选择创建子网

标签名称:Public

VPC:选择第一步创建好的VPC

可用区:保持默认

CIDR块:172.168.1.0/24

以同样的方法创建一个172.168.2.0/24的子网


1.3 创建路由表

点击路由表,创建路由表

名称标签:PrivateRoute

VPC:选择1.1创建好的VPC


创建完成以后,点到刚刚创建好的路由表,在页面下列点击子网关联,点击编辑

在172.168.2.0/24的路由前打勾,点击保存。


1.4 创建 IGW

点击Internet网关,创建Internet网关

名称标签:MyIGW


创建完成,点击附加到VPC

选择新创建好的VPC


2. 启动并配置 VPN 实例

2.1 启动实例

到EC2页面,点击启动实例。选择Amazon Linux

在详细信息页中,网络请选择新创建的VPC

子网选择172.168.1.0/24

点击下一步,存储标签等按需配置


配置安全组,选择创建一个新的安全组

添加规则

自定义的UDP规则,端口500 来源任何位置

自定义的UDP规则,端口4500 来源任何位置

自定义协议, 协议 50 来源任何位置

所有流量 来源为 172.168.2.0/24


注意:一定要放行来自于172.168.2.0/24的流量,否则无法通信。

最后审核启动,启动时指定一个用于登陆实例的key文件,如果没有创建一个新的。

2.2 配置弹性 IP (EIP)

在EC2页面,左侧导航栏找到弹性IP,申请分配新地址,并将其关联到新创建的OpenSwan实例。这里申请到的为 54.223.152.218。

2.3 关闭源/目的检查


在EC2页面点击OpenSwan实例,右键选择联网,更改源/目标检查,点“是,请禁用”

三. 安装配置 OpenSwan

3.1 登录到实例安装 OpenSwan

如何登陆实例请参考如下文档:

https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/putty.html

登陆完成以后,运行如下命令安装OpenSwan

$ sudo yum -y install openswan

3.2 配置OpenSwan参数

Vim /etc/ipsec.conf

version 2.0 # conforms to second version of ipsec.conf specification


# basic configuration

config setup

 # Debug-logging controls: "none" for (almost) none, "all" for lots.

 # klipsdebug=none

 # plutodebug="control parsing"

 # For Red Hat Enterprise Linux and Fedora, leave protostack=netkey

 plutostderrlog=/var/log/ipsec.log[书轩1] 

 protostack=netkey

 nat_traversal=yes

 virtual_private=

 oe=off

 # Enable this if you see "failed to find any available worker"

 # nhelpers=0


#You may put your configuration (.conf) file in the "/etc/ipsec.d/" and uncomment this.

#include /etc/ipsec.d/*.conf[书轩2] 


conn huawei

type=tunnel

authby=secret

auto=start

##IKE##

ike=3des-sha1;modp1024[书轩3]  //IKE参数第一次加密算法

keyexchange=ike //预设密钥


##IPsec##

 phase2=esp[书轩4]  //IPSes参数第二次认证算法

phase2alg=3des-sha1[书轩5] 

 pfs=no[书轩6] 

aggrmode=no

 ikelifetime=86400s[书轩7] 

 salifetime=10000s[书轩8] 

forceencaps=yes

dpdaction=restart

left=%defaultroute

leftnexthop=%defaultroute

leftsubnet=172.168.2.0/24  //本地私有子网

leftid=52.80.152.79 //本地外网弹性IP

leftsourceip=52.80.152.79 //本地外网弹性IP

rightsubnets=192.168.30.0/24 //对端私有子网

right=221.226.100.202 //对端外网IP

rightid=221.226.100.202  //对端外网IP


3.3 配置预设密钥

Vi /etc/ipsec.secrets

#include /etc/ipsec.d/*.secrets[书轩9] 

52.80.152.79 221.226.100.202: PSK "aws@123[书轩10] " //预设密钥



3.4启动openswan服务并做配置检查

$ sudo service ipsec start

$ sudo ipsec verify

3.5 修改系统参数

更改系统参数做IP转发并关闭重定向功能

编辑/etc/sysctl.conf内核配置文件,做如下修改

$ vim /etc/sysctl.conf

net.ipv4.ip_forward = 1 //开启路由转发功能*

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.eth0.send_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.eth0.accept_redirects = 0

配置完成以后,启用新的配置

$ sudo sysctl –p

3.6 更改 OpenSwan 的网卡 MSS 值

$ sudo iptables -t mangle -A FORWARD -o eth0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1387

3.7 修改 VPC 私有子网路由表

找到VPC Console页面,在左侧点路由表,找到172.168.2.0/24关联的路由表(1.3中创建), 在页面下方点击路由,编辑

添加其他路由,

目标: 192.168.30.0/24

目标:OpenSwan实例ID (i-xxxxx)


四、华为防火墙配置

4.1添加ipsec参数

网络——IPsec——Ipsec,点击新建。添加对端地址,本地外网地址,对端外网地址。与感兴趣流(AWS内网地址)。


4.2设置加密算法

参照OpenSwan配置参数选择算法类型


4.3添加AWS子网路由

网络——路由——静态路由表


4.4 可选:多出口路由设置

如果数据中心的外网涉及多个公网出口,需要设置策略路由,已是数据中心内网IP与AWS内网IP走IPsec连接出口。

网络——路由——智能选路——策略路由


4.5 设置访问AWS流量为免NAT

因为访问AWS的感兴趣流的源IP为192.168.30.0 目的地址为:172.168.2.0 需要联通需要走IPsec通道,所以流量不可以被NAT。

感兴趣流:

免NAT设置:

策略——NAT策略——源NAT——新建。(注:防火墙策略为从上到下匹配,所以需要注意位置)


4.6 配置安全策略

 因为防火墙默认是所以区域全部禁止访问,所以需要新建策略允许访问。注意策略的位置,从上到下的匹配原则。

策略——安全策略——安全策略

1)设置密钥端口放行:


2)设置公司内网到AWS内网的源地址允许



3)设置AWS内网到公司内网的源地址允许


4)设置本地外网地址到AWS外网弹性IP地址的允许


5)设置AWS外网弹性IP的地址到公司外网地址允许


五、测试连通性

Openswan侧测试:

以上步骤都完成以后,就可以在172.168.2.0网段的实例进行测试了。使用 ping 测试到 192.168.30.0 private 私有地址段的一个地址。

ping 192.168.30.36

检查 IPsec tunnel 状态:

$ sudo service ipsec status

IPsec running - pluto pid: 25674

pluto pid 25674

1 tunnels up[书轩11] 

some eroutes exist


防火墙侧测试:



[书轩1]设置Ipsec对接日志

[书轩2]注释ipsec配置文件查找的文件位置

[书轩3]加密算法-认证算法;DH组(除以512)

[书轩4]安全协议

[书轩5]ESP加密算法-ESP认证算法

[书轩6]PFS功能

[书轩7]IKE参数 SA超时时间

[书轩8]IPSec参数 的SA超时时间

[书轩9]注释到ipsec.d文件夹寻找密钥文件

[书轩10]华为预设密钥要加特殊字符

[书轩11]通道建立成功

你可能感兴趣的:(AWS使用OpenSwan对接华为USG防火墙配置指南)