通过 OpenVPN 的 SSH 会话在几行后切断/锁定

通过 OpenVPN 的 SSH 会话在几行后切断/锁定

我有大量相同的无风扇 PC,运行 debian 6 (ARM)。其中大部分通过康卡斯特连接并且工作正常。有些连接到“WiMax”调制解调器并且存在通信问题。

具体来说:如果我 ssh 到其中之一并尝试像“ps -ax”这样的命令,我会返回大约 3 行,然后会话被锁定。如果我让它静置,最终它将以“会话由同行关闭”结束。

我尝试过的:

  • ssh -vvv → 无错误消息
  • ssh <user@host> 'command'→ 这有时会返回命令的完整输出。有时根本无法连接。

关于其他尝试的建议?

我发现我可以成功执行一些命令:例如按回车十几次或更多次就可以了。cd ~然后lf按原样工作df -h。我可以df成功运行多次,但是一旦我尝试具有更多输出(例如ls /etc)的东西,它就会锁定。

我尝试使用 OpenVPN 在这两台主机之间进行通信有什么区别吗?

答案1

您有以下症状最大传输单元问题:某些 TCP 连接冻结,对于给定的命令或 URL 或多或少可重复,但没有易于辨别的整体模式。一个明显的症状是,只要您不运行具有大量输出的命令,交互式 ssh 会话就可以正常工作。看无法通过 PPPoE 访问 Linux 上的选定 https 站点以获得解释。

OpenVPN 有几个与 MTU 相关的选项 - 在手册中搜索“mtu”。我没有足够的经验来确定您需要更改哪个选项。 (您甚至可以更改 Wimax 调制解调器配置中的某些内容。)最可能更改的选项是mssfix:尝试降低该值,直到解决问题。默认为1450;大约 1400 左右的值可能会解决您的问题。尝试openvpn --fragment 1200 -mssfix;如果有帮助,请增加该值,直到它开始损坏。

答案2

吉尔斯的回答是完全正确的,但还有另一个潜在的原因。

OpenVPN 2.3.0 版本中存在一个错误,该错误会在发送大块数据时断开客户端连接:https://community.openvpn.net/openvpn/ticket/263

此问题仅在使用 TCP 时发生。 UDP 完全不受影响。

答案3

我们也遇到了同样的问题,确实是MTU的问题。然而对我们来说,问题不在于 openVPN 配置,而在于 tun0 接口。

我们如何解决这个问题:首先找到经过的最大数据包大小,

ping <host> -s 1500 -M do

并减少 1500 值,直到出现某个值(对于我们来说,为 1350)。

找到正确的值后,将 tun0 接口更改为

sudo ip link set dev tun0 mtu 1350

正如塞巴斯蒂安所提议的这里。之后VPN就顺利进行了。

相关内容