我在 Debian 挤压机上运行 LXC 容器(lxc 0.7.2-1),通过本书配置了公共 IP 的桥接网络,我遇到的问题是它将假 MAC 地址从 LXC 容器暴露到外部网络,并被交换机端口阻止安全性,因此阻止 LXC 容器与世界通信。我在具有相同网络配置的 Ubuntu 12.04.2 LTS (lxc 0.7.5-3ubuntu67) 上运行另一个 LXC 容器,但我没有任何问题,因为它不会将假 MAC 暴露给外部网络,并且所有通信都使用主机的 MAC。
目前我正在尝试找出主机之间网络配置的差异,但没有取得多大成功。它可能是 lxc 本身的版本依赖行为吗?
Debian /etc/network/interfaces
auto br0
iface br0 inet static
bridge_ports eth0
bridge_fd 0
bridge_stp off
bridge_maxwait 0
address y.y.y.9
netmask 255.255.255.192
broadcast y.y.y.63
gateway y.y.y.1
pre-up iptables-restore < /etc/iptables.up.rules
Debian LXC 网络配置
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.hwaddr = fe:95:57:4b:b4:9b
lxc.network.ipv4 = y.y.y.12/26
Ubuntu /etc/network/interfaces
auto br0
iface br0 inet static
bridge_ports eth0
bridge_fd 0
bridge_stp off
bridge_maxwait 0
address z.z.z.146
netmask 255.255.255.0
broadcast z.z.z.255
gateway z.z.z.1
pre-up iptables-restore < /etc/iptables.rules
up route add x.x.x.1 br0
Ubuntu LXC 网络配置
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.ipv4 = x.x.x.1/32
lxc.network.hwaddr = 00:16:3e:87:b5:b9