当我在启用 IPv6 的情况下运行 ifconfig 时,Ubuntu SSH 连接会挂起

当我在启用 IPv6 的情况下运行 ifconfig 时,Ubuntu SSH 连接会挂起

我一直在尝试 IPv6 并设置 DigitalOcean droplet。现在和以前唯一的区别是我告诉它设置 IPv6。通常情况下,当我运行ifconfigSSH 会话时,它会挂起,然后由于无响应而断开连接。ifconfig当发生这种情况时,命令不会完成...它只会转储 IPv6 详细信息。

我可以检查哪里来调试这个问题?我现在的解决方案就是不运行 ifconfig。

再次阅读评论后,我意识到可能存在误解。我的命令只是ifconfig显示网络详细信息,我没有用它配置任何东西,所以除此之外没有其他详细信息。

到目前为止,不再使用的技巧ifconfig是最有帮助的。网络上仍然有很多遗留的垃圾,很容易找到过时的东西。

答案1

这听起来像MTU 问题- 输出中的额外 IPv6 地址可能使ifconfig数据包大小超过了 MTU 限制,导致会话挂起。

挂断是否发生在其他长列表上?也许是在运行时top?或者在将文件复制到主机/从主机复制文件时?检查链接,它解释了什么是 MTU 问题以及您可以采取什么措施。

答案2

我不知道您的情况具体发生了什么,但我会尝试描述解决此问题的步骤。

  • 检查 ssh 守护进程的日志。增加日志级别。也许这有助于找到原因。
  • 不要使用ifconfig。它已被弃用。否则,请扩展问题并提供您运行的完整命令。
  • 使用 gnu screen 或 tmux。它可让您的程序保持运行。否则,断开连接后,用户会话将关闭,此会话中的所有程序都将终止。但应运行它们以继续解决问题。
  • 在屏幕会话中运行ip monitor命令。它显示网络配置中的大多数更改和事件。在另一个屏幕控制台中运行ifconfig命令。该ip monitor命令显示了什么?
  • 如果上一步没有帮助,请运行tcpdump屏幕下方的命令。您可以将捕获的内容写入文件,并选择-w稍后在 wireshark 中打开它。在 wireshark 中分析流量捕获。这需要一些 TCP 知识,但应该不会太复杂。此步骤中的首要任务是确定 SSH 连接发生了什么。

我认为上述步骤在大多数情况下都会对您有所帮助。扩展答案,我会尽力帮助您。

相关内容