lxc vm访问主机外部

Debian 64bit上,我configuration了一个像这样的lxc:

主机IP:172.16.0.25虚拟机在此主机上的访客:172.16.0.44

我已经完成了我的主机的桥梁

auto eth0 iface eth0 inet manual up ifconfig eth0 0.0.0.0 up down ifconfig eth0 down auto br0 iface br0 inet static bridge_ports eth0 bridge_fd 0 address 172.16.0.25 netmask 255.255.255.0 gateway 172.16.0.52 

在客人方面,我改变了configuration

 lxc.utsname = myGuest lxc.network.type = veth lxc.network.flags = up lxc.network.link = br0 lxc.network.name = eth0 lxc.network.hwaddr = 00:FF:12:34:56:78 lxc.network.ipv4 = 172.16.0.44/24 

当我运行VM时:我的主机(172.16.0.25)和我的客户机(172.16.0.44)可以互相ping通但现在,同一networking(172.16.0.0)上的其他物理机器无法看到我的客户机。

同样的问题,从我的客人,只能看到它的主机的IP!

事实上,我想获得与VmWare Workstation上的桥接networking相同的行为。 VmWare在networking上“随处可见”是什么样的路线?

(顺便说一下,我的主机已经在ESX服务器上,但是我认为这个级别并不相关)

您的主机使用VMware进行虚拟化,然后将其插入到虚拟交换机,不要求VMware虚拟化服务器显示更多的mac地址(因此VMware guest虚拟机内不包含lxc)。 所以这肯定是第二层问题:VMWare(至lessVSwitch)接收到与主机mac地址不同的mac地址的paquets并放弃它们。 所以客人无法到达主人的外面,因为他们应该通过Vswitch来做到这一点。

解决方法是在Vswitch上启用不同的mac地址。 它通过编辑Vswitch上的设置(在VMware主机上,configuration,networking,select您的lxc主机连接到的vswitch,属性,编辑,安全,MAC地址更改 – >接受)来执行。