Networking
lxc vm 訪問主機外
在 Debian 64 位上,我配置了這樣的 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
在客人方面,我改變了配置
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但是現在,同一網路(172.16.0.0)上的其他物理機看不到我的客人。
我的客人也有同樣的問題,只能看到其主機的 IP!
事實上,我希望獲得與 VmWare Workstation 上的橋接網路相同的行為。什麼樣的路徑 VmWare 會在網路上“隨處可見”?
(順便說一句,我的主機已經在 ESX 伺服器上,但我認為它與此級別無關)
您的主機使用 VMware 進行虛擬化,然後將其插入虛擬交換機,該交換機不希望顯示比 VMware 虛擬化伺服器更多的 MAC 地址(因此不是 VMware 來賓內部的 lxc)。所以這絕對是第 2 層問題:VMWare(至少是 VSwitch)收到了 MAC 地址與主機 MAC 地址不同的包並丟棄它們。因此,訪客將無法到達其主機之外,因為它應該通過 Vswitch 來做到這一點。
一種解決方法是在 Vswitch 上啟用不同的 MAC 地址。它是通過編輯 Vswitch 上的設置來執行的(在 VMware 主機上,配置,網路,選擇您的 lxc 主機連接到的 vswitch,屬性,編輯,安全性,MAC 地址更改 -> 接受)。