在现代远程办公和跨地域访问日益普及的背景下,构建一个安全、稳定、易管理的虚拟私人网络(VPN)成为许多企业和个人用户的刚需,L2TP(Layer 2 Tunneling Protocol)结合 IPsec(Internet Protocol Security)是一种广泛使用的隧道协议组合,它既能提供数据加密又能实现用户身份认证,尤其适合在 Ubuntu 这类开源操作系统上部署,本文将详细介绍如何在 Ubuntu 20.04 或 22.04 服务器上搭建一套完整的 L2TP/IPsec VPN 服务,适用于企业内网访问、远程员工接入等典型场景。
准备工作至关重要,你需要一台运行 Ubuntu 的服务器(推荐使用云主机如阿里云、腾讯云或本地物理机),确保系统已更新至最新版本(执行 sudo apt update && sudo apt upgrade),需要配置静态公网 IP 地址,并开放必要的端口:UDP 500(IPsec IKE)、UDP 4500(IPsec NAT-T)、UDP 1701(L2TP 隧道),以及 TCP 22(SSH 管理端口),若使用防火墙(如 UFW),应运行如下命令:
sudo ufw allow 500/udp sudo ufw allow 4500/udp sudo ufw allow 1701/udp sudo ufw allow 22/tcp sudo ufw enable
接下来安装并配置 StrongSwan(IPsec 实现)和 xl2tpd(L2TP 用户空间守护进程),执行以下命令:
sudo apt install strongswan xl2tpd -y
配置 IPsec 时,编辑 /etc/ipsec.conf 文件,添加如下内容:
config setup
plutodebug=control
protostack=netkey
dumpdir=/var/run/pluto/
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
oe=no
conn %default
keylife=20m
rekeymargin=3m
keyingtries=1
keyexchange=ike
authby=secret
ike=aes256-sha256-modp2048!
esp=aes256-sha256!
conn l2tp-psk
auto=add
left=%any
leftid=@your_server_domain_or_ip
right=%any
rightsubnet=vhost:%priv
rightprotoport=1723/udp
dpddelay=30
dpdtimeout=120
dpdaction=restart
authby=secret
pfs=yes
type=transport
phase2alg=aes_gcm_16sha256
ikelifetime=60m
lifetime=60m
然后编辑 /etc/ipsec.secrets,添加预共享密钥(PSK):
%any %any : PSK "your_strong_pre_shared_key"
配置 xl2tpd 服务,编辑 /etc/xl2tpd/xl2tpd.conf:
[global]
listen-addr = your_server_public_ip
ip range = 192.168.100.100-192.168.100.200
local ip = 192.168.100.1
refuse chap = yes
refuse pap = yes
require authentication = yes
name = l2tpserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
创建 /etc/ppp/options.xl2tpd 文件用于 PPP 协议设置:
ipcp-accept-local
ipcp-accept-remote
ms-dns 8.8.8.8
ms-dns 8.8.4.4
noccp
auth
crtscts
lock
modem
debug
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
配置用户账户:编辑 /etc/ppp/chap-secrets,格式为:用户名 密码 IP地址(可选):
user1 * password1 *
重启服务使配置生效:
sudo systemctl restart strongswan sudo systemctl restart xl2tpd sudo systemctl enable strongswan xl2tpd
完成上述步骤后,客户端(Windows、iOS、Android)即可通过 L2TP/IPsec 连接你的 Ubuntu 服务器,输入服务器 IP、用户名和密码即可建立安全隧道,整个过程无需复杂依赖,适合初学者快速上手,也具备良好的扩展性和安全性,是中小企业或个人开发者构建私有网络的理想选择。

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

