web-dev-qa-db-ja.com

VirtualboxホストのみのネットワークルートがPulseSecureVPNクライアントによってプリエンプトされます

VPNがオンの場合、VirtualboxはホストOSからの着信接続に使用できなくなります。したがって、Pulse Secure VPNが接続されている間は、http/ssh/rdpクライアントを使用してホストOSからゲストOSにアクセスすることはできません。

ホストOS:OSXHighSierra。私の理解では、VPNクライアントはプライベートIPv4アドレス空間のルートをプリエンプトしてはなりません。これを解決するための回避策はありますか?

2
wick

最終的に、仮想マシンを起動するためのスクリプトを作成します。制限は、Pulse Secureが必要なルートの作成をブロックするため、VPNがオフのときにVMを起動する必要があることです。

便宜上、このスクリプトをドッキングコマンドにしました-

#!/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 ${guestip%.*}.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は、ゲストOSの「ホストのみのインターフェイス」(通常は#2)で手動で構成されます。 VirtualBoxで「ホストオンリーネットワークアダプター」を作成すると、デフォルトでDHCPが有効になります。 DHCPを無効にし、一貫性の理由からゲストOSに静的IPを手動で割り当てます(ここでは、192.168.86.3、ネットマスク255.255.255.0またはCIDR/24、DNSは空白のままです)。

guestmacは、IP192.168.86.3を持つゲストOSのネットワークインターフェイスのMACアドレスです。 VirtualBox構成の「ホストオンリーネットワークアダプター」のMACアドレスと混同しないでください。後者は、この場合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の状態に関係なくローカルでVMにアクセスできます。

2
wick