nic*_*art 5 ssh virtualbox ubuntu
我在这里真的无能为力,所以我希望这里有人可以帮助我。我有一台运行 Ubuntu Server 9.10 的虚拟机。这只是一个小型开发环境,因此我可以将我的代码与测试和生产环境分开。我在运行 Ubuntu Desktop 9.10 的笔记本电脑上通过 VirtualBox 3.1.6 运行它。我设置了桥接网络连接,并桥接到我的笔记本电脑的无线适配器。我们在这个办公室没有有线连接。
我启动了虚拟机,一切都很好。我可以使用 gnome-terminal SSH 进入它,有一段时间一切都是 Kosher 的。然后貌似随机,SSH终端会话就挂了。没有错误信息,什么都没有;它只是变得没有反应。如果我转到 VirtualBox 终端,我会发现 VM 本身非常好。它可以 ping 通,我可以用它 SSH 出去。如果我在 VM 上重新启动网络,我的 gnome 终端中的 SSH 会话大部分时间将再次响应。
这里有一个有趣的点,SSH 会话有时会在我输入某些内容的时候停止(这表明它不是空闲会话问题),如果我转到 VirtualBox 终端并重新启动网络,然后返回到我的 gnome-终端 SSH 会话我发现它会恢复生机,而我在会话最初挂起时输入的内容会神奇地将自己输入到缓冲区中。因此,我的输入被存储在某个地方,并且在 VM 上的网络重新启动之前无法进入 VM。
我尝试了不同版本的 VirtualBox 并使用了 vmdk 图像和 vdi 图像,但似乎没有任何效果。我不知道问题是出在我的笔记本电脑、VirtualBox 还是 Ubuntu Server VDI 上。有没有办法调试这个问题?或者有没有人见过类似的东西?
好的,我找到了问题的根本原因,而且很简单,我有点尴尬:网络 IP 冲突。正如我猜测的那样,这确实是一个网络问题,但是,它并不像我想象的那么复杂。
由于我使用桥接网络,因此虚拟机与网络上的所有其他计算机一起显示在 DHCP 客户端表中。如果这些其他机器中的任何一台从 DHCP 获取我的虚拟机的 IP(例如在我当天启动虚拟机之前),每当我的虚拟机上线时,就会导致冲突,并可能导致我的虚拟机停止响应 SSH。这解释了为什么当我使用 VirtualBox 终端时,我根本没有遇到任何问题。
我不太确定大多数路由器如何处理 IP 冲突,但似乎最后有网络活动的计算机优先。因此,当我在我的机器上反弹网络时,一切都很好,直到共享 IP 的机器决定参与网络活动,然后轰……我的连接就会挂起。
我将虚拟机的静态网络 IP 重置为我们范围内的相当高的值,因此希望这能够避免与我同事的计算机发生任何 IP 冲突。
| 归档时间: |
|
| 查看次数: |
5163 次 |
| 最近记录: |