CentOS7上使用strongSwan搭建IPsec __VP
2021-07-26 本文已影响0人
彩色的炮灰
使用产品环境
公司使用电信私有云服务,服务器在电信私有云平台,不支持vpn产品,需要自行搭建vpn站点,公司内部使用华为usg防火墙做为vpn网关。为解决公司到云平台网络互通,故决定使用ipsec搭建站点到站点vpn隧道。
准备工作:
服务器公网IP要作为我们的网关,需要将服务器开启转发:
1、在 vim /etc/sysctl.conf 下
加入此行 net.ipv4.ip_forward = 1
2.配置nat转发
利用iptables 实现nat MASQUERADE 共享上网
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
正式部署:
1、安装strongSwan,可以使用源码安装,但此次我们主要针对配置相关讲解,故使用yum安装
# yum install -y strongswan
2、查看strongSwan版本,命令和结果如下:
[root@ecs-e50ota-0001 ~]# strongswan version
Linux strongSwan U5.7.2/K3.10.0-1160.36.2.el7.x86_64
University of Applied Sciences Rapperswil, Switzerland
See 'strongswan --copyright' for copyright information.
3、安装完成先配置ipsec.conf文件。
# vim /etc/strongswan/ipsec.conf
以下是真实的配置文件:
# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
config setup
# strictcrlpolicy=yes
# uniqueids = no
charondebug = "all"
conn %default
ikelifetime=1440m
keylife=60m
rekeymargin=3m
keyingtries=0
keyexchange=ikev1 #ike版本
authby=secret
conn sirun
left=%defaultroute
leftid=140.143.120.162 #本地端服务器公网IP(网关公网IP)
leftsubnet=10.0.0.0/24 #本地端私有网络地址
right=115.159.144.75 #对端网关公网IP
rightsubnet=192.168.8.0/21 #对端私有网络地址
auto=start #进程主动时立即建立 IPsec 安全连接
type=tunnel
ike=3des-md5-modp1024
esp=3des-md5
leftauth=psk
rightauth=psk
keyexchange=ikev1
ikelifetime=1h
lifetime=8h
4、配置ipsec.secrets文件。
# vi /etc/strongswan/ipsec.secrets
配置文件如下:PSK需要是大写,冒号前后需要有空格,密码需要有双引号
#本地公网出口IP #对端公网出口IP #双方约定的秘钥
140.143.120.162 115.159.144.75 : PSK "123456"
5、配置 sysctl.conf文件
# vim /etc/sysctl.conf
配置文件如下:
#配置转发,默认是0
net.ipv4.ip_forward = 1
#关闭重定向,防止恶意用户可以使用IP重定向来修改远程主机中的路由表
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
使配置生效:
# sysctl -p
6、启动服务:
# strongswan start
IPSec监听在UDP的500和4500两个端口,其中500是用来IKE密钥交换协商,4500是nat穿透的。
[root@ecs-e50ota-0001 ~]# netstat -tlunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1064/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1014/master
udp 0 0 127.0.0.1:323 0.0.0.0:* 569/chronyd
udp 0 0 0.0.0.0:4500 0.0.0.0:* 2169/charon
udp 0 0 0.0.0.0:500 0.0.0.0:* 2169/charon
udp 0 0 0.0.0.0:68 0.0.0.0:* 2368/dhclient
udp 0 0 0.0.0.0:68 0.0.0.0:* 2169/charon
7、设置开机自动启动
# systemctl enable strongswan
8、运行strongswan status,查看IPsec 状态已经建立。
[root@ecs-e50ota-0001 ~]# strongswan status
Security Associations (1 up, 0 connecting):
sirun[2]: ESTABLISHED 11 minutes ago, 10.0.0.2[116.11.120.173]...103.90.179.102[103.90.179.102]
sirun{2}: INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: ccd87ceb_i eb6b8ea0_o
sirun{2}: 10.0.0.0/24 === 192.168.8.0/21
9、运行ip xfrm policy,查看路由策略。可以看到路由已建立。
[root@ecs-e50ota-0001 ~]# ip xfrm policy
src 10.0.0.0/24 dst 192.168.8.0/21
dir out priority 376959 ptype main
tmpl src 10.0.0.2 dst 103.90.179.102
proto esp spi 0xeb6b8ea0 reqid 1 mode tunnel
src 192.168.8.0/21 dst 10.0.0.0/24
dir fwd priority 376959 ptype main
tmpl src 103.90.179.102 dst 10.0.0.2
proto esp reqid 1 mode tunnel
src 192.168.8.0/21 dst 10.0.0.0/24
dir in priority 376959 ptype main
tmpl src 103.90.179.102 dst 10.0.0.2
proto esp reqid 1 mode tunnel