2013-01-08

Ubuntu kvm で仮想Ethernetセグメントを作る方法

2,3個のL2セグメントに6台ほどのマシンを配置してネットワークの構築が出来るか実験する必要があったので、Linux kvm を使ってVMを6個起動し、VM間を仮想ネットワークで接続して実験することとした。


おおよその手順は下記の通り



  • /etc/modprobe.d/dummy-nic.conf などの modprobe の設定を下記のようにする。 この場合は dummy interface は 3つになる。


alias dummy0 dummy
alias dummy1 dummy
alias dummy2 dummy
options dummy numdummies=10


  • /etc/network/interfaces に、これらの設定を追加する。


auto dummy0
auto dummy1
auto dummy2
auto br1
auto br2
auto br3
iface br1 inet static
address 192.168.30.130
netmask 255.255.255.0
bridge_ports dummy0
iface br2 inet static
address 192.168.31.130
netmask 255.255.255.0
bridge_ports dummy1
iface br3 inet static
address 192.168.32.130
netmask 255.255.255.0
bridge_ports dummy2
iface dummy0 inet manual
iface dummy1 inet manual
iface dummy2 inet manual



    • Bridge の br0 がここに登場していないが、br0 は物理EthernetとVMをBridgeして繋ぐのに利用している。

    • 各 bridge interface にIPアドレスを割り当てているが、これは別セグメントに繋がった各VMへSSHログインできるように、とりあえず設定しておいた。


  • virt-manager から設定する各VMの仮想ネットワークインターフェスを追加する。 Host device は specify shared device name を選び、Bridge name に接続したい bridge interface の名前を入れる。


Network interface の追加


この設定での注意点だが、各ブリッジに dummy のインターフェースを割り当てるところ。 これをやっていないと、各ブリッジに最初に接続したVMのMACアドレスが、VMホストの brX インターフェースのMACアドレスとして割り当ててしまう。 同じEthernetのリンク上に同じMACアドレスのノードが接続された状態が起きてしまう。 その結果、各 bridge の中で1台だけ通信できないVMが出来てしまう。 VMホストの brX のMACアドレスを決定するために、dummyX インターフェースを作って bridge port するようにしている。

0 件のコメント:

コメントを投稿