Debian 配置IPSec VPN

strongswan简介

StrongSwan是一个开源的IPsec实现,它提供了安全的虚拟私有网络(VPN)解决方案。IPsec(Internet Protocol Security)是一种网络协议套件,用于在Internet上提供安全的IP通信。StrongSwan实现了IPsec的核心协议,包括身份验证、密钥交换、加密和数据完整性保护等功能。
StrongSwan的主要特点包括:
    1、安全性:StrongSwan使用强大的加密算法和安全协议来保护通信数据的机密性和完整性。它支持各种加密算法,如AES、3DES和SHA等,以及各种身份验证方法,如证书、预共享密钥和用户名/密码等。
    2、灵活性:StrongSwan可以在各种操作系统和平台上运行,包括Linux、Unix、Windows和Android等。它支持多种IPsec部署模式,如站点到站点(Site-to-Site)VPN、远程访问(Remote Access)VPN和公共WiFi安全接入等。
    3、可扩展性:StrongSwan具有高度可扩展性,可以支持大规模的VPN部署。它支持动态路由协议,如OSPF和BGP,以便在大型网络中实现自动路由选择。
    4、开源和免费:StrongSwan是一个开源项目,遵循GNU通用公共许可证(GPL)的条款。这意味着用户可以自由地使用、修改和分发StrongSwan的源代码,而不需要支付任何费用。
通过配置和管理StrongSwan,用户可以建立安全的VPN连接,实现远程访问、分支机构互连和跨网络通信等应用场景。它被广泛应用于企业网络和个人用户之间的安全通信,为数据传输提供了可靠的保护。

实验拓扑图

image-20240111104546180

实验思路

    武汉公司在阿里云拥有一个专有网络VPC(Virtual Private Cloud),bj-VPC网段为192.168.20.0/24,VPC中使用云服务器ECS(Elastic Compute Service)部署了应用服务。同时该公司在本地拥有一个数据中心IDC(Internet Data Center),本地IDC网段为192.168.10.0/24。公司因业务发展,需要本地IDC与云上VPC互通,实现资源互访。该公司计划使用VPN网关产品,在本地IDC与云上VPC之间建立IPsec-VPN连接,实现云上和云下的互通

实验环境

两台Debian 12最小化系统
wh-router有两张网卡,一张网卡是内网网卡(192.168.10.1/24),一张网卡是公网网卡(10.1.1.1/24),其实这里是内网网段的,服务器有限,如果有内网客户端可以在这个配置IPSec VPN上面开启路由转发,然后两边客户端也可以访问
bj-router有两张网卡,一张网卡是内网网卡(192.168.20.1/24),一张网卡是公网网卡(10.1.1.2/24)

wh-router配置

ip a                       #查看IP地址

image-20240111111516361

安装strongswan

apt install strongswan -y                 #安装strongswan服务

编辑ipsec主配置文件

vim /etc/ipsec.conf
conn %default                         #配置ike默认参数
    ikelifetime=1440m                 #ike协议的SA生命周期
    keylife=60m                       #IPSec连接的密钥生命周期为60分钟
    rekeymargin=3m                    #3分钟过后密钥生命周期结束后重新生成密钥
    keyingtries=0                     #密钥交换期间允许最大的重试次数为0次
    keyexchange=ikev1                 #IPSec连接使用IKE协议的版本
    authby=secret                     #使用预共享密钥认证方式
    
    conn ipsecvpn                     #创建ipsecvpn
    left=10.1.1.1                     #本地网关设备的公网IP地址,如果使用本地网关的私网IP地址建立IPSec-VPN连接,则本项需配置为本地网关设备的私网IP地址
    leftid=10.1.1.1                   #本地网关设备的标识
    leftsubnet=192.168.10.0/24        #本地设备的内网网段
    right=10.1.1.2                    #远端设备的出口网关的公网IP地址
    rightsubnet=192.168.20.0/24       #远端设备的内网网段
    auto=start                        #主模式
    type=tunnel                       #隧道模式
    ike=3des-md5-modp1024             #IKE使用3des-md5-modp1024加密套件
    esp=3des-md5                      #esp使用3des-md5加密套件

image-20240111111914536

配置IPSec预共享密钥

vim /etc/ipsec.secrets

image-20240111113222928

将strongswan服务加入到开机自启中

systemctl enable strongswan-starter             #将strongswan-starter服务加入到开机自启中
systemctl restart strongswan-starter            #重启strongswan-starter服务
systemctl status strongswan-starter             #查看strongswan-starter服务启动状态

image-20240111113922149

重启ipsec

ipsec reload

image-20240111114202422

重新启动ipsec

ipsec restart

image-20240111114248181

启动ipsec

ipsec up ipsecvpn                       #这里暂时未启动,因为另一边没有配置

image-20240111114517873

bj-router配置

安装strongswan

apt install strongswan -y         #安装strongswan服务

编辑ipsec主配置文件

vim /etc/ipsec.conf
conn %default                      #配置ike默认参数
    ikelifetime=1440m              #ike协议的SA生命周期
    keylife=60m                    #IPSec连接的密钥生命周期为60分钟
    rekeymargin=3m                 #3分钟过后密钥生命周期结束后重新生成密钥
    keyingtries=0                  #密钥交换期间允许最大的重试次数为0次
    keyexchange=ikev1              #IPSec连接使用IKE协议的版本
    authby=secret                  #使用预共享密钥认证方式
    
    conn ipsecvpn                  #创建ipsecvpn
    left=10.1.1.2                  #本地网关设备的公网IP地址,如果使用本地网关的私网IP地址建立IPSec-VPN连接,则本项需配置为本地网关设备的私网IP地址
    leftid=10.1.1.2                #本地网关设备的标识
    leftsubnet=192.168.20.0/24     #本地设备的内网网段
    right=10.1.1.1                 #远端设备的出口网关的公网IP地址
    rightsubnet=192.168.10.0/24    #远端设备的内网网段
    auto=start                     #主模式
    type=tunnel                    #隧道模式
    ike=3des-md5-modp1024          #IKE使用3des-md5-modp1024加密套件
    esp=3des-md5                   #esp使用3des-md5加密套件

image-20240111124300263

配置IPSec预共享密钥

vim /etc/ipsec.secrets

image-20240111124355090

将strongswan服务加入到开机自启中

systemctl enable strongswan-starter              #将strongswan-starter服务加入到开机自启中
systemctl restart strongswan-starter             #重启strongswan-starter服务
systemctl status strongswan-starter              #查看strongswan-starter服务启动状态

image-20240111124435695

重启ipsec

ipsec reload

image-20240111124452866

重新启动ipsec

ipsec restart

image-20240111124511410

启动ipsec

ipsec up ipsecvpn                           #启动成功

image-20240111124535530

wh-router如果一直运行ipsec up ipsecvpn这个命令,就会一直检测对端是否启动ipsec,如果启动,它们自己连接成功

image-20240111124654174

验证

wh-router查看ipsec状态

ipsec statusall

image-20240111124838784

bj-router查看ipsec状态

ipsec statusall

image-20240111125252956

wh-router ping bj-router

ip a                                   #查看公网是哪一张网卡
ping -I ens36 192.168.20.1             #使用外网网卡ping对端地址或者直接使用ping 192.168.20.1,这里不需要开启转发

image-20240111125516873

bj-router ping bj-router

ip a                       #查看公网是哪一张网卡 
ping -I ens36 192.168.10.1 #使用外网网卡ping对端地址或者直接使用ping 192.168.10.1,这里不需要开启转发

  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘻嘻哥哥~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值