我在虚拟机(虚拟盒子)上安装了ubuntu服务器,并设置了ssh。我确保一切正常,并禁用了所有防火墙,但是当我尝试通过 ssh 从 Microsoft 的 Windows 进行连接时,它显示“连接超时”。我想可能是服务器无法访问,所以当我尝试 ping 服务器时,它也说超时。有谁知道如何解决这个问题?
答案1
virtualbox 中的 NAT 模式通常不支持发起连接到访客机器(或至少不容易)。您可能想将其切换到桥接模式。
NAT模式:
当来宾操作系统启动时,它通常使用 DHCP 来获取 IP 地址。 VirtualBox 将处理此 DHCP 请求,并告诉客户操作系统其分配的 IP 地址和用于路由出站连接的网关地址。在此模式下,每个虚拟机都被分配相同的 IP 地址 (10.0.2.15),因为每个虚拟机都认为它们位于自己的隔离网络上。当它们通过网关 (10.0.2.2) 发送流量时,VirtualBox 会重写数据包,使它们看起来好像源自主机,而不是来宾(在主机内部运行)。
这意味着即使主机从一个网络移动到另一个网络(例如,笔记本电脑在位置之间移动),以及从无线连接移动到有线连接,访客也可以工作。
但是,另一台计算机如何发起与来宾的连接?例如,连接到在 Guest 中运行的 Web 服务器。使用 NAT 模式(通常)不可能实现这一点,因为没有进入来宾操作系统的路由。因此,对于虚拟机的运行服务器,我们需要不同的网络模式......
桥接模式:
当你希望你的虚拟机成为一个完整的网络公民,即与网络上的主机平等时,可以使用桥接网络;在此模式下,虚拟网卡“桥接”到主机上的物理网卡。
这样做的效果是每个虚拟机都可以像主机一样访问物理网络。它可以像主机一样访问网络上的任何服务,例如外部 DHCP 服务、名称查找服务和路由信息。
更多信息: Oracle VM VirtualBox:网络选项及其管理方法
正如 ctrl-alt-delor 所建议的“仅主机" 网络也可能适合您。这将允许您的主机和虚拟机能够相互通信,但不允许主机外部的计算机能够与您的虚拟机进行通信。