У меня есть приложение в контейнере, типа сервера с проприетарным tcp протоколом. Оно должно работать с тучей устройств. Устройства дорогие и большие. Мы написали эмулятор устройства. И запускаем соответствующее количество контейнеров для эмуляторов, т.к. для корректной работы серверу надо чтобы все устройства были на разных IP (это норма в данном случае).
И чё то вот запарило эту ораву запускать.
Как сделать так, чтобы со стороны сервера это выглядело как разные IP, а со стороны эмулятора (который сможет эмулировать сразу несколько устройств) это будут разные порты одного IP.
исходные данные:
докер контейнер с приложением ( назовем его ДКП)
эмуляторами железки (ЭЖ)
сеть ДКП
192.168.100.0/24сеть локальная
192.168.200.0/24докер машина
192.168.200.1думаю схема следующа должна быть, ДКП должен работать не с внутренней сетью с ЭЖ а с внешней. т.е. Вы поднимаете у себя в локалки сетку
10.0.0.0/24 которая доступна через шлюз
192.168.200.2 на внешнем и кучей виртуальных интерфейсов
192.168.200.0/24 (линукс роутер с двумя интерфейсами и натом) теперь в локалку кладем ЭЖ
10.0.0.100 и прописываем разные порты одной ДКП. Теперь лезем в таблицу iptables и правим цепочки, сходу не скажу, что бы все что пришло с
10.0.0.100 - уходило с заданного 192.168.200.ХХХ на конкретный порт