Установить сетевой маршрут после запуска контейнера Docker в Ubuntu 20.04 TLS

Установить сетевой маршрут после запуска контейнера Docker в Ubuntu 20.04 TLS

есть ли возможность добавить дополнительный маршрут в таблицу хостов (Ubuntu 20.04 LTS) с помощью Docker Toolset после запуска Docker-контейнера?

контекст:

  • Docker версии 20.10.12, сборка e91ed57
  • установил wireguard как контейнер (изображение: lscr.io/linuxserver/wireguard )
  • контейнер Wireguard имеет IP 172.19.0.2
  • сеть Wireguard — 10.14.14.0
  • У хоста Wireguard есть IP-адрес 10.14.14.1
  • клиенты Wireguard имеют пиры 10.14.14.2 3 4 и так далее
  • будет создан стандартный маршрут для маршрутизации из хостовой сети в контейнерную сеть (192.168.2.0 → 172.19.0.0)
  • Настройка пока работает, поскольку все соединения создаются клиентами Wireguard (они могут подключаться к NAS в домашней сети и т. д. CIFS, WebDav, Webfrontend)

Как только я хочу использовать RDP, VoIP-клиент или другие протоколы, где сервер (например, RDP-сервер) хочет установить обратное соединение с клиентом (например, RDP-клиентом), настройка перестает работать.

ЗА ИСКЛЮЧЕНИЕМ СЛУЧАЕВ, КОГДА Я активирую переадресацию IP и устанавливаю маршрут на 10.14.14.0 через 172.19.0.2, тогда RDP и т. д. также работают.

пока все хорошо... но после перезагрузки маршрут исчезает / его больше нет, конечно. Я не могу установить маршрут через netplan или что-то в этом роде, потому что цель недоступна. Сначала нужно запустить контейнер.

Есть ли возможность или возможность с помощью docker toolset запустить скрипт с оператором маршрутизации сразу после запуска контейнера wireguard? Может быть, я что-то упустил.

Это был бы более элегантный вариант, чем использование стандартных подходов Linux, поскольку он относится к контексту Docker.

Если нет решения с помощью Docker Toolset, как мне добиться установки маршрута после запуска контейнера?

С наилучшими пожеланиями и спасибо за вашу поддержку

Связанный контент