Linuxでqemuネットワークを設定する-udevの設定

著者: H.Miura Eメール

qemuでネットワークを使う話し
qemu -hda linux.img のように特に指定をしなかった場合、
/etc/qemu-ifupがあると、TUNインターフェースをつかう。TUNインターフェースはデフォルトではルート権限が必要だ。同様に、-user-netオプションを指定すると、ユーザ権限ですべて動作する。qemu内部でdnsもnatもsambaも処理する。
ちなみにわたしの/etc/qemu-ifupは
~$ cat /etc/qemu-ifup
#!/bin/sh
sudo -p "Password for $0:" /sbin/ifconfig $1 172.20.0.1
sudo sh -c "echo "1" >/proc/sys/net/ipv4/ip_forward"
sudo /sbin/iptables -F -t nat
sudo /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo /sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
sudo /sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
sudo /etc/init.d/bind reload

となる。

sudoを使うので、/etc/sudoerの設定が必要。qemuは/dev/net/tunにアクセスに行くので、udevの設定で権限を変更する必要がある。/etc/udev/にそれらの設定があり、/etc/udev/permissions.rulesを以下のように変更することになる。
#TUN
SUBSYSTEM="misc", SYSFS{dev}="10:200", MODE="0666", GROUP="root"

この記事へのトラックバック アドレス

トラックバック URL (右をクリックし、ショートカット/リンクをコピーして下さい)

1 コメント

コメント from: sudoersの設定に向いたスクリプト [訪問者]
sudoersの設定に向いたスクリプト以下のほうがよいだろう

sudo -p "Password for $0:" /sbin/ifconfig $1 172.20.0.1
sudo sysctl net.ipv4.ip_forward=1
sudo /sbin/iptables -F -t nat
sudo /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
2006/09/03 @ 18:35

コメントを残す


頂いたEメールアドレスはこのサイト上には表示されません

頂いたURLは表示されます。
(改行が自動で <br /> になります)
(名前、Eメールとウエブサイト)
(ユーザに、メッセージ・フォームを通じた連絡を許可します (あなたのEメール・アドレスは表示されません))