使用 L2TP
本文为您介绍 Linux 客户端如何通过 L2TP 连接到 VPC 私有网络。
前提条件
- 
客户端的私网网段与 VPC 的私网网段没有重叠。
说明 如果网络地址存在重叠,您可以将私有网络与 VPC 网络断开,再重新连接至该 VPC 网络,并重新给私有网络指定一个网络地址。
 - 
客户端能够访问互联网。
 
启用 L2TP 服务
- 
登录管理控制台,选择产品与服务 > 网络 > VPC 网络,进入 VPC 列表页面。
 - 
找到您的 VPC 网络,点击 VPC 网络名称,进入详情页。
 - 
切换至管理配置页签,然后在左侧点击 VPN 服务。
 - 
点击 L2TP 后面的打开,弹出打开 L2TP 服务对话框。
 - 
配置服务参数,点击提交。
参数 说明 账户
VPN 连接的认证用户名。
用户名中不能包含特殊字符,只能包含大小写字母或者数字,或者 “-_.”。密码
VPN 连接的认证密码。
密码至少 8 位,并包括大小写字母及数字。PSK
预共享密钥,用于验证 L2TP/IPSec 连接的 Unicode 字符串。
输入任意字符串即可。后续可修改。网络地址
VPN 网络地址。
说明 VPN 网络地址不能跟您的本地网络存在冲突。
 - 
可选:如果您需要添加多个用户,则点击添加账户继续添加。
 - 
配置完成后,点击应用修改, 更新 VPC 配置。
 - 
开启 L2TP 服务后,需要前往 VPC 网络使用的安全组规则中放行 UDP 下行 500 和 4500 端口以及 ESP 协议,以确保 VPN 端口流量可以通过,否则从外网无法接入您的 VPN 服务。
 
配置 L2TP 客户端
Linux 客户端
以下操作以 Ubuntu 系统为例进行描述,其他 Linux 分发版操作方法类似。
配置 L2TP 客户端分为 L2TP、IPsec 两个部分。如果您想使用 IPsec 加密,请务必先完成 IPsec 部分的配置。
IPsec 配置
- 
安装依赖包。
sudo apt-get install openswan - 
修改
/etc/ipsec.conf配置。version 2.0 config setup protostack=netkey nat_traversal=yes keep_alive=60 virtual_private= oe=off conn %default rekey=yes authby=secret auto=start type=tunnel keyexchange=ike phase2=esp pfs=yes dpddelay=15 dpdtimeout=60 dpdaction=restart conn <l2tp_name> authby=secret type=transport pfs=no auto=start left=%defaultroute leftprotoport=17/1701 right=<l2tp_server_ip> rightprotoport=17/1701说明 请将配置文件中的
<xxx>替换成您的配置:- 
<l2tp_server_ip>:VPC 网络的公网 IP。 - 
<l2tp_name>:IPsec 连接名(自定义)。 
 - 
 - 
修改
/etc/ipsec.secrets配置。%any <l2tp_server_ip>: PSK "<psk>"说明 请将配置文件中的
<xxx>替换成您的配置:- 
<l2tp_server_ip>:VPC 网络的公网 IP。 - 
<psk>:您配置的预共享密钥。 
 - 
 - 
重启服务。
sudo service ipsec restart - 
检查连接是否正常建立。
ipsec auto status 
L2TP 配置
- 
安装依赖包。
sudo apt-get install xl2tpd ppp - 
修改
/etc/xl2tpd/xl2tpd.conf配置。[lac <lac_name>] lns = <l2tp_server_ip> refuse chap = yes refuse pap = yes require authentication = yes length bit = yes pppoptfile = /etc/ppp/<l2tp_name>说明 请将配置文件中的
<xxx>换成您的配置:- 
<lac_name>:lac 命名(自定义)。 - 
<l2tp_server_ip>:VPC 网络的公网 IP。 - 
<l2tp_name>:ppp 配置的文件名(自定义)。 
 - 
 - 
新建
/etc/ppp/<l2tp_name>配置文件,配置如下内容。+chap lock refuse-eap require-chap require-mschap require-mschap-v2 noauth noccp nodefaultroute proxyarp name "<user_name>" password "<password>"说明 请将配置文件中的
<xxx>部分替换成您的配置:- 
<user_name>:VPN 连接用户名。 - 
<password>:VPN 连接密码。 
 - 
 - 
重启服务。
sudo service xl2tpd restart - 
建立连接。
sudo echo "c <lac_name>" > /var/run/xl2tpd/l2tp-control说明 - 
请将
<lac_name>替换成您的实际命名。 - 
关闭连接使用:
sudo echo “d <lac_name>” > /var/run/xl2tpd/l2tp-control。 
 - 
 - 
添加路由。
sudo ip route add <ip_network> dev <link_name>说明 请将配置中的
<xxx>替换成您的配置:- 
<ip_network>:VPC 下的私有网络地址段。 - 
<link_name>:ppp 连接的网卡接口名字,通常以 ppp 开头。 
 - 
 
iOS 客户端
以下操作以 iOS 15 版本为例介绍如何连接 VPN,其他版本操作方法类似。
- 
进入手机设置界面,选择通用 > VPN与设置管理。
 - 
点击 VPN > 添加 VPN 配置,进入添加配置界面。
 - 
配置连接参数。
- 
类型:选择 L2TP。
 - 
描述:自定义 VPN 连接名称。
 - 
服务器:VPN服务器。输入 VPC 网络公网 IP。
 - 
帐户:VPC L2TP 服务中创建的用户。
 - 
RSA SecurID:保持默认不开启即可。
 - 
密码:VPC L2TP 服务中设置的用户密码。
 - 
密钥:VPC L2TP 服务中设置的 PSK。
 
 - 
 - 
点击完成。此时 VPN 连接状态显示为
未连接。 - 
点击控制按钮,进行连接。连接成功后,显示
已连接。