Перейти к содержимому

Сетевой маршрут только для хоста Virtualbox прерывается клиентом Pulse Secure VPN

2

Virtualbox становится недоступным для входящих подключений от хост-системы, когда VPN включен. Соответственно, я не могу использовать клиентов http / ssh / rdp для доступа к гостевой ОС с хост-ОС, пока Pulse Secure VPN остается подключенным.

Хост ОС: OSX High Sierra. Насколько я понимаю, VPN-клиент не должен перегружать маршруты в частном адресном пространстве IPv4. Любые обходные пути для решения этой проблемы?

973 просмотра
wick спросил 8 лет назад
W 131

1 ответ

2
Принятый ответ

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

Я сделал этот скрипт закрепленной командой для удобства -

#!/bin/bash  # visudo as root, add your_username ALL = (ALL) NOPASSWD:ALL  # vboxmanage list vms  guestip="192.168.86.3" guestmac="8:0:27:22:4c:27" vmname="WIN_ENT_10_64B"  # if the VM is running, leave it alone in peace: vboxmanage showvminfo $vmname |grep "running (since" [ "$?" -eq "0" ] && exit  # hide terminal window: osascript -e 'tell application "Finder" to set visible of process "Terminal" to false'  # shutdown vbox network: while [ -n "`netstat -rnf inet |grep $guestip`" ]; do sudo ifconfig vboxnet0 down sleep 1 done  # start VM and wait: vboxmanage startvm $vmname --type separate while [ -z "`netstat -rnf inet |grep $guestip`" ]; do sleep 1 done  # delete original route: sudo route -n delete $.0  # create a network singularity in routing table: sudo route -n add $guestip/32 -interface vboxnet0  # create the host on the network: sudo arp -s $guestip $guestmac  osascript -e 'tell application "Terminal" to quit' & 

В сценариях предполагается, что вы можете использовать sudo без пароля.

guestipнастраивается вручную в гостевой ОС на интерфейсе «только хост» (обычно № 2). Когда вы создаете «сетевой адаптер только для хоста» в VirtualBox, по умолчанию включен DHCP. Я отключаю DHCP и назначаю статический IP-адрес в гостевой ОС вручную из соображений согласованности (здесь - 192.168.86.3, маска сети 255.255.255.0 или CIDR / 24, DNS оставлен пустым).

guestmacMAC-адрес сетевого интерфейса в гостевой ОС, который имеет IP 192.168.86.3. Не путайте его с MAC-адресом «сетевого адаптера только для хоста» в конфигурации VirtualBox. Последний в нашем случае настроен на 192.168.86.1/24 (MAC a: 0: 27: 0: 0: 0 ниже).

После завершения сценария (приложение терминала исчезает из дока), ожидаемый результат netstat -rnf inetдолжен содержать аналогичные записи:

192.168.86.3 8:0:27:22:4c:27 UHLS 3 4884 vboxnet 192.168.86.3/32 a:0:27:0:0:0 ULSc 0 0 vboxnet 

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

Большое спасибо! Версия tldr с гостевым IP-адресом 192.168.56.101 и гостевым MAC 1: 2: 3: 4: 5: 6: (1) запустить ВМ (2) удалить сгенерированные маршруты sudo route -n delete 192.168.56.0 (3) Добавить сеть с одним IP для использования интерфейса vboxnet0: sudo route -n add 192.168.56.101/32 -iface vboxnet0 (4) Подключить IP <-> MAC: sudo arp -s 192.168.56.101 1: 2: 3: 4: 5: 6 (5) открытый VPN

Jari Keinänen · 8 лет назад · 0
wick ответил 8 лет назад
W 131