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 するようにしている。

コメント

このブログの人気の投稿

ICOM IC-7300 と RS-BA1 Version 2 でリモート操作

Windows 11 で Win10Pcap のアンインストール方法

大型特殊自動車免許を取った時の話。