我在 Windows 7 主机上运行 Oracle VirtualBox,将 Debian 作为来宾操作系统。我已经安装了Apache并在VM中指定了以下两个网络适配器:
- 桥
- 仅限主机,具有与下面相同的 IP 设置。
我在 Debian VM 上的接口网络设置是:
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.1.110
netmask 255.255.255.0
ping
通过客人和主人之间的测试,这一切似乎都运行得很好。但是,当我尝试在 Web 浏览器中浏览到我的来宾实例时,http://192.168.1.110
我不断收到 404 消息。任何帮助,将不胜感激。
考虑到 ifconfig 对我有帮助,我也将这些也包括在这里:
eth0 Link encap:Ethernet HWaddr 08:00:27:7a:1a:35
inet addr:192.168.1.106 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe7a:1a35/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:252 errors:0 dropped:0 overruns:0 frame:0
TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25417 (24.8 KiB) TX bytes:1765 (1.7 KiB)
eth1 Link encap:Ethernet HWaddr 08:00:27:56:3d:90
inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe56:3d90/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:231 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21945 (21.4 KiB) TX bytes:578 (578.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
答案1
成功 ping 通“已关闭”的 VirtualBox 即可得到提示:来宾计算机需要位于与主机所属不同的 IP 子网中。 VirtualBox 将处理访客网络和主机网络之间的路由,并通过仅访客可见的 DHCP 服务器为访客提供正确的地址和网关。
您没有解释为什么添加了静态 eth1 接口,但我猜测这是为了您可以通过已知地址访问访客计算机。删除静态配置,查看为来宾分配的网络,然后您可以使用该网络(通常为 10.0.0.0)。。)用于配置静态地址(如果您随后需要的话)。
您通过 192.168.1.110 访问的盒子与主机位于同一子网中,并且很可能是主机网络上的真实物理设备。
答案2
我最终通过以下方法解决了这个问题。您要为 eth1 提供的 IP 应该与 VirtualBox 自动分配给所连接的第二个适配器的 IP 非常相似。要查看此 IP,请转至文件 > 首选项 > 网络 > 编辑(仅主机网络详细信息)。在这里您将看到自动分配给第二个适配器的主机的 IP。您将使用此 IP 将最后一个八位字节修改为不同的,例如 .10 而不是 .1