QEMUでtapなブリッジネットワークをsystemd-networkdで使う

最初は上記URLのArchWikiの内容みたいにqemu-ifupやqemu-ifdownを使った方法でやっていたが、仮想マシンの起動と終了時にホストのネットワークが途切れるという問題が起こっていた。systemd-networkdで何とかしようと思ったが、どうもうまく行かなかったので、しばらくはArchWikiの様な方法で放置していたが、さっき調べ直して設定し直した。
そうしたら、ネットワークが途切れるという問題は解決した様だ。
/etc/systemd/network/*は次のようにした。
/etc/systemd/network/bridge.netdev

[NetDev]
Name=br0
Kind=bridge

/etc/systemd/network/bridge.network

[Match]
Name=br0

[Network]
DHCP=ipv4

[DHCP]
ClientIdentifier=mac

/etc/systemd/network/en.network

[Match]
Name=en*

[Network]
Bridge=br0

/etc/systemd/network/tap.netdev

[NetDev]
Name=tap0
Kind=tap

/etc/systemd/network/tap.network

[Match]
Name=tap*

[Network]
Bridge=br0

そして、qemuに渡す引数は次のような感じだ。

-netdev tap,ifname="tap0",id=mynet0,script=no,downscript=no \
-device virtio-net-pci,mac="(ランダムなMACアドレス)",netdev=mynet0

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です