当我使用 ssh 登录远程机器时,我遇到了一个非常奇怪的问题。这是场景:
ls(它有效)ls -a(它有效)ls -l(它有效)ls -al .bash_profile(它有效)ls -al(它在列出 2 个目录后失败......第三个目录本来是 .bash_profile)当我使用本地网络中另一台机器的 ssh 登录这台机器时,一切正常。
有人可以帮我调试这个问题。
更新 1:
正如丹建议的那样,我尝试使用尺寸。然而只是为了消除ls我尝试做的 任何问题
$ls -al >> ls_op.txt (this worked)
Run Code Online (Sandbox Code Playgroud)
然后我做了
$ls >> ls.txt
Run Code Online (Sandbox Code Playgroud)
直到 ls.txt 的大小为 1020 字节,然后执行
$cat lx.txt(这也有效)
我再次执行 'ls >> ls.txt' 使文件大小超过 1024。文件大小现在为 1360 字节。现在做
$cat ls.txt(失败)
所以肯定有一些与数据包大小相关的问题。这里有更多信息。有 2 个物理位置,比方说 A 和 B。
当我在 A 中的一台机器上并登录到 B 中的一台机器时,我能够处理cat大于 1024 字节的文件。
但是,当有人坐在 B 并且他们登录到 A 的机器时,他们可以访问cat小于 1024 字节cat的文件,但不能访问大于 1024 字节的文件。
有人可以帮助我进行下一步吗?我可以在任何机器上编辑配置文件以使其正常工作,还是需要在网络级别进行一些配置?
再次感谢你的帮助。
更新2:
ifconfig eth0 mtu 512
Run Code Online (Sandbox Code Playgroud)
更改网络 A 中机器的 mtu 解决了问题。
——
感
谢帕拉格
我会冒险将其作为与工作站的本地或上游网络相关的 MTU/片段。返回的数据量ls -al可能刚好足以打破平衡并导致其停顿。我想您应该能够对任何大量数据复制相同的行为,例如cat对大文件进行“处理”或“SCP”处理。
更新:
从该信息来看,它肯定与 MTU 相关。这很可能是任一网络边界的问题,您必须亲自动手。您可以尝试调整任何路由器的外部 MTU/MSS。但是,除非内部网络另有规定,否则请尽可能将单个机器设置保留为标准。
是否有任何特定协议会故意占用数据报的最后几个字节,例如 PPP(oA 或 oE)和 VPN 封装?您是否知道 PMTU(无法访问 ICMP 目标)被阻止了?您是否能够在网络边界执行和观察数据包捕获?
| 归档时间: |
|
| 查看次数: |
551 次 |
| 最近记录: |