« 世界3大がっかりqemu がSEGFAULT »

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

2005/08/24

  15:05:51 by , Categories: Linux

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"

Trackback address for this post

Trackback URL (right click and copy shortcut/link location)

1 comment

Comment from: sudoersの設定に向いたスクリプト [Visitor]
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

This post has 1 feedback awaiting moderation...


Form is loading...