带有桥接适配器的VirtualBox上的Debian guest虚拟机无法访问Internet

时间:2016-05-26 11:12:31

标签: linux networking debian virtualbox virtualization

我已经设置了一个Debian客户,我正在搞乱它以了解有关VirtualBox,Debian的更多信息,之后我就会在其上搞乱NodeJS服务器。

过了一段时间,我注意到当我为VM设置Bridged适配器时,我无法用它做一些事情。 NPM不会安装包,因为它超时了。我试过运行" w3m google.com"甚至查找google.com的IP来检查DNS问题。

无论如何,我都无法连接到任何形式的互联网。但我可以ping任何事情。我可以ping谷歌,npmjs.org等。

感谢您的帮助。

更新:今天我一直在研究这个问题,更新的路由器,asus,我读到人们遇到了带有桥接适配器的belkin路由器的问题所以我切换了,无论如何,asus是新的。< / p>

主机通过以太网线连接。 VM很好地显示在路由器上,并且我用路由器给出的IP连接到该设备就好了。但我仍然无法连接到google.com或任何其他内容。

3 个答案:

答案 0 :(得分:1)

这在评论中解释太久了。以下是桥接适配器的工作原理。

然而,如果你可以从访客debian ping,这意味着某种形式的DHCP发生了,你必须拥有和IP(这是与主机不同的IP)。我检查路由器配置,看看你是否不允许/禁止使用TCP / UDP协议的特定MAC和/或IP(这是某些人在路由器上使用的一种措施)。

桥接适配器

VirtualBox上的桥接适配器模拟在与(主机)实际机器的电缆连接上有一个桥(很容易将其视为集线器)。即使连接是通过无线连接,模拟也是类似的。

对于(几乎)所有目的,guest(debian)和主机连接的路由器直接连接。有单独的MAC,单独的IP,他们甚至提供单独的ARP请求。

cmd.Parameters.AddWithValue("@id", order.OrderId);

这是通过发送具有不同硬件地址的数据包来完成的(您可以在适配器中配置硬件地址)。

您需要将来宾系统(Debian)配置为连接到网络,就像它是一台单独的计算机一样。例如,如果您使用主机的WPA连接,则需要在来宾计算机中配置WPA(包括用户名和密码)。

答案 1 :(得分:0)

我不是专家,但经过一些研究,我可以解决类似的问题。我有一台Mac托管Debian服务器。我在Mac上的接口en0上使用了Bridged Adapter。

1)我的Mac运行在192.168.10.101上。我知道,因为我运行命令:

ifconfig -a

,接口en0显示IP

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 6c:40:08:98:72:4c 
    inet6 fe80::6e40:8ff:fe98:724c%en0 prefixlen 64 scopeid 0x4 
    inet 192.168.10.101 netmask 0xffffff00 broadcast 192.168.10.255

2)在我的Mac上运行netstat命令:

netstat -nr

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.10.1       UGSc          296      142     en0

我看到Mac Gateway在192.168.10.1

3)Mac和Debian必须与网关在同一网段,我的意思是192.168.10.xxx。所以我决定我的Debian必须在静态IP 192.168.10.115上运行。

我在我的Debian服务器上编辑了/ etc / network / interfaces文件,看起来是这样的:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0 
iface eth0 inet static 
address 192.168.10.115 
netmask 255.255.255.0 
gateway 192.168.10.1 
dns-nameservers 8.8.8.8 192.168.10.1

然后我从我的Mac上ping了我的Debian ping并且他们回答了Ok。我也可以从Debian访问互联网,因为我有与Mac相同的默认网关。

root@debian64:/home/myuser# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         TEW-711BR       0.0.0.0         UG    0      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth0

我希望它有所帮助,如果有人有更好的解释,我想学习。

答案 2 :(得分:0)

你可以在主人和客人之间ping吗?也许 /etc/resolv.conf (称为nameserver)和 / etc / network / interfaces (称为guest虚拟机上的DNS名称服务器的地址不同dns-nameservers)。这可能会在您设置静态IP时发生。