Ненужно виртуалкам ничего "внешнего" давать
Все внешние IP адреса должны принадлежать рутеру.
Все компьютеры в сети должны иметь внутренние адреса.
Компьютеры, у которых должны быть внешние адреса, ставим в ДМЗ
Каждому из них сопоставляем необходимый внешний IP на рутере.
Такая схема легко реализуется если в качестве рутера FreeBSD и файрволом PF. Могу даже кусок правил кинуть, если надо.
Сложнее будет если нужно чтоб эти компьютеры были доступны снаружи. Но это тоже решается через редирект.
Ни в коем случае не вывешивайте ничего кроме рутера наружу. Рискуете потерять данные и нахватать всякой нечисти