Соединение VirtualBox через TAP-адаптер OpenVPN в Windows


11

Я пытаюсь настроить виртуальную машину (гость VirtualBox с Backtrack 4) с мостовым адаптером через VPN-соединение. VPN размещается в клубе кибербезопасности в моем университете и подключается к изолированной локальной сети, предназначенной для тестирования на проникновение на различные серверы, созданные клубом.

Мой хост (Windows 7 Ultimate) нормально подключается к VPN и получает IP через DHCP, но по какой-то причине виртуальная машина не может сделать то же самое, и я не уверен, почему. Как будто OpenVPN отфильтровывает пакеты с MAC-адреса, который он не распознает.

Я хочу, чтобы виртуальная машина соединялась через VPN-соединение, потому что у нашего ИТ-офиса очень строгие правила относительно того, что вы можете и не можете делать в сети. Я хочу иметь возможность проводить активные атаки (ARP-спуфинг, nmap, сканирование Nessus) в среде песочницы, не рискуя трафиком, случайно пройдя по университетской сети и лишив моего доступа в Интернет. Преодоление VPN-соединения и запуск всех атак внутри виртуальной машины решит эту проблему.

Есть идеи, почему хост может использовать этот интерфейс, а виртуальная машина - нет?


«Не может сделать то же самое» означает, что ваша виртуальная машина не может открыть соединение OpenVPN из себя ИЛИ что виртуальная машина не может получить IP-адрес от DHCP-сервера через VPN-соединение, установленное хостом?
Джованни Тирлони

Ответы:


6

Вот мое решение:

Windows 7 Home Premium 64-битный хост. Virtual Box Ubuntu 12.04 64 bit. Интернет через VPN через OpenVPN

В Virtual Box установите адаптер в сеть только для хоста.

OpenVPN на Win 7 (хост). Соединение установлено с графическим интерфейсом OpenVPN на адаптере TAP-Win32 V9. (Общий доступ к файлам и все протоколы, но IPv4 деактивирован)

Затем этот адаптер используется совместно с VirtualBox Host-Only Network через диалоговое окно общего доступа к подключению к Интернету, щелкнув правой кнопкой мыши.

В Ubuntu (клиент) вручную настройте сетевой адаптер, чтобы он находился в той же подсети, что и «VirtualBox Host-Only Network» на хосте, и задайте ip хоста как gateway / dns.

например: HOST VirtualBox Host-Only Network установлен на IP 192.168.137.1 Подсеть: 255.255.255.0 КЛИЕНТ Сетевой адаптер настроен на IP 192.168.137.2 Шлюз: 192.168.137.1 DNS 192.168.137.1 Подсеть 255.255.255.0

Таким образом, VB-клиент Ubuntu ВСЕГДА будет использовать VPN, и если соединение vpn не установлено, больше ничего не будет использовать.

Хост может выбрать между VPN и прямым Интернетом, установив приоритет сетевого адаптера.


1
Спасибо, что помогло. Было не очень понятно, что я должен поделиться настоящим адаптером из «Центра управления сетями и общим доступом» в настройках Windows. Я долго искал конфигурацию виртуальных машин, прежде чем понял это.
Мудрец

Спасибо за ваш ответ, но от клиента, если я попытаюсь выполнить пинг на google.com, он останется заблокированным на пару секунд. Я попытался изменить DNS на 8.8.8.8, но он не работает
Edenshaw

чтобы быть понятным, это решение эффективно заставляет хост действовать как маршрутизатор между сетью только для хоста и VPN. Это не то же самое, что соединить виртуальную
машину

2

Вам нужно будет уточнить свою конфигурацию, если вы хотите получить хороший ответ.

  • Вы пытаетесь подключиться к VPN с помощью Windows Host? ( подсказка: это сложнее )
  • Вы пытаетесь подключиться к VPN с помощью виртуальной машины Linux? ( подсказка: это, вероятно, то, что вы хотите )
  • Вы пытаетесь соединить оба одновременно? ( подсказка: это, вероятно, не сработает )

Не зная этих ответов, а также более подробно о том, как настроена сеть виртуальных машин и VPN-подключение, я могу только делать общие предложения.

Если вы хотите подключиться через OpenVPN с хоста Windows, а затем запустить вещи с хоста виртуальной машины, вам, вероятно, придется настроить общий доступ к соединениям на хосте Windows, чтобы пересылать этот трафик через VPN. В зависимости от конфигурации вашей сети вам, вероятно, также придется убедиться, что у вас настроена виртуальная машина для маршрутизации трафика в VPN.

То , как вы , вероятно , хотите , чтобы настроить это, однако, заключается в использовании хоста Windows , для общего сетевого подключения только (не VPN), а также настроить OpenVPN на Linux VM, позволяя VM сделать соединение VPN. Это должно упростить вашу настройку (насколько я понимаю, исходя из вашего вопроса) и дать вашей виртуальной машине Linux гораздо более прямое подключение через VPN.


Согласовано - если виртуальная машина установит VPN-соединение, это НАМНОГО лучший маршрут, если это возможно. Если проблема заключается в том, что виртуальная машина не может инициировать соединение, попробуйте настроить сеть VirtualBox для Bridged вместо NAT (или наоборот). OpenVPN также может быть настроен для разных транспортов, UDP по умолчанию обычно используется по умолчанию, хотя вы можете обнаружить, что TCP более надежен для виртуальной машины.
Goyuix

0

Это довольно старый вопрос, но для тех, кто с этой проблемой:

  • Хост: Убедитесь, что OpenVPN запущен и вы подключены к VPN.
  • Настройки гостевой сети: Измените сетевой адаптер на NAT и убедитесь, что включена опция «Кабель подключен».

Виртуальный ящик должен иметь возможность маршрутизировать гостевой трафик через VPN-соединение вашего хоста. Достаточно сказать, что когда вы отключаете хост-систему от VPN, ваша гостевая система не будет ее использовать.

Один простой способ проверить, работает ли маршрутизация должным образом: откройте браузер вашей гостевой системы и проверьте указанный IP-адрес в Интернете. Если он сообщает IP-адрес VPN вместо вашего собственного IP-адреса в Интернете, вам следует установить этот параметр.

Безопасность: она должна работать, однако это не стандартный способ маршрутизации трафика через VPN, используйте на свой страх и риск.


«Виртуальный ящик должен иметь возможность маршрутизировать гостевой трафик через VPN-соединение вашего хоста». - как VirtualBox выбрал бы, через какой хост-интерфейс маршрутизировать трафик, VPN по сравнению с физическим беспроводным или Ethernet-интерфейсом?
Дан Даскалеску
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.