虚拟盒桥接网络无法获取 IP(DHCP)未收到 DHCPOFFERS

虚拟盒桥接网络无法获取 IP(DHCP)未收到 DHCPOFFERS

我是网络和虚拟机配置方面的新手,我花了好几天时间处理这个问题。我的目标是让桥接网络正常工作。
当我尝试在我的 Virtual Box VM 中启动接口时,它会尝试一些DHCPDISCOVER消息,但最终我收到“未DHCPOFFERS收到”的消息。
我找到了问题所在。
在我的主机上,我有以下网络接口配置(我想要桥接的接口)。

HWADDR=5c:9a:d8:68:45:ff
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp3s0
DEVICE=enp3s0
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=195.XX.YY.ZZ
NETMASK=255.255.255.0
NETWORK=195.XX.YY.0
GATEWAY=195.XX.YY.GGG
BROADCAST=195.XX.YY.255
DNS1=195.XX.YY.DDD
DNS2=8.8.8.8
DOMAIN=some.domain.com

因此配置是静态的。
如果在接口上使用 BridgedAdapter,然后使用 dhcp 访问互联网,一切都会顺利进行。正如预期的那样。
我想我错过了什么,或者应该以另一种方式进行配置,说实话,我真的不明白桥接网络内部是如何工作的。
也许问题可以轻松解决,但我没有足够的知识来自己修复它,所以我在这里问。
请帮忙解决这个问题。提前感谢大家的帮助

答案1

在你的情况下配置网桥并不是一件容易的事,因为没有 dhcp,而且你希望虚拟机拥有的 IP 地址是民众地址,而不是私有地址。我强烈建议您改用 NAT,因为在这种情况下,我确信不会产生任何法律影响。

如果你坚持为你的访客使用公共 IP 地址(我再说一遍,你这样做违背了我的建议),你可以使用与合法情况下相同的技术,IE例如当你试图占领一个私人的地址。

您必须找到一个尚未被占用的 IP。假设您已确定 X 是您范围内的空闲 IP 地址。那么您所要做的就是为客户机设置一个静态 IP。

编辑客人的/etc/网络/接口文件,并使其看起来如下所示:

 auto lo
 iface lo inet loopback

 auto eth0
 iface eth0 inet static
    address X
    netmask 255.255.255.0
    gateway TheIP.Of.Your.Gateway
    dns-nameservers 8.8.8.8 8.8.4.4

以上假设eth0是客户机的以太网卡的名称,如果没有,请使用适当的名称(enp3s0?)。现在重新启动您的 VM 客户机,您就可以开始了。

如何找到地址 X?首先,您必须嗅探常规 (enp3s0) 接口。使用wireshark为此,您可以通过 Google 查找如何使用它。然后您有两个选择。

  1. 使用免费的 X ip 地址,IE一个你从未见过使用过的。你的提供商可能有对策来阻止这种情况,毕竟你的流量必须通过他的网关,如果他不想让你窃取公共 IP 地址,我不可能责怪他。

  2. 使用已占用的 IP 地址。注意两个都IP地址您的 IP 范围内的 PC 的 MAC 地址,然后欺骗换句话说,在 VirtualBox 的网络面板中,将伪造的 MAC 地址插入客户机 NIC 的 MAC 地址,并将 IP 地址用作上面的 X 地址。当原始机器空闲时,此装置可以正常工作,但一定由于两台具有相同 MAC 地址和 IP 地址的机器固有的冲突,在其他情况下会导致问题。

我还要补充一点,有一些技术可以追溯到你使用欺骗性 IP 地址的情况。

出于这些原因以及法律原因,我强烈建议您改用 NAT。

相关内容