Спочатку налаштуйте приватну мережу між віртуальними машинами. Це називається VirtualBox "лише для хоста". У результаті виходить, що хост і кожна з віртуальних машин отримують приватний IP в одній підмережі.
http://www.virtualbox.org/manual/ch06.html#network_hostonly
Тепер налаштуйте сервер VPN на хості, щоб дозволити користувачам доступ до цієї приватної мережі. Тут у вас є два варіанти:
- Використовуйте VPN рівня 2 (TAP, Ethernet) і на сервері з'єднайте TAP-інтерфейс віртуального VPN з інтерфейсом, що відповідає лише хосту VirtualBox. Це надасть користувачам прямий доступ до рівня Ethernet, що еквівалентно підключенню безпосередньо до приватної мережі, як і гостьові віртуальні машини. Кожному користувачеві надається приватна IP-адреса в тій самій підмережі, що і мережа "тільки для хоста".
Ви повинні використовувати цей підхід лише в тому випадку, якщо вам потрібен доступ другого рівня до віртуальних машин. Це небезпечно, оскільки дозволяє користувачам видавати атаки другого рівня (див. Отруєння ARP). Зверніть увагу, що доступ до рівня 2 потрібен, якщо ви хочете, щоб простий спільний доступ до файлів Windows з автоматичним виявленням хостів.
- Використовуйте VPN рівня 3 (TUN, IP). Використовуйте окрему (приватну) підмережу для мережі VPN (клієнти, інтерфейс TUN-сервера). Складіть пакети переадресації хоста між мережею VPN та мережею "тільки для хоста". Користувачам також потрібен маршрут до мережі "лише для господарів" через віртуальний інтерфейс TUN VPN, а віртуальних машин знадобиться маршрут до мережі VPN через емульовані інтерфейси мережі "тільки для хоста".
Що стосується програмного забезпечення VPN, то є багато варіантів. OpenVPN може робити як рівень 2, так і рівень 3. Для рівня 2 також можна використовувати власне програмне забезпечення BadVPN .
Зауважте, що Windows не є хорошим вибором для хост-операційної системи, що стосується можливостей мереж. У цьому відношенні Linux набагато потужніший.