Что я хочу сделать:
Моя установка: хост-система Ubuntu oneiric с использованием Virtualbox для виртуализации некоторых гостей (Linux и Windows).
Я устанавливаю по два сетевых адаптера для каждого гостя:
Я пытаюсь настроить сервер openvpn в хост-системе, чтобы разрешить подключения к сети только для хоста vmnet0. Предоставление общедоступного IP-адреса гостям не является вариантом для меня, поскольку я не хочу, чтобы эти гости были общедоступными, а также у меня недостаточно IP-адресов для предоставления гостям.
Я установил сервер openvpn и попробовал подключиться как к vboxnet0, так и к маршрутизируемому IP-туннелю:
dev tun
server 192.168.56.0 255.255.255.0
с последней конфигурацией я могу подключиться к серверу vpn и получить внутренний IP-адрес. Я могу пинговать сервер по адресу 192.168.56.1, но не могу пинговать гостя (192.168.56.101). Если я сделаю пинг с основного сервера, я могу пинговать оба адреса.
У меня нет опыта работы с iptables, поэтому я не устанавливал для этого никаких правил, что МОЖЕТ быть проблемой. Я попытался включить ipforwarding в хост-системе (sysctl -w net.ipv4.ip_forward = 1), но это не дало никакого эффекта.
Итак, мои вопросы:
Во-первых, есть ли причина, по которой VirtualBox Перенаправление порта на интерфейсах NAT не хватает? Вы можете настроить различные порты на хосте для пересылки на порты SSH и RDP на виртуальных машинах.
Я подозреваю, что VirtualBox не разрешает внешний доступ только к сети хоста. Вы можете попробовать запустить другую виртуальную машину в качестве VPN-сервера. Он также будет иметь как NAT, так и сетевые адаптеры только для хоста с переадресацией порта на интерфейсе NAT для приема входящего трафика VPN.