ParrotSecurity 4.2: 仮想化のVirtualBoxをインストールする

VirtualBoxのインストール手順を記載します。

1 VirtualBoxのインストール

virtualboxパッケージをインストールします。 virtualbox-ext-packはライセンスの同意が必要になります。

#!/bin/sh -e

cat <<EOF | sudo debconf-set-selections
virtualbox-ext-pack virtualbox-ext-pack/license boolean true
EOF
sudo apt install -y \
     virtualbox virtualbox-guest-additions-iso virtualbox-ext-pack

2 VirtualBoxの起動

virtualboxコマンドを実行します。

$ virtualbox

0001_VirtualBox.png

3 ブリッジアダプタで同一ネットワークのマシンからアクセスできるようにする

libvirt+KVMの場合はブリッジインターフェースが必要ですが、VirtualBox の場合はブリッジアダプタに指定するネットワークインターフェースはホストマシンのイーサネットデバイス、あるいはそのイーサネットデバイスから作成したブリッジインターフェースでも構いません。

例えばホストマシンのイーサネットデバイスがeth0で、eth0を使用したブリッジインターフェースがbr0の場合は、eth0でもbr0のどちらでも良いです。

ただし、"Adapter Type"は"Paravirtualized Network (virtio-net)"にする必要があります。準仮想化ドライバでないと同一ネットワークのマシンからアクセスできません(最初は繋がるがすぐにストールします)。

0002_BridgeAdapter.png

4 VBoxManageを使ってVirtualBoxを操作する

VBoxManageはCUIで操作できるのでスクリプト化することができます。いくつか使い方を記述します。

仮想マシンをクローンします。

$ VBoxManage clonevm <OriginalVMName> --register --mode machine \
             --name <ClonedVMName>

MACアドレスを取得します。

$ VBoxManage showvminfo --machinereadable vbx-ubuntu-1804-test | \
              grep '^macaddress[0-9]*'
macaddress1="080027A0CEDB"

仮想マシンを開始します。 –type headlessをつけると仮想マシンのコンソールのウィンドウを表示せずに開始できます。

$ VBoxManage startvm --type headless <VMName>

仮想マシンをACPI経由でシャットダウンします(OSによってはACPIの動作をシャットダウンに変更する必要がある場合があります)。

$ VBoxManage controlvm <VMName> acpipowerbutton

仮想マシンを削除します。削除には仮想マシンが停止している必要があるのでshutdownで電源OFFにします。

$ VBoxManage controlvm <VMName> shutdown
$ VBoxManage unregistervm --delete <VMName>