LoginSignup
13

More than 5 years have passed since last update.

virtual boxの仮想マシンがtagged VLANのネットワークに接続する方法

Last updated at Posted at 2013-04-29

記憶をたよりに書いているので、間違っていたらごめんなさい。

モチベーション

  • 複数の仮想マシンを同じVLANに接続したい
    • 説明のために、VLAN100とする
  • 仮想マシンにはVLANを意識させたくない
    • 設定が面倒なので
  • NICは1枚
    • IEEE802.1Qのtagged VLANを活用する
  • ホストマシンにはVLAN100のIPアドレスを振りたくない

試した環境

ホストマシン: ubuntu 12.04.2 LTS 64bit
仮想マシン: ubuntu 12.04.2 LTS 64bit (vagrantの配布しているイメージを利用)

設定手順

  1. ホストマシンにtagged VLAN用パッケージを導入する

    sudo apt-get install vlan
    
  2. ホストマシンのVLANの設定をする

    # vlan用のモジュールを読み込む
    sudo modprobe 8021q
    # 再起動後にも有効になるようにする
    sudo vim /etc/modules
    ファイルの末尾に8021qと追記
    # vlanのインターフェスを追加
    # 例: eth0に対してVLAN id 100のタグをつけたパケットを流したいとき
    sudo vconfig add eth0 100
    
  3. 本当に追加されたかチェック

    # うまくいっていれば、eth0.100というインタフェースが見える
    ifconfig
    
    # もし見えていなければ、以下のコマンドを試してみる
    # sudo ifconfig eth0.100 up
    

    ここでVLAN id 100に対応するIPアドレスをeth0.100に割り当てる必要はない。

  4. 仮想マシンのネットワークを設定する

    Virtual Boxの仮想マシンの設定でeth0.100とのブリッジ接続のインタフェースを追加する
    # CLI から設定する場合はVBoxManage modifyvm コマンドを活用すると思われる
    
  5. 仮想マシンを立ち上げて、ネットワークにつながるか確認する

    仮想マシンにログインして、DHCPでよければDHCP、固定IPアドレスならIPアドレスを割り当てる。
    ubuntuのネットワークをCLIで設定する場合は /etc/network/interfaces を編集する。
    仮想マシン上でroute コマンドで、default gatewayが複数存在しないか確認する(仮想マシンに複数nicを設定している場合はよくはまる)。

    vagrantのページからダウンロードできるprecise64は、/etc/rc.d/rc.local でデフォルトゲートウェイの設定を行っているので、ここを修正する必要があるかも。

課題

  • ホストマシン再起動時にvlanのインタフェースが消えてしまうので、vconfig add, ifconfig up をもう一度やる必要がある

/etc/network/intefaces にeth0.100を構成する設定を追加すればよいという記述を見るが、うまくいかない。

そのほか

  • ほかの仮想化環境(vmplayer等)でも同じように設定できそう

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13