У меня проблемы с настройкой сети для контейнеров lxc. Я хочу, чтобы несколько контейнеров, расположенных на одной машине, могли взаимодействовать через macvlan с внешним миром, а также иметь локальный мост для связи между собой и хост-компьютером.
------------------------ OUTSIDE WORLD -----------------------------
^ ^ ^
| | |
macvlan0 macvlan1 macvlan2
| | |
v v v
HOST <--- bridge0 ---> CONTAINER A <--- bridge0 ---> CONTAINER B
Похоже, я что-то упустил, потому что с помощью lxc network мне удалось создать контейнеры, сконфигурированные для macvlan (они прекрасно взаимодействуют с внешним миром, то же самое для внешнего мира, общающегося с ними) Мне также удалось создать контейнеры с мостовым соединением (которые общаются с хостом и сами по себе просто великолепны).
У меня проблема в том, что независимо от того, что я делаю, у меня не может быть двух интерфейсов одновременно. Это всегда первый в конфигурации сети, который работает нормально. Второй всегда присутствует, но IP не назначен ему, и он остается неактивным, независимо от того, что я пытаюсь.
Я пробовал так много вещей, что даже не уверен, что мне делать дальше. Как я могу продолжить это?
Спасибо заранее.
У меня была подобная проблема с KVM/libvirt, и следующий совет LXD был полезен мне: https://lxd.readthedocs.io/en/latest/faq/#networking-issues
удостоверяется, что конфигурация сети узла обрабатывается network-manager
, не netplan
.
важная вещь состоит в том, чтобы установить
stp: false
, иначе мост будет находиться вlearning
состояние в течение максимум 10 секунд, которое длиннее, чем большинство запросов DHCP в последний раз. Как нет никакой возможности перекрестного соединения и порождения циклов, это безопасно сделать.