Networking

lxc vm 訪問主機外

  • January 29, 2013

在 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 地址更改 -> 接受)。

引用自:https://serverfault.com/questions/473438