複数のQEMU仮想マシンに静的IPを割り当てる

複数のQEMU仮想マシンに静的IPを割り当てる

Linux に関する私のネットワーク知識はかなり限られているため、VM 同士が通信する必要があるため、各 VM に静的 IP アドレスを割り当てようとしています。

私は、TUN/TAP インターフェイスに関する QEMU ネットワーク ドキュメントをいくつか読んでおり、また br0 を qemu-ifup と qemu-ifdown で構成しています。しかし、WiFi 接続が完全に失われましたが、回復したばかりです。そこで、具体的に何をすべきかについてのヒントが得られるかどうか調べてみることにしました。

基本的に、ホスト マシンから 3 つの VM が作成され、静的 IP が割り当てられ、ホストだけでなく相互に通信できるような構成にする必要があります。現在、すべての VM は同じ MAC アドレスと IP アドレスを共有しています。

基本的に同じコマンドですべての VM を起動していますが、-netパラメータを変更する必要があると考えています。

QEMU VM の起動例:

sudo ./qemu-system-x86_64 \
     -drive file=drive.img,format=raw \
    -boot d \
    -k en-us \
    -object can-bus,id=canbus0 \
    -object can-bus,id=canbus1 \
    -device mioe3680_pci,canbus0=canbus0,canbus1=canbus1 \
    -object can-host-socketcan,id=canhost0,if=can0,canbus=canbus0,if=vcan0 \
    -object can-host-socketcan,id=canhost1,if=can1,canbus=canbus1,if=vcan1 \
    -m size=2048 \
    -nic user,hostfwd=tcp::6022-:22 \
    -netdev bridge,id=hn0,  \           
    -smp 4 \
    -enable-kvm &

この VM に SSH で接続することはできますssh user@localhost -p 6022が、私が作成しようとしているソフトウェアが動作するには、各 VM 間で TCP 通信を行う必要があるため、これらの VM には静的 IP アドレスが必要です。

私のホストは Ubuntu 20.04 を実行しており、VM の 1 つは Ubuntu 16.04 Xenial を実行しており、もう 1 つは Centos 7 を実行しています。

したがって、基本的に私が望む構成は次のようになります。

host = 192.168.1.80
vm1 = 192.168.1.2
vm2 = 192.168.1.22
vm3 = 192.168.1.3

関連情報