Это решаться должно средствами ОС.
Решение можно сделать например такое:
- на виртуалке заводите свой софт в докер контейнер, каждый контейнер на свой внутренний адрес, например из сети 10.0.0.0/24
- далее определенному адресу из сети 10.0.0.0/24 создаете :
- либо маршрут с адреса 10.0.0.1 на интерфейс eth0, с адреса 10.0.0.2 на интерфейс eth2
- либо все исходящие пакеты с адреса 10.0.0.1 делать SNAT на нужный внешний IP х.х.х.х средствами iptables
выберете удобный вариант для себя. Думаю с использованием отлаженных скриптов, каких-нить систем автоматического развертывания и получения из одного места списка доступных IP адресов на конкретной VPS можно добиться почти автоматического разворачивания.
ЗЫ: На вскидку, ничего кроме контейнеризации придумать не могу. Покопайте еще в сторону сетевых настроек systemd. Может там можно как-то загнать демона в рамки одного сетевого внутреннего интерфейса, а уже с него делать тоже самое что из контейнера.