2

Вот что у меня есть:

Mac OS X 10.10 - работает VirtualBox и действует как клиент OpenVPN. Это прекрасно работает в VPN и предназначено для моей хост-машины. На этой машине также есть соединение WiFi, которое служит моим шлюзом во внешний мир. Этот Mac настроен с NAT для подключения к маршрутизатору WiFi.

Windows 7 Pro - это виртуальный экземпляр для запуска через VirtualBox на Mac.

Мой OpenVPN-сервер работает на CentOS, но я не думаю, что это имеет значение для целей моего вопроса.

Как я могу убедиться, что мой компьютер с Windows устанавливает соединения только через VPN, а не через WiFi?

Когда я только начинал, я думал, что клиент OpenVPN будет действовать как новый сетевой адаптер, и я мог выставить только этот адаптер в настройках VirtualBox. Но это не так, VirtualBox воспринимает это как NAT-адаптер.

Чтобы было ясно, желаемый вариант использования будет следующим:

  • Клиент OpenVPN работает нормально на хост-компьютере Mac, что означает, что он отлично работает на компьютере с Windows.

  • OpenVPN отключается на клиенте Mac, но Mac продолжает работать через соединение Wi-Fi. Теперь машина с Windows больше не имеет доступа к каким-либо интернет-ресурсам, так как соединение отсутствует.

Как мне этого добиться?

4 ответа4

3

Ответ таков : это зависит от того, используете ли вы OpenVPN в bridged или routed режиме: у вас есть маршрутизируемое OpenVPN, если ваш новый виртуальный интерфейс - tunX , и мостовое OpenVPN, если вместо этого у вас есть виртуальный интерфейс tapX .

Для мостового OpenVPN: выберите на экране VirtualBox Сеть-> Мостовой адаптер, Имя -> tap0.

Для маршрутизируемого Openvpn: выберите на экране VirtualBox сеть-> NAT.

Таким образом, вам не понадобится клиент OpenVPN на вашей виртуальной машине. Кроме того, приведенные выше ответы охватывают оба важных случая, OP не указал, какой режим OpenVPN используется.

Чтобы проверить, работает ли вышеперечисленное правильно, загрузите в браузере следующий URL-адрес:www.whatismyipaddress.com ; по его выводу или инструментам геолокации, указанным в ответе, если вы не уверены, вы сможете определить, какой у вас внешний IP-адрес.

1

Похоже, вы ищете "мостовой", а не виртуальный интерфейс NAT. Таким образом, вы можете привязать виртуальный интерфейс (то есть интерфейс для обмена данными между вашим компьютером Mac и гостем Windows) только с одним конкретным интерфейсом компьютера. Насколько я понимаю вопрос, у вас на хосте настроен интерфейс VPN, верно? Для получения дополнительной информации см. Http://www.virtualbox.org/manual/ch06.html#network_bridged.

0

Отказ от ответственности: я никогда не использовал Virtualbox, так что это может быть невозможно.

Вариант 1 Привязать сетевой адаптер Windows-машины к интерфейсу openvpn.

Вариант 2 Немного сложнее: создайте сеть напротив коробки Windows и используйте небольшой маршрутизатор Openvpn в Linux, а затем настройте iptables, чтобы разрешить Windows использовать только интерфейс openvpn. Тогда Windows не сможет получить доступ к Интернету, когда VPN не работает, потому что Linux-бокс заблокирует его.

0

Лучший способ убедиться, что весь трафик направляется через VPN, - запустить VPN-клиент внутри виртуальной машины. Если вы используете клиент OpenVPN на виртуальной машине, вы можете установить опцию push "redirect-gateway" в своей конфигурации, чтобы гарантировать, что весь трафик клиента направляется через VPN. Если соединение с сервером потеряно, то все запросы клиентов должны затем прерваться (в отличие от маршрутизации через оставшийся адаптер NAT).

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .