На текущий момент изначальная задача реализована вот так.

Получается два внешних IP, один из которых публичный (*.229), другой служебный (*.227).
Т.е. нужные службы пробрасываются через iptables в gw.local на соответствующие порты других VM.
Остался еще один вопрос.
Подскажите, как правильнее сделать, если нужно получить доступ к какой либо ВМ со служебного IP?
Т.е. по сути что хочется сделать, чтобы доступ к порту 80 имелся с IP1, а доступ к порту 8080 имелся с IP2.