VirtualBox で,仮想マシンの仮想ネットワークインタフェースを,ホストOSにブリッジ接続
Oracle VM VirtualBox は,仮想マシンを実現するソフトウェアである.
仮想マシンのゲストOSへ外部から遠隔ログインできるようにするには, 仮想マシンの仮想ネットワークインタフェースをホストOSにブリッジ接続する設定が必要である.
目次
【関連する外部ページ】
VirtualBox の公式ページ: https://www.virtualbox.org/
ブリッジ接続とは
VirtualBox の初期設定では,ネットワーク接続方式としてNAT(Network Address Translation.ゲストOSのアドレスをホストOSのアドレスに変換して外部と通信する方式)が選択されている.NAT では,ゲストOSはホストOSを経由してネットワークに接続する.この場合,ゲストOSは外部ネットワークへアクセスできるが,外部からゲストOSへ直接アクセスすることはできない.
ブリッジ接続では,ゲストOSがホストOSと同じネットワークに直接接続される.ゲストOSは独立したIPアドレスを取得し,ネットワーク上の他のコンピュータと同等に扱われる.
ブリッジ接続のメリット
- ゲストOSに外部から直接アクセスできる(SSH,Webサーバへのアクセス等).
- ゲストOSが独立したIPアドレスを持つため,ネットワーク上で独立したマシンとして認識される.
- ホストOSとゲストOS間,および他のマシンとゲストOS間で,双方向の通信ができる.
注意事項
- ゲストOSがネットワークに直接接続されるため,ゲストOS側で適切なセキュリティ設定(ファイアウォール,不要なサービスの停止等)が必要である.
- DHCPサーバ(IPアドレスを自動で割り当てるサーバ)が存在するネットワーク環境では,ゲストOSに自動的にIPアドレスが割り当てられる.固定IPアドレスが必要な場合は,ゲストOS側で設定する.
- 企業ネットワーク等では,セキュリティポリシーによりブリッジ接続が制限されている場合がある.
VirtualBox の標準機能によるブリッジ接続
以下の手順は,VirtualBox の設定画面から行う標準的な方法である.ほとんどの場合,この方法で設定できる.
日本語版の場合
- 設定対象の仮想マシンを選択し,ネットワーク設定を開く
- 初期設定では NAT が選択されている
- 接続方式を「ブリッジアダプター」に変更する
英語版の場合
- 設定対象の仮想マシンを選択し,ネットワーク設定を開く
- 初期設定では NAT が選択されている
- 接続方式を「Bridged Adapter」に変更する
ホストOS側でブリッジを構成する場合(Ubuntu)
この方法は,ホストOS(Ubuntu)側でブリッジインタフェースを作成し,VirtualBox から利用する方法である.複数の仮想マシンで同一のブリッジを共有する場合や,ネットワーク構成を細かく制御したい場合に有用である.
現在の Ubuntu(18.04 以降)では,ネットワーク設定は Netplan で行う.Netplan は,YAML 形式の設定ファイルに記述した内容を反映させる仕組みである(旧来の /etc/network/interfaces による設定と,bridge-utils パッケージは現在のUbuntuのサーバOSでは標準ではない).以下では Netplan によるブリッジ構成を示す.
前提条件:この手順は,Linuxのネットワーク設定に関する基本的な知識を必要とする.
- ホストOSでブリッジを設定する
/etc/netplan/に設定ファイル(例:01-bridge.yaml)を作成し,以下のように記述する(eth0を実際の物理インタフェース名に,IPアドレス等を環境に合わせて変更すること):network: version: 2 renderer: networkd ethernets: eth0: dhcp4: false bridges: br0: interfaces: - eth0 addresses: - 192.168.1.100/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] parameters: stp: false forward-delay: 0設定後,次のコマンドで設定を反映させる:
sudo netplan apply
設定の確認は以下のコマンドで行う:
ip addr show br0
br0 インタフェースが表示され,指定したIPアドレスが割り当てられていれば設定は成功である.
- VirtualBox でネットワークインタフェースを設定する
VirtualBox を起動し,対象の仮想マシンのネットワーク設定で,「ブリッジアダプター」を選択し,接続先を手順1で作成した br0 に変更する.
- ゲストOS側でファイアウォールを設定する
ゲストOSのファイアウォール設定で,必要なポートを開放する.SSH接続を行う場合は22番ポートを開放する.
- 動作確認を行う
ホストからゲストへSSH接続を試行し,設定が正しく機能していることを確認する.