Почему мой хост Docker может получить доступ к контейнерам в ipvlan, если родительской сетью является Wi-Fi, но не когда родительской сетью является Ethernet?

У меня есть настройка компоновки Docker, состоящая из двух контейнеров (хотя я добавлю еще, как только решу текущую проблему). Я запускаю его на машине Linux Mint с Docker.24.0.7и Docker Compose2.21.0.

Требования к сетевым коммуникациям:

  1. Контейнеры могут общаться друг с другом
  2. Контейнеры могут взаимодействовать с другими устройствами в моей домашней подсети. Это связано с тем, что в моей домашней подсети есть другое аппаратное устройство, которое используется одним из контейнеров.
  3. Хост может общаться с контейнерами. Это связано с тем, что один из контейнеров предоставляет интерфейс настройки через HTTP.

В зависимости от того, использую ли я проводное или беспроводное соединение, а также использую ли я сети, я получаю различное поведение следующим образом:

Хотя я нашел работающую комбинацию (беспроводное соединение с ), из практических соображений я хочу использовать проводное соединение.

На самом деле я не сетевик и изо всех сил пытаюсь понять разницу в поведении, которую наблюдаю. Меня особенно смущает, почему работает так, как ожидалось, с беспроводной связью, но не с проводной. Может ли кто-нибудь сказать мне, почему это может быть и как я могу удовлетворить свои требования с помощью проводного соединения?

Вот соответствующая часть моегоcompose.yamlпоказывая, как определена моя сеть:

        my-network:
    driver: ${NETWORK_DRIVER:?specify the type of network driver to use}
    driver_opts:
      parent: ${NETWORK_PARENT:?specify the name of the physical network upon which the Docker stack's network will be based}
    ipam:
      config:
        - subnet: 192.168.10.0/24
          gateway: 192.168.10.1

Во избежание сомнений: я передаю правильный родительский элемент сети в зависимости от того, установлен ли драйвер.macvlanилиipvlanи подтвердили это после создания стека Docker.

ОБНОВЛЕНИЕ: становится еще страннее. Оказывается, чтобы сеть ipvlan работала через Wi-Fi, у меня также должно быть активное соединение Ethernet. Как только я отключу Ethernet, мой хост больше не сможет получить доступ к контейнерам. Причем неважно, включен Wi-Fi или нет, ipvlan не будет работать с Ethernet в качестве родителя.

0 ответов

Другие вопросы по тегам