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