【笔记】iKuai部署L2TP服务实现内网穿透
前言
iKuai部署L2TP服务,通过VPN虚拟专有网络,实现内网穿透,在公网也可访问内网资源
准备工作
- 已经部署了DDNS动态域名解析,可以通过域名从公网正常访问iKuai
iKuai部署服务端
开启L2TP服务端
认证计费->本地认证服务->L2TP服务端->开启并配置相关参数->保存
如果需要使用13以上版本的MacOS作为客户端,务必要配置预共享密钥,因为虽然iKuai的配置中预共享密钥是可选,但是MacOS中的预共享密钥是必填的,如果MacOS中不填写预共享密钥则配置将无法保存

添加认证账号
认证计费->认证账号管理->账号管理->添加

- 设定一个账户名和密码,
认证类型设置为不限或者L2TP,套餐类型改为自定义,其他的选项保持默认即可->保存

端口映射到公网
网络->端口映射->端口映射->添加->将UDP协议的1701端口、500端口、4500端口映射到公网

客户端连接服务端
Windows
创建配置
- 右键
开始菜单->设置->网络和Internet

VPN->添加VPN连接

VPN提供商定义为Windows(内置)->指定配置名称、服务器地址->VPN类型定义为使用预共享密钥的L2TP/IPsec->指定预共享密钥->登录信息的类型定义为用户名和密码

- 指定用户名、密码->
保存

修改注册表(可选)
- 如果无法连接并报错,需要修改注册表

- 打开
注册表编辑器->HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent新建DWord值AssumeUDPEncapsulationContextOnSendRule数据为2

- 重启系统
开启VPN开关
连接


MacOS
创建配置
网络->...->添加VPN配置->L2TP/IPSec

- 指定服务器地址、账户名称、密码、共享密钥->
创建

修改系统配置文件(可选)
- 如果服务器只开放了L2TP的
1701端口,而没有开放IPSec的500端口和4500端口,则需要添加以下配置才可以正常连接 - 如果服务器同时开放了L2TP的
1701端口、IPSec的500端口和4500端口,则无需以下配置
原因是MacOS的VPN客户端是L2TP/IPSec协议,所以需要同时开放L2TP的1701端口、IPSec的500端口和4500端口
1 | sudo vim /etc/ppp/options |
1 | plugin L2TP.ppp |
开启VPN开关
网络->VPN与过滤条件

- 打开开关

Android
创建配置
设置->其他网络与配置->VPN->添加VPN网络->类型选择L2TP/IPSec PSK->指定配置名称、服务器地址、用户名、密码、IPSec预共享密钥->完成

开启VPN开关

IOS
创建配置
设置->通用->VPN与设备管理->VPN->添加VPN配置->类型选择L2TP->指定配置名称、服务器、账户、密码、密钥->完成

开启VPN开关

完成
- 截图纪念
