我一直在尝试 IPv6 并设置 DigitalOcean droplet。现在和以前唯一的区别是我告诉它设置 IPv6。通常情况下,当我运行ifconfig
SSH 会话时,它会挂起,然后由于无响应而断开连接。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 连接发生了什么。
我认为上述步骤在大多数情况下都会对您有所帮助。扩展答案,我会尽力帮助您。