在企业网络、远程办公或跨地域访问内部资源时,使用虚拟专用网络(VPN)已成为标配,L2TP/IPsec 是一种广泛支持的协议组合,尤其适合在 Linux 系统上构建安全、稳定的远程连接,本文将详细介绍如何在 Ubuntu 16.04(当前已进入 EOL,但仍有大量用户仍在使用)系统中配置 L2TP/IPsec 类型的客户端,确保你能够顺利接入企业或第三方提供的 L2TP 服务。

确认你的 Ubuntu 系统已更新至最新补丁版本,运行以下命令:

sudo apt update && sudo apt upgrade -y

安装必要的软件包,Ubuntu 16.04 默认不自带 L2TP/IPsec 客户端工具,需手动安装:

sudo apt install strongswan xl2tpd network-manager-strongswan -y

strongswan 提供 IPsec 加密和认证功能,xl2tpd 负责 L2TP 隧道建立,network-manager-strongswan 则让 GUI 用户能通过图形界面轻松管理连接。

完成安装后,编辑 StrongSwan 的主配置文件 /etc/ipsec.conf,添加如下内容:

config setup
    charondebug="ike 1, knl 1, cfg 1"
    uniqueids=no
conn %default
    ikelifetime=60m
    keylife=20m
    rekeymargin=3m
    keyingtries=1
    keyexchange=ikev1
    left=%defaultroute
    right=%any
    auto=add
conn l2tp-vpn
    type=transport
    leftid=@your_server_name_or_ip
    right=your.vpn.server.ip.address
    rightsubnet=0.0.0.0/0
    authby=secret
    ike=aes128-sha1-modp1024!
    esp=aes128-sha1!
    dpdaction=clear
    dpddelay=30s
    compress=yes

注意替换 your.vpn.server.ip.addressleftid 为你实际的服务器地址与标识符,如果服务器使用预共享密钥(PSK),还需编辑 /etc/ipsec.secrets 文件,添加一行:

%any %any : PSK "your_pre_shared_key_here"

保存后设置权限:

sudo chmod 600 /etc/ipsec.secrets

接下来配置 xl2tpd,编辑 /etc/xl2tpd/xl2tpd.conf

[global]
port = 1701
[lns default]
ip range = 192.168.100.10-192.168.100.20
local ip = 192.168.100.1
require chap = yes
refuse pap = yes
require authentication = yes
name = ubuntu-client
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

创建 PPP 选项文件 /etc/ppp/options.xl2tpd

ms-dns 8.8.8.8
ms-dns 8.8.4.4
noauth
 refuse-pap
 refuse-chap
 refuse-mschap
 refuse-mschap-v2
 require-mppe-128

重启服务并启动连接:

sudo systemctl restart strongswan
sudo systemctl restart xl2tpd
sudo ipsec up l2tp-vpn

此时你可以通过 NetworkManager 图形界面或命令行方式连接,若一切正常,即可实现安全、加密的远程访问,建议定期检查日志(journalctl -u strongswan)以排查问题,尤其注意证书、IPsec 密钥和防火墙规则是否正确配置,此方法适用于大多数主流 L2TP/IPsec 服务提供商,如 Cisco AnyConnect、华为云、OpenVPN Server(若支持 L2TP 模式)等。

Ubuntu 16.04 系统下配置 L2TP/IPsec VPN 客户端的完整指南  第1张

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