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アドレスを取得し,ネットワーク上の他のコンピュータと同等に扱われる.

ブリッジ接続のメリット

注意事項

VirtualBox の標準機能によるブリッジ接続

以下の手順は,VirtualBox の設定画面から行う標準的な方法である.ほとんどの場合,この方法で設定できる.

日本語版の場合

  1. 設定対象の仮想マシンを選択し,ネットワーク設定を開く
  2. 初期設定では NAT が選択されている
  3. 接続方式を「ブリッジアダプター」に変更する

英語版の場合

  1. 設定対象の仮想マシンを選択し,ネットワーク設定を開く
  2. 初期設定では NAT が選択されている
  3. 接続方式を「Bridged Adapter」に変更する

ホストOS側でブリッジを構成する場合(Ubuntu)

この方法は,ホストOS(Ubuntu)側でブリッジインタフェースを作成し,VirtualBox から利用する方法である.複数の仮想マシンで同一のブリッジを共有する場合や,ネットワーク構成を細かく制御したい場合に有用である.

前提条件:この手順はLinuxのネットワーク設定に関する基本的な知識を必要とする.

  1. ホストOSで必要なパッケージをインストールする
    sudo apt -y install bridge-utils
    
  2. ホスト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アドレスが割り当てられていれば設定は成功である.

  3. VirtualBox でネットワークインタフェースを設定する

    VirtualBox を起動し,対象の仮想マシンのネットワーク設定で,「ブリッジアダプター」を選択し,接続先を手順2で作成した br0 に変更する.

  4. ゲストOS側でファイアウォールを設定する

    ゲストOSのファイアウォール設定で,必要なポートを開放する.SSH接続を行う場合は22番ポートを開放する.

  5. 動作確認を行う

    ホストからゲストへSSH接続を試行し,設定が正しく機能していることを確認する.