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
上一篇下一篇

猜你喜欢

热点阅读