在Ubuntu系统中搭建IPSec VPN:从配置到实战的完整指南

随着远程办公和分布式团队的普及,安全可靠的虚拟私有网络(VPN)已成为企业与个人用户不可或缺的基础设施,IPSec(Internet Protocol Security)作为业界标准的网络安全协议,能够为数据传输提供加密、完整性验证和身份认证等核心功能,本文将详细介绍如何在Ubuntu操作系统上部署和配置IPSec VPN,涵盖安装、配置文件编写、防火墙设置以及连接测试等关键步骤,帮助你快速搭建一个稳定、安全的IPSec隧道。

确保你的Ubuntu服务器或桌面环境已更新至最新版本,并拥有root权限,推荐使用Ubuntu 20.04 LTS或更高版本,以获得更好的兼容性和安全性支持,我们采用StrongSwan这一开源IPSec实现方案,它功能强大且社区活跃,是生产环境中常用的工具。

第一步是安装StrongSwan,执行以下命令:

sudo apt update
sudo apt install strongswan strongswan-pki libstrongswan-standard-plugins

第二步,配置IPSec主配置文件 /etc/ipsec.conf,该文件定义了全局参数和连接策略,示例内容如下:

config setup
    charondebug="ike 1, knl 1, cfg 1"
    uniqueids=yes
conn %default
    ikelifetime=60m
    keylife=20m
    rekeymargin=3m
    keyingtries=1
    keyexchange=ikev2
    ike=aes256-sha256-modp2048!
    esp=aes256-sha256!
conn my-vpn
    left=YOUR_SERVER_PUBLIC_IP
    leftid=@server.example.com
    leftcert=server-cert.pem
    leftsendcert=always
    right=%any
    rightid=%any
    auto=add

第三步,生成证书(若使用证书认证),StrongSwan内置PKI工具可自动管理证书:

ipsec pki --gen --outform pem > ca-key.pem
ipsec pki --self --in ca-key.pem --dn "CN=CA" --ca --outform pem > ca-cert.pem
ipsec pki --gen --outform pem > server-key.pem
ipsec pki --pub --in server-key.pem | ipsec pki --issue --ca ca-cert.pem --lifetime 3650 --dn "CN=server.example.com" --outform pem > server-cert.pem

第四步,配置用户认证信息,编辑 /etc/ipsec.secrets 文件,添加预共享密钥(PSK)或证书私钥:

 RSA server-key.pem%any %any : PSK "your_pre_shared_key_here"

第五步,启用并启动服务:

sudo systemctl enable strongswan
sudo systemctl start strongswan
sudo ipsec restart

第六步,配置防火墙,Ubuntu默认使用UFW,需允许IPSec相关端口:

sudo ufw allow 500/udp
sudo ufw allow 4500/udp
sudo ufw allow 1701/tcp  # 若使用L2TP/IPSec

测试连接,在客户端(如Windows、Android或另一台Ubuntu)上配置IPSec连接,输入服务器IP、预共享密钥(或证书),并尝试建立隧道,可通过 ipsec status 查看当前状态,确认隧道是否处于“established”状态。

通过以上步骤,你已在Ubuntu系统上成功部署了一个IPSec VPN服务,可用于远程访问内网资源、保障数据传输安全,建议定期备份配置文件和证书,并根据实际需求调整加密套件与生命周期参数,以兼顾性能与安全性。

或者使用PSK  第1张

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN