我已经设置了一个 Debian Lenny 盒,其中有 3 个 vbox Lenny 机器以桥接模式运行主机的 eth0(在 virtualbox 3.1.6 上)。在我的本地 LAN 中测试时,一切都运行良好,流量可以正常流入和流出虚拟机的 IP。但是,现在它位于其 co-lo 家中,网络设置有点不同,我无法让流量正确流向 vbox。
具体来说,主机有它自己的主 IP,并且我有一个由 8 个(6 个可用)IP 组成的单独子网,这些 IP 路由到该盒子,供 vbox 使用。
因此,主机上的 eth0 是:
Machine IP: 2x.x.x.137
Gateway IP: 2x.x.x.138
Subnet Msk: 255.255.255.252
vboxes 的子网是
Subnet: 2x.x.x.240/29
Netmask: 255.255.255.248
vbox1 在 eth0 上配置为 2x.xx241 如下:
auto eth0
iface eth0 inet static
address 2x.x.x.241
netmask 255.255.255.248
在主机上设置一个虚拟接口 (eth0:0),使用其中一个子网 IP,我可以从 vbox1 ping 到该地址,也可以从主机 ping vbox1。我还可以从外部完美地 ping 该虚拟接口,因此 IP 肯定已到达我的机器。
似乎我在主机或 vbox1 上缺少某种路由指令,无法让流量在子网和默认网关之间流动,但我似乎无法弄清楚它应该是什么,或者我缺少了什么明显的东西。我的大多数明显尝试(eth0 的 gw、eth0 的 ip)都被路由命令拒绝,并显示 SIOCADDRT:没有这样的设备(例如 - 我找不到它)。
我尝试将 vbox1 设置为桥接在 eth0:0 上,但这不是可接受的设备名称,VBoxHeadless 拒绝启动。物理机器在 eth1 上有一个未使用的物理 NIC,可以在必要时用于其他用途。
主机正在运行由 ferm 配置的 iptables,我尝试过允许该子网转发,但考虑到 virtualbox 设备的性质,我认为这不是必要的(实际上也没有用)。清除空白 iptables 集的所有这些规则并不能解决问题。(您可以在以下位置看到 ferm 生成的 iptableshttp://codedumper.com/ojaze)
谢谢你提供的所有帮助...
帕特里克
答案1
您寻求的确切答案取决于您的具体情况。
目前看来您的网络已断开连接,因为您没有说明 2x.xx240/29 子网的网关是什么。您的托管提供商是否在该范围内有路由器,或者您是否需要在主机上创建虚拟/桥接接口?您是否在 sysctl 中启用了 IP 转发?使用 VirtualBox 的 NAT 选项是否更好?
理清这个问题,其他人(或谷歌)可以帮助您处理更详细的信息。