[L2TP] 在Linux上搭建L2TP服务器 & Windows连接L2TP失败的解决方法

420 字
2 分钟
[L2TP] 在Linux上搭建L2TP服务器 & Windows连接L2TP失败的解决方法
[L2TP] 在Linux上搭建L2TP服务器 & Windows连接L2TP失败的解决方法

记一次困扰了我两天的瞎折腾。 Pic from: (C91) [予備学科 (米白粕)] ふりふりりぼん


安装 L2TP 服务器#

  • 如果是Ubuntu或者Debian
Terminal window
wget https://git.io/vpnsetup -O vpnsetup.sh
  • 如果是CentOS或者RHEL
Terminal window
wget https://git.io/vpnsetup-centos -O vpnsetup.sh

接着编辑vpnsetup.sh文件

Terminal window
nano -w vpnsetup.sh

往脚本开头的YOUR_IPSEC_PSK,YOUR_USERNAME,YOUR_PASSWORD后面的反引号中分别填入你想要的 IPsec密匙、VPN用户名、VPN密码。 然后运行脚本

Terminal window
sudo sh vpnsetup.sh

然后你只要耐心等待脚本执行完毕就可以了。

解决Windows无法连接L2TP的问题#

如果你是首次连接L2TP,应该会出现这样的错误:

无法建立计算机与 VPN 服务器之间的网络连接,因为远程服务器未响应。

要解决此错误,在首次连接之前需要修改一次注册表,以解决 VPN服务器 和/或 客户端与 NAT(比如家用路由器) 的兼容问题。 你有两种方法来操作。

方法1#

首先打开注册表编辑器,然后在下述位置新建 DWORD 值:

对于 Windows Vista, 7, 8, 10, 2008 Server#

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent 名称: AssumeUDPEncapsulationContextOnSendRule 类型: DWORD 值: 2

对于叉屁#

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec 名称: AssumeUDPEncapsulationContextOnSendRule 类型: DWORD 值: 2

方法2#

以管理员权限打开命令提示符,然后键入以下命令并执行:

对于 Windows Vista, 7, 8, 10, 2008 Server#
Terminal window
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f
对于叉屁#
Terminal window
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\IPSec /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f

然后呢?#

然后重启!然后重启!然后重启! 之后应该就能正常连接了。

emmm我还是有些无法解决的问题怎么办?#

看看脚本作者写的很详细的常见问题排查

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

[L2TP] 在Linux上搭建L2TP服务器 & Windows连接L2TP失败的解决方法
https://moe.best/posts/linux-l2tp/
作者
神代綺凛
发布于
2017-09-06
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
神代綺凛
专业咕咕
分类
标签
站点统计
文章
107
分类
15
标签
269
总字数
140,468
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
EdgeOne Pages
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录