読者です 読者をやめる 読者になる 読者になる

はわわーっ

はわわわわっ

qemuネットワークメモ

NATネットワーク的なものをやりたい。

必要なパッケージをインストール。

$ sudo apt-get install bridge-utils uml-utilities

dhcpdとかiptablesとか必要があればインストールして設定。

ブリッジの設定。

$ sudo brctl addbr kvm0
$ sudo ip link set dev kvm0 up
$ sudo ip addr add 192.168.3.1/24 dev kvm0

/etc/qemu-ifupでtapをkvm0に接続するようにする。

#! /bin/sh

/bin/ip link set "$1" up
/bin/ip link set "$1" master kvm0
exit

qemuを起動。

$ sudo -E qemu-system-x86_64 -enable-kvm -daemonize \
        -smp 2 -m 2048 -hda test.img \
        -net nic,macaddr=52:54:00:13:6a:a5 -net tap

tap0のインタフェースを作るのにroot権限が必要。環境変数DISPLAYを引き継ぐために -E をつけてる。

グループの設定とかでsudoなしで起動できるようにしたい。

実行するコマンドにcap_net_adminのcapabilityを設定すればいいらしい。

$ sudo setcap cap_net_admin+ep /usr/bin/qemu-system-x86_64
$ sudo setcap cap_net_admin+ep /bin/ip

これでsudoなしで起動できるようになった。