PPTP VPN 通过 NM 连接,但在 SSH 连接期间关闭

And*_*ato 5 network-manager vpn networking pptp

我通过网络管理器设置了一个 VPN PPTP 连接并且它连接正确(我看到通知图标附近的锁和消息“Vpn 连接已成功...”)

一旦我尝试通过已建立的隧道执行任何 SSH 连接,连接本身就会断开并显示“Vpn 连接失败”消息。

SSH 连接总是失败

debug1: SSH2_MSG_KEXINIT sent
Run Code Online (Sandbox Code Playgroud)

我查看了系统日志,这是日志

Dec 12 12:25:00 ushuaia NetworkManager[1155]: <info> Starting VPN service 'pptp'...
Dec 12 12:25:00 ushuaia NetworkManager[1155]: <info> VPN service 'pptp' started (org.freedesktop.NetworkManager.pptp), PID 7093
Dec 12 12:25:00 ushuaia NetworkManager[1155]: <info> VPN service 'pptp' appeared; activating connections
Dec 12 12:25:00 ushuaia NetworkManager[1155]: <info> VPN plugin state changed: init (1)
Dec 12 12:25:00 ushuaia NetworkManager[1155]: <info> VPN plugin state changed: starting (3)
Dec 12 12:25:00 ushuaia NetworkManager[1155]: <info> VPN connection 'Redation' (Connect) reply received.
Dec 12 12:25:05 ushuaia NetworkManager[1155]: <info> VPN connection 'Redation' (IP4 Config Get) reply received from old-style plugin.
Dec 12 12:25:05 ushuaia NetworkManager[1155]: <info> VPN Gateway: 5.98.141.210
Dec 12 12:25:06 ushuaia NetworkManager[1155]: <info> VPN connection 'Redation' (IP Config Get) complete.
Dec 12 12:25:06 ushuaia NetworkManager[1155]: <info> VPN plugin state changed: started (4)
Dec 12 12:25:14 ushuaia NetworkManager[1155]: <info> VPN plugin state changed: stopping (5)
Dec 12 12:25:14 ushuaia NetworkManager[1155]: <info> VPN plugin state changed: stopped (6)
Dec 12 12:25:14 ushuaia NetworkManager[1155]: <info> VPN plugin state change reason: 0
Dec 12 12:25:15 ushuaia NetworkManager[1155]: <warn> error disconnecting VPN: Could not process the request because no VPN connection was active.
Dec 12 12:25:20 ushuaia NetworkManager[1155]: <info> VPN service 'pptp' disappeared
Run Code Online (Sandbox Code Playgroud)

请注意,我的同事在 Windows 7 上配置了相同的 vpn,并且当他们使用腻子通过 SSH 连接时没有问题

cot*_*eyr 5

出现此类问题的最常见原因与路由器硬件有关,与您的连接无关。

我以前见过这个问题,当使用 Cisco 路由器并将其配置为使用最大 MTU 1500,并且使用 VPN 集中器并将客户端 MTU 设置设置为 1500 时。您的计算机向 vpn 集中器发送一个数据包1500 位,但它自身的 vpn 隧道增加了开销(如果内存可用,大约为 37 位),这使得总大小为 1537,无法通过路由器。这是一个格式错误的数据包,路由器会丢弃它。

Windows 机器连接的原因是因为它忽略了集中器将数据包大小设置为 1500 的“建议”,而只是使用它想要的。

测试:

为了确保这是问题所在,请尝试在没有 ssh 的情况下通过 vpn 发送一个大文件(大约 1 兆)。这会将任何 ssh 问题与较低层问题隔离开来。如果您遇到相同的断开连接,则可能是 MTU 问题。

修复:

正确的解决方法是让网络管理员修复 vpn 集中器,设置一个低于路由器的 MTU。或者修复路由器...

从您这边,您可以将 vpn MTU 大小调整为 1400,一切都会正常工作。有几种方法可以做到这一点,但这个页面应该给你一个良好的开端。