VirtualBox で,仮想マシンの仮想ネットワークインタフェースを,ホストOSにブリッジ接続
Oracle VM VirtualBox は,仮想マシンを実現するソフトウェアである.
仮想マシンのゲストOSへの遠隔ログインを可能にするためには, 仮想マシンの仮想ネットワークインタフェースをホストOSにブリッジ接続する設定が必要である.
【関連する外部ページ】
VirtualBox の公式ページ: https://www.virtualbox.org/
ブリッジ接続とは
VirtualBox の初期設定では,ネットワーク接続方式としてNAT(Network Address Translation)が選択されている.NAT では,ゲストOSはホストOSを経由してネットワークに接続する.この場合,ゲストOSは外部ネットワークへアクセスできるが,外部からゲストOSへ直接アクセスすることはできない.
ブリッジ接続では,ゲストOSがホストOSと同じネットワークに直接接続される.ゲストOSは独立したIPアドレスを取得し,ネットワーク上の他のコンピュータと同等に扱われる.
ブリッジ接続のメリット
- ゲストOSに外部から直接アクセスできる(SSH,Webサーバへのアクセス等)
- ゲストOSが独立したIPアドレスを持つため,ネットワーク上で独立したマシンとして認識される
- ホストOSとゲストOS間,および他のマシンとゲストOS間の双方向通信が可能である
注意事項
- ゲストOSがネットワークに直接接続されるため,ゲストOS側で適切なセキュリティ設定(ファイアウォール,不要なサービスの停止等)が必要である
- DHCPサーバが存在するネットワーク環境では,ゲストOSに自動的にIPアドレスが割り当てられる.固定IPアドレスが必要な場合は,ゲストOS側で設定する
- 企業ネットワーク等では,セキュリティポリシーによりブリッジ接続が制限されている場合がある
VirtualBox の標準機能によるブリッジ接続
以下の手順は,VirtualBox の設定画面から行う標準的な方法である.ほとんどの場合,この方法で設定できる.
日本語版の場合
- 設定対象の仮想マシンを選択し,ネットワーク設定を開く
- 初期設定では NAT が選択されている
- 接続方式を「ブリッジアダプター」に変更する
英語版の場合
- 設定対象の仮想マシンを選択し,ネットワーク設定を開く
- 初期設定では NAT が選択されている
- 接続方式を「Bridged Adapter」に変更する
ホストOS側でブリッジを構成する場合(Ubuntu)
この方法は,ホストOS(Ubuntu)側でブリッジインタフェースを作成し,VirtualBox から利用する方法である.複数の仮想マシンで同一のブリッジを共有する場合や,ネットワーク構成を細かく制御したい場合に有用である.
前提条件:この手順はLinuxのネットワーク設定に関する基本的な知識を必要とする.
- ホストOSで必要なパッケージをインストールする
sudo apt -y install bridge-utils
- ホストOSでブリッジ接続を設定する
/etc/network/interfaces に以下のようなネットワーク設定を追加する(eth0 を実際の物理インタフェース名に,IPアドレス等を環境に合わせて変更すること):
auto br0 iface br0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 bridge_ports eth0 bridge_stp off bridge_fd 0設定後,次のコマンドで設定を反映させる:
sudo /etc/init.d/networking restart
設定の確認は以下のコマンドで行う:
ifconfig -a
br0 インタフェースが表示され,指定したIPアドレスが割り当てられていれば設定は成功である.
- VirtualBox でネットワークインタフェースを設定する
VirtualBox を起動し,対象の仮想マシンのネットワーク設定で,「ブリッジアダプター」を選択し,接続先を手順2で作成した br0 に変更する.
- ゲストOS側でファイアウォールを設定する
ゲストOSのファイアウォール設定で,必要なポートを開放する.SSH接続を行う場合は22番ポートを開放する.
- 動作確認を行う
ホストからゲストへSSH接続を試行し,設定が正しく機能していることを確認する.