在阿里云CentOS 7环境中搭建IPsec/L2TP VPN服务的完整指南

随着企业数字化转型的加速,远程办公已成为常态,阿里云作为国内主流云服务商,为用户提供稳定可靠的计算资源,而CentOS 7因其长期支持(EOL至2024年)仍被广泛用于生产环境,本文将详细介绍如何在阿里云ECS实例上基于CentOS 7操作系统部署IPsec/L2TP类型的VPN服务,实现安全、稳定的远程访问内网资源。

准备工作至关重要,确保您已购买阿里云ECS实例(推荐使用CentOS 7.9或更高版本),并配置了公网IP地址,登录ECS后,执行以下基础命令更新系统:

sudo yum update -y

接着安装必要的软件包,包括IPsec相关的strongSwan和L2TP所需的xl2tpd:

sudo yum install -y strongswan xl2tpd

完成安装后,进入核心配置阶段,编辑strongSwan主配置文件 /etc/strongswan.conf,启用IPsec和L2TP协议支持:

charon {
    load_modular = yes
    plugins {
        attr {
            # 启用属性插件用于用户认证
        }
    }
}

接下来配置IPsec策略,修改 /etc/ipsec.conf 文件,添加如下内容:

config setup
    charondebug="ike 1, knl 1, cfg 1"
    uniqueids=yes
conn L2TP-PSK-NAT
    right=%any
    rightsubnet=192.168.0.0/24
    left=%defaultroute
    leftid=@your-vpn-server.com
    leftcert=server-cert.pem
    rightauth=pubkey
    rightauth2=xauth
    auto=add
    type=transport
    keylife=1h
    rekey=no
    ike=aes256-sha2_512-modp2048!
    esp=aes256-sha2_512!

leftid 应替换为您实际的域名或公网IP地址,rightsubnet 是您希望远程用户能访问的内网网段(如您的VPC子网),注意:若服务器位于NAT环境(如阿里云默认网络),需启用NAT穿透功能。

随后配置L2TP服务,编辑 /etc/xl2tpd/xl2tpd.conf

[global]
ip range = 192.168.100.100-192.168.100.200
local ip = 192.168.100.1
require chap = yes
refuse pap = yes
require authentication = yes
name = l2tpd
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd

创建PPP选项文件 /etc/ppp/options.l2tpd,定义身份验证和网络参数:

lock
noauth
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
ms-dns 8.8.8.8
ms-dns 8.8.4.4
asyncmap 0
auth
crtscts
lock
modem
speed 115200
mtu 1400
mru 1400
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4

配置用户账号,在 /etc/ppp/chap-secrets 中添加用户名密码:


完成配置后,启动服务并设置开机自启:

sudo systemctl enable strongswan xl2tpd
sudo systemctl start strongswan xl2tpd

还需开放阿里云安全组端口:UDP 500(IKE)、UDP 4500(NAT-T)、UDP 1701(L2TP),以允许外部连接。

至此,您已在阿里云CentOS 7实例上成功搭建了IPsec/L2TP VPN服务,客户端可通过Windows自带“连接到工作场所”或第三方工具(如iOS的L2TP客户端)连接,输入服务器IP、用户名和密码即可接入内网,此方案适用于中小型企业远程办公需求,兼顾安全性与易用性,建议定期备份配置文件,并监控日志以排查异常连接。

Secrets for authentication using CHAP  第1张

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