qemu/kvmで機能専用のブリッジを設定するには?

qemu/kvmで機能専用のブリッジを設定するには?

システム

私のホストコンピュータはFedora 29を実行しており、インターネット接続はWi-Fiです。私はウェイランドではなくX.orgを使用しています。 qemuのSDLオプションはウェイランドでは機能しないため、cursesオプションで起動するのに問題があります。

質問

学術実験を実行するには、このホストと相互に通信できるさまざまな仮想マシンを設定する必要があります。

私の試み

私はこのガイドに従いました。https://www.linux-kvm.org/page/Networking。内容によると、すべてのゲストが通信できるようにプライベート仮想ブリッジを設定する必要があるようです。sudo nano /etc/qemu-ifupガイドで以下を実行してコピーしました。

#!/bin/sh
set -x

switch=br0

if [ -n "$1" ];then
        # tunctl -u `whoami` -t $1 (use ip tuntap instead!)
        ip tuntap add $1 mode tap user `whoami`
        ip link set $1 up
        sleep 0.5s
        # brctl addif $switch $1 (use ip link instead!)
        ip link set $1 master $switch
        exit 0
else
        echo "Error: no interface specified"
        exit 1
fi

その後、ディレクトリを作成し~/VMsて実行してnano ~/VMs/randmacコピーしました。

#!/bin/bash
# generate a random mac address for the qemu nic
printf 'DE:AD:BE:EF:%02X:%02X\n' $((RANDOM%256)) $((RANDOM%256))

最小のUbuntu isoを以下からダウンロードしました。http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/mini.iso, 次のコマンドを使用します。

sudo chmod 755 /etc/qemu-ifup
cd ~/VMs
cp ~/Downloads/mini.iso .
chmod 755 ./randmac
sudo ip link add br0 type bridge
sudo ifconfig br0 up
qemu-img create -f qcow2 ubuntu-server-0.img 2G
sudo qemu-system-x86_64 -hda ubuntu-server-0.img \
-sdl -cdrom mini.iso -machine type=q35,accel=kvm \
-cpu host -smp 2 -m 512 \
-device e1000,netdev=net0,mac=`./randmac` -netdev tap,id=net0

Live CD は正常に起動しますが、インストーラはネットワークに接続できません。次のエラーが発生します。

ここに画像の説明を入力してください。

それからIPを要求しますが、私が知っている限りIPはありません。 qemu コマンド実行中の端末出力は次のようになります。

+ switch=br0
+ '[' -n tap0 ']'
++ whoami
+ ip tuntap add tap0 mode tap user root
ioctl(TUNSETIFF): Device or resource busy
+ ip link set tap0 up
+ sleep 0.5s
+ ip link set tap0 master br0
+ exit 0

質問

何が間違っていて、どのように修正できるかを知っている人はいますか?

ベストアンサー1

おすすめ記事