VirtualBox NAT 与 Bridged - 另一台主机的可访问性

VirtualBox NAT 与 Bridged - 另一台主机的可访问性

我有一台装有 VirtualBox(5.0.10)Arch Linux 客户机的 Windows 10 主机。

主机 IP:192.168.1.102。 桥接模式下的客户机 IP:192.168.1.14。 此网络中我还有另一台主机(在端口 80 上有一个简单的 Web 服务器),我们称之为 X。它的 IP 是:192.168.1.10

当我将客户机的网络适配器配置为 NAT 时,我可以访问主机和 X。但是,当我切换到桥接模式时,我可以从客户机 ping 主机,反之亦然,但我无法从客户机访问 X。

我想象当我将其设置为桥接模式时,它的行为就像网络上的另一台机器一样,与另一台机器(例如 X)具有“平等的权利”。然而,事实似乎并非如此。

我遗漏了什么?我可以添加什么信息(我甚至不知道如何开始分析问题)?

更新

我能够 ping 通主机的 80 端口并访问 X,没有任何问题。

ifconfig在 NAT 模式下:

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::e883:bd15:fead:b72b  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:e9:ff:6e  txqueuelen 1000  (Ethernet)
        RX packets 349  bytes 273686 (267.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 208  bytes 16349 (15.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.56.2  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::a00:27ff:fe1f:38e6  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:1f:38:e6  txqueuelen 1000  (Ethernet)
        RX packets 27  bytes 2964 (2.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 648 (648.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ifconfig在桥接模式下:

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::e883:bd15:fead:b72b  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:e9:ff:6e  txqueuelen 1000  (Ethernet)
        RX packets 6  bytes 1248 (1.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 13  bytes 1948 (1.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.56.2  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::a00:27ff:fe1f:38e6  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:1f:38:e6  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7  bytes 578 (578.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

在这两种情况下,我都跳过了环回设备。我猜这就是enp0s3问题所在——我们可以在那里更改 IP——但老实说,我不知道可能enp0s8是什么,我很确定我从未手动配置过它。当我在客户机上设置 DHCP 服务时,只有enp0s3那里。所以当我开始在 NAT 和 Bridged 之间切换时,它一定是被添加了?这有意义吗?一开始,它被设置为 NAT。

答案1

如果 ifconfig 的输出是客户机的输出,则显然您在桥接模式下没有为 IP4 配置 enp0s3,但在 NAT 模式下已配置。尝试更改它。

祝福!

相关内容