Передача данных в режиме multicast из VirtualBox на разные сетевые интерфейсы

На физическом хоте (OS Windows) установлен VirtualBox c OS Linux (Ubuntu 20.04). В Ubuntu установлен Docker, в котором и запускаю Java приложение. Оно отправляет по сети на другой компьютер пакеты по протоколу udp в режиме multicast по адресу 224.1.1.244 и порту 53000. Контейнер с этим приложением запускаю через docker-compose.

services:    
  upload-srv:
    image: ${SERV_IMAGE_STEND}
    networks:
      - es-serv-network
    network_mode: "host"
    restart: unless-stopped
    container_name: es-serv-v01
    volumes:
      - /home/es-serv:/home/es-serv
    ports:
      - "5003:5003"

  upload-web:
    image: ${WEB_IMAGE}
    networks:
      - es-serv-network
    restart: unless-stopped
    container_name: es-serv-web-v01
    ports:
      - "7001:80"
...        
networks:
  es-serv-network:

VirtualBox перевожу в режим моста выбираю нужный интерфейс и с помощью указания network_mode данные идут в этот интерфейс. Данная схема работает.

Но в дальнейшем планируется запуск нескольких таких приложений (точнее 10) и каждое из них должно отправлять данные в свой сетевой интерфейс в режиме multicast. Вопрос, как это можно реализовать?

У меня пока что одна мысль для каждого создавать свою виртуалку, подключать ее на свой сетевой интерфейс по которому пойдет поток с данными. А можно как-то сделать, чтобы все эти приложения работали в одной виртуалке?

Приложения не очень сложные, особой нагрузки на сервер не будет. А вот создавать 10 виртуалок, каждой надо выделить память ресурсы. А сервер у нас не особо мощный. Даже не знаю потянет он столько.

В Docker есть режим работы сети macvlan. А он мен ни как не поможет? Если бы Docker был установлен на хосте, а не в VirtualBox, тогда можно было каждый контейнер повесить на свой сетевой интерфейс и это должно было работать. Если я правильно понял режим сети macvlan. А вот когда Docker установлен внутри VirtualBox, то я даже не знаю как тут задать сетевые интерфейсы, которые расположены на хосте.


Ответы (0 шт):