桥接 LXC:容器的 mac 地址在错误的接口上学习

桥接 LXC:容器的 mac 地址在错误的接口上学习

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) 网络适配器的驱动程序/固件问题。通过编译英特尔的最新驱动程序解决了该问题。

相关内容