我有大量相同的无风扇 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就顺利进行了。