如何在VirtualBox上ping通Ubuntu客户机

73

我有一个安装了Ubuntu的虚拟机(使用VirtualBox)。主机是Windows 7。 如何在主机和虚拟机之间进行ping测试? 我尝试将虚拟机的网络连接类型设置为“桥接”,但没有效果,反而导致Ubuntu失去了互联网连接。

3个回答

107
在大多数情况下,将虚拟机网络适配器切换到桥接模式就足以使来宾机从外部可访问。

Switching virtual machine network adapter type

有时,在切换到桥接模式后(即使重新启动了客户机),客户机可能无法自动接收与主机IP范围匹配的IP。这通常是由于主机网络上DHCP故障或配置不当引起的。
例如,如果主机IP为192.168.1.1,则客户机需要具有格式为192.168.1.*的IP,其中仅最后一组数字允许与主机IP不同。
您可以使用终端(shell)并键入ifconfig(对于Windows客户机,则为ipconfig)来检查分配给客户机的IP,并在必要时更改它。
如果主机和客户机的IP不匹配,则明确地为客户机设置静态IP应该解决问题。

3
但我有一个问题:由于我禁用了DHCP、启用了桥接并分配了静态IP,因此虚拟机上没有互联网访问。我该如何解决它,或者问题可能出在哪里? - Rusty
2
在Ubuntu shell中使用ifconfig确保客户机的IP地址属于主机的IP范围。即,如果主机IP为192.168.1.1,请确保客户机具有192.168.1.*范围内的IP。如果不在该范围内,则手动设置客户机的IP为静态IP,范围内(即192.168.1.2)。另外非常重要的是,确保您的主机(Ubuntu)已正确配置以使用网关。如果您不确定哪个IP是网关,则只需查看Windows网络设置(通常是路由器的IP)。 - user188654
2
PS - 这对我来说也适用,使用相反的配置(Ubuntu主机,Win7 32位虚拟机)。 - alph486
2
@holodoc 非常感谢您!许多人没有提到客户机和主机之间只应该有IP的最后一部分不同。 - Asu
点赞!这不是内部IP地址吗?如果我想将其添加到Godaddy的A记录中,会起作用吗? - PirateApp

40
使用NAT(默认设置)无法实现此功能。桥接网络应该可以实现。如果桥接不起作用(当您的网络管理员不允许在一个物理接口上有多个IP地址时可能会出现这种情况),您可以尝试使用“仅主机网络”。

有关仅主机配置的详细信息,请参考vbox手册(非常好的资源)http://www.virtualbox.org/manual/ch06.html

对于仅主机网络,与内部网络一样,内置在VirtualBox中的DHCP服务器可能很有用。启用它可以管理主机网络中的IP地址,否则您需要手动配置所有IP地址。

在VirtualBox图形用户界面中,您可以通过“文件”->“设置”->“网络”在全局设置中配置所有这些项,其中列出了当前正在使用的所有仅主机网络。单击网络名称,然后单击右侧的“编辑”按钮,即可修改适配器和DHCP设置。


3
这在我的主机为Win8,客户端为Debian的组合上有效。此外,在最初进行此操作后,我无法从客户端ping通主机。这是一个Windows防火墙的问题。 - Andrei Bârsan

7
如果您开始调整VirtualBox网络设置,请注意:您可能会创建新的网络适配器(eth1、eth2),但是您的/etc/network/interfaces仍然配置为eth0。
诊断:
ethtool -i eth0
Cannot get driver information: no such device

找到您的接口:

ls /sys/class/net
eth1 eth2 lo

修复方法:

编辑/etc/networking/interfaces文件,将eth0替换为正确的接口名称(例如eth1、eth2等)。

:%s/eth0/eth2/g

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接