В общем всем спасибо за мысли, вы мне посоветовали именно такой подход, как я планировал, но в вопросе не освещал, чтобы получить альтернативное видение.
В результате:
- поднятие OVPN клиента + маршрутизация трафика останется на pfSense
- написал скрипт, который будет запускаться в ВМ и контролировать внешний IP и в случае, если он не тот, блокировать все сетевые интерфейсы. Скрипт выполняется раз в 1 минуту.
https://gitlab.com/a.perminov/external-ip-monitor
- еще есть скрипт, который так же проверяет не пересекается ли внешний IP в всех ВМ и шлет уведомления о проблемах в Discord
Думаю этого будет достаточно...