VirtualBox 4 のネットワーク設定(Windows→Linux SSH接続)

VirtualBox のネットワーク設定


ホストOS(WindowsXP)→ゲストOS(CentOS)にて以下の設定を行う。

  • ゲストOSから外部ネットワークへ疎通可能
  • ホストOSとゲストOSとの間で疎通(SSH or TELNET接続)

上記を実現するには、NATとHost-Onlyという2つのネットワーク構成を組み合わせて使う。この組み合わせは、以下のような人が対象。

  • VirtualBOX使用目的が、個人勉強
  • ゲストOSに外部からは接続させたくない
  • でもホストOSからはSSHTELNETで接続させたい
  • セキュリティは安全なほうが良い

■ ゲストOSから外部ネットワークへ疎通可能にする。


VirtualBoxが行うNATの機能により、HostOSのNICを使って外部と通信できるようになります。詳しくいうと、GuestOSをHostOSや外部から隠蔽するが、GuestOSは外部と通信できる。GuestOSからHostOSへの接続はできるが、HostOSからGuestOSへアクセスすることはできない。

1.VirtualBOXのネットワーク設定
ゲストOSが停止している状態で、VirtualBoxメイン画面にて仮想マシンを選択 -> [設定(S)] -> [ネットワーク]を選択する。アダプタ1を選択し、割り当てをNAT、アダプタタイプを準仮想化ネットワークに設定して保存。

2.ゲストOS側で反映確認
ゲストOSを起動し、ifconfigにてネットワークインタフェースが反映されていることを確認する。eth0がさっきの設定したNICです。

3.外部へ疎通確認
ゲストOSから外部ネットワークへ疎通
ブラウザなどを開きましょう。正常にインターネットへ接続できたら外への疎通はOKです。
現在の設定だと、DHCPによる自動取得になっています。問題なければそのままでOK。デフォルトだとDNSも自動取得になっているため、上手くいかない場合は、静的に設定する必要があります。やり方については今回の焦点とは異なるので割愛。

■ ホストOSとゲストOSとの間で疎通(SSH接続)


ここからは新しいNICの設定。ホストオンリー アダプタを使用する。この設定を行うと、ホストOSとゲストOSが繋がるようになる。詳しくいうと、ホストOSとゲストOSの両方に同一セグメント内の仮想NICが作成され、双方向の疎通が可能となる。(ホストOSのデフォルトのIPアドレスは192.168.56.1、ゲストOSのIPアドレスは192.168.56.100。)

4.VirtualBOXのネットワーク設定
ゲストOSが停止している状態で、VirtualBoxメイン画面にて仮想マシンを選択 -> [設定(S)] -> [ネットワーク]を選択する。アダプタ2を選択し、割り当てをホストオンリーアダプタ、アダプタタイプを準仮想化ネットワークに設定して保存。

5.ゲストOS側で反映確認
ゲストOSを起動し、ifconfigにてネットワークインタフェースが反映されていることを確認する。eth1がさっきの設定したNICです。
inet addr:192.168.56.102っていうのはゲストOSのプライベートIPアドレス。このままだとDHCPによる自動設定ですが、問題ない人は次へ。運用上固定にしたい場合は別途設定。ここでは割愛する。

6.ホストOSとゲストOSとの間で疎通確認
まずはpingで確認。通れば疎通がとれていることになります。失敗する場合は、ゲストOS側のファイアーウォールの設定を見直してみてください。

6.ホストOSからゲストOSへSSH接続
pingが通ってファイアーウォールの設定が出来ていれば、成功するはずです。
ここではsshServerの設定や、ファイアウォールの設定は割愛する。

teratermを使って確認。指定するIPはさっきのゲストOSのプライベートアドレス

できました。




補足とまとめ
VirtualBox のネットワークアダプタの設定では、他にブリッジとインターネットネットワークというのがあるので、各対応アダプタごとに簡単に補足していく。


ホストオンリーアダプタ


  • VirtualBOX使用目的が、個人勉強
  • ゲストOSに外部からは接続させたくない
  • でもホストOSからはSSHTELNETで接続させたい
  • セキュリティは安全なほうが良い

最初は全体像がわかりにくいのが欠点。

ブリッジアダプタ


  • ゲストOSに外部のPCからつなげたい人向け。
  • ゲストOSの知識や、セキュリティが詳しい人推奨。
  • GuestOSは外部から隠蔽されない
  • GuestOSは、HostOSと同様にNICを利用できる。
  • GuestOSに設定されたIPアドレスは外部からもアクセス可能。

一番全体像がわかりやすい接続形態。

内部ネットワーク


  • ゲストOS同士だけで疎通を取りたい人向け。
  • GuestOS同士は通信可能だが、外部からは隠蔽される
  • GuestOSが複数ある場合、GuestOS間でネットワーク通信可能。
  • 外部またはHostOSとの通信は行えない。

アダプタについて、こちらのサイトのほうが詳しく書いてあるので参考に。
詳しくはこちらhttp://nwing.knowd.co.jp/yamazaki/index.php?q=node/169