Ubuntu 主机有p2p1.17物理接口连接到bri17桥接。LXC 容器富具有以下网络配置:
lxc.network.type = veth
lxc.network.link = bri17
lxc.network.hwaddr = 00:16:3e:aa:aa:66
当我启动它时,我得到:
# lxc-info -n FOO | grep Link
Link: vethHUPG1B
# brctl show bri17
bridge name bridge id STP enabled interfaces
bri17 8000.3cfdfe01eee0 no p2p1.17
vethHUPG1B
到目前为止看起来还不错,但是
# brctl showmacs bri17
port no mac addr is local? ageing timer
1 00:16:3e:aa:aa:66 no 19.81
2 fe:d8:27:6b:72:1d yes 0.00
2 fe:d8:27:6b:72:1d yes 0.00
显示容器的 mac 地址是在错误端口 (p2p1.17) 上学习到的
当我将 ip 添加到 bri17 和容器的 eth0 时,它们可以 ping 通自己,但容器无法 ping 通主机外部的任何东西,例如网关。更有趣的是,容器有正确的 arp 表:
# arp -n
Address HWtype HWaddress Flags Mask Iface
gateway-ip ether 00:15:2c:16:68:40 C eth0
这个配置有什么问题?
答案1
这是英特尔 X710 (p2p1) 网络适配器的驱动程序/固件问题。通过编译英特尔的最新驱动程序解决了该问题。