我在 lxc 容器的网络配置方面遇到了麻烦。我希望位于一台机器上的多个容器通过 macvlan 与外界通信,但也有本地桥接器在它们与主机之间进行通信。
------------------------ OUTSIDE WORLD -----------------------------
^ ^ ^
| | |
macvlan0 macvlan1 macvlan2
| | |
v v v
HOST <--- bridge0 ---> CONTAINER A <--- bridge0 ---> CONTAINER B
好像我错过了一些东西,因为使用lxc 网络我设法创建了为 macvlan 配置的容器(它们可以很好地与外界通信,外界也可以很好地与它们通信),我还设法创建了具有桥接连接的容器(可以很好地与主机和它们自己通信)。
我遇到的问题是,无论我做什么,都无法同时拥有两个接口。网络配置中的第一个接口始终工作正常。第二个接口始终存在,但未为其分配 IP,无论我如何尝试,它都处于非活动状态。
我尝试了很多方法,甚至不知道我该怎么做。我该如何继续?
提前致谢。
答案1
我在使用 KVM/libvirt 时遇到了类似的问题,以下 LXD 建议对我很有帮助: https://lxd.readthedocs.io/en/latest/faq/#networking-issues
确保主机网络配置由 处理network-manager
,而不是netplan
。
重要的是设置
stp: false
,否则网桥将处于该learning
状态长达 10 秒,这比大多数 DHCP 请求持续的时间要长。由于不存在交叉连接和造成循环的可能性,因此这样做是安全的。