我的点对点隧道协议VPN 在 Windows 和 Android 上均可正常运行。在 Android 和 Windows 上,无需进行任何特定配置,只需检查PPP加密(MPPE)。
但是在 Ubuntu 20.04 上,一段时间后它会随机断开连接。
答案1
我在这里找到了答案:Ubuntu 14 pptp客户端频繁断开连接。
我必须在客户端上使用。
sudo ifconfig wlp3s0 mtu 1400
sudo ifconfig ppp0 mtu 1300
可以通过阅读系统日志错误来调查此问题:
pouria@pouria-pc:~$ cat /var/log/syslog | grep pptp | grep long
May 31 09:36:11 pouria-pc pptp[18156]: nm-pptp-service-18147 warn[decaps_gre:pptp_gre.c:352]: short read (-1): Message too long
May 31 09:47:14 pouria-pc pptp[18617]: nm-pptp-service-18609 warn[decaps_gre:pptp_gre.c:352]: short read (-1): Message too long
May 31 09:57:18 pouria-pc pptp[19439]: nm-pptp-service-19430 warn[decaps_gre:pptp_gre.c:352]: short read (-1): Message too long
May 31 10:07:21 pouria-pc pptp[20790]: nm-pptp-service-20781 warn[decaps_gre:pptp_gre.c:352]: short read (-1): Message too long
May 31 10:17:57 pouria-pc pptp[21003]: nm-pptp-service-20994 warn[decaps_gre:pptp_gre.c:352]: short read (-1): Message too long
May 31 11:16:36 pouria-pc pptp[23730]: nm-pptp-service-23718 warn[decaps_gre:pptp_gre.c:352]: short read (-1): Message too long
通过设置,mtu
我们告诉wlan
使用较小的消息。
我想知道为什么其他操作系统的用户不必配置他们的 WLAN 消息大小即可使用最简单的 VPN 形式。
更新
永久地做到这一点
wlan0...
通过查找您设备的接口名称ifconfig
。
/etc/network/if-up.d/ppp
创建包含以下内容的文件:
#! /bin/bash
sudo ifconfig wlp0s20f3 mtu 1400
sudo ifconfig ppp0 mtu 1300
使用chmod +x /etc/network/if-up.d/ppp
它使其可执行。它在每次连接和断开连接时运行。
答案2
我使用你的答案,并回答它来解决有关的问题永久设置 MTU:
我们编写脚本并/etc/network/if-up.d/
调用它set-pptp.sh
,每当链接尝试启动时,都会调用此脚本。
现在我们在这个文件中插入以下行:
[我们正在检查当前尝试启动的接口,如果是 VPN,我们将其 MTU 设置为 1300,如果不是,我们将其 MTU 设置为 1400]
#!/bin/sh
if [ "$IFACE" = "ppp0" ]; then
ifconfig ppp0 mtu 1300
fi
if [ "$IFACE" = "wlp3s0" ]; then
ifconfig wlp3s0 mtu 1400
fi
现在我们需要使其可执行:
$ sudo chmod 755 /etc/network/if-up.d/set-pptp.sh
最后一步(重要):
如果您正在使用图形网络管理器(KDE、Gnome 等),您也需要执行以下操作:
打开此文件:/etc/NetworkManager/dispatcher.d/01-ifupdown
,在我的电脑里它的名字是01-ifupdown,也许在你的电脑里它有其他名字,打开它。
找到包含如下内容的行:
if [ "$2" = "vpn-up" ] || [ "$2" = "vpn-down" ]; then
将其更改为:
if [ "$2" = "vpn-up" ] || [ "$2" = "vpn-down" ]; then
ifconfig ppp0 mtu 1300
ADDRESS_FAMILIES=""
fi
完成,您现在拥有永久的 MTU 设置。