kvmネットワークの設定方法(bridgeを使用)

(注意! network越しの向う側のサーバでこの手順でやると、networkが切断されてしまい、
はるばるそのサーバ実機のところまで出かけるはめになりまする)
どうやって回避するか考え中www

(もうそろそろGUI(virt_managerだっけ?)に移行かwww)
まず、ホストOSのetherPortをpromiscにする。
設定前と設定後はこうなる。(promiscにする必要あるかね?)

deb505-64-38:~# ip addr
1: lo:  mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 18:a9:05:55:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.38/24 brd 192.168.1.255 scope global eth0
    inet6 2001:c90:ea4:3011:1aa9:5ff:fe55:xxxx/64 scope global dynamic 
       valid_lft 2591977sec preferred_lft 604777sec
    inet6 fe80::1aa9:5ff:fe55:xxxx/64 scope link 
       valid_lft forever preferred_lft forever

deb505-64-38:~# ip link set eth0 promisc on

deb505-64-38:~# ip addr
1: lo:  mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 18:a9:05:55:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.38/24 brd 192.168.1.255 scope global eth0
    inet6 2001:c90:ea4:3011:1aa9:5ff:fe55:xxxx/64 scope global dynamic 
       valid_lft 2591924sec preferred_lft 604724sec
    inet6 fe80::1aa9:5ff:fe55:xxxx/64 scope link 
       valid_lft forever preferred_lft forever
deb505-64-38:~#

つづいて brctlコマンドでbr0なるether bridgeを作成
(注意! network越しの向う側のサーバでこの手順でやると、networkが切断されてしまい、
そのサーバのところまでいかなくてはなりませぬ。)
なにかいい手ないか?

結局一番最初にすましてけってことかな?(redhat系の場合)
http://research.sakura.ad.jp/2010/03/12/kvm-network/
いやいや、結局こっちでしょ (debian系の場合)
http://www.usupi.org/sysad/162.html

結局、設定ファイルで逃げてみました (弱っ!)

deb505-64-32:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug eth0
#iface eth0 inet static
#address 192.168.1.32
#netmask 255.255.255.0
#gateway 192.168.1.1

#auto eth0
######################### brctl 201102 for kvm
 auto eth0
  iface eth0 inet static
    address 0.0.0.0

  auto br0
  iface br0 inet static
    address 192.168.1.32
    netmask 255.255.255.0
    network 192.168.1.255
    bridge_ports eth0 
    bridge_stp off
    gateway 192.168.1.1

deb505-64-32:~# 


38サーバでの事前の準備は
1) /etc/sudoersにkvmグループに所属するuserを登録(ここではhirasawa)
2) てけとーなディレクトリにkvm imageをコピー

ssh -X にてXプロトコルを透過するようにしつつ、38サーバにログイン
んで、

hirasawa@deb505-64-38:/mnt/mnt1$ ls -ltr
合計 17386156
drwx------ 2 root root      16384 2011-01-05 22:32 lost+found
  • rw-r--r-- 1 root root 5928665088 2011-02-07 19:46 cent5-i386-orig.img
  • rw-r--r-- 1 root root 5928665088 2011-02-07 19:53 cent5-i386-ldap110.img
  • rw-r--r-- 1 root root 5928665088 2011-02-07 19:58 cent5-i386-ldap111.img
hirasawa@deb505-64-38:/mnt/mnt1$ hirasawa@deb505-64-38:/mnt/mnt1$ ip addr 1: lo: mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 18:a9:05:55:3f:88 brd ff:ff:ff:ff:ff:ff inet6 fe80::1aa9:5ff:fe55:3f88/64 scope link valid_lft forever preferred_lft forever 3: br0: mtu 1500 qdisc noqueue state UNKNOWN link/ether 18:a9:05:55:3f:88 brd ff:ff:ff:ff:ff:ff inet 192.168.1.38/24 brd 192.168.1.255 scope global br0 inet6 2001:c90:ea4:3011:2ff:14ff:fe62:937b/64 scope global dynamic valid_lft 2591044sec preferred_lft 603844sec inet6 2001:c90:ea4:3011:1aa9:5ff:fe55:3f88/64 scope global dynamic valid_lft 2591894sec preferred_lft 604694sec inet6 fe80::1aa9:5ff:fe55:3f88/64 scope link valid_lft forever preferred_lft forever hirasawa@deb505-64-38:/mnt/mnt1$ sudo brctl show bridge name bridge id STP enabled interfaces br0 8000.18a905553f88 no eth0 hirasawa@deb505-64-38:/mnt/mnt1$ sudo kvm -hda cent5-i386-ldap110.img -boot c -m 1GB -monitor stdio -net nic,macaddr=52:54:00:00:01:10 -net tap,ifname=tap0,script=/etc/kvm/kvm-ifup QEMU 0.9.1 monitor - type 'help' for more information (qemu)

ブラボー

最初に立ち上げたゲストosはtap0を、複数のゲストOSを立ち上げる場合はtap1,2,3って感じでインクリメントさせていく。

二つのゲストOSを立ち上げた時のbrctl,ipコマンドは次のように見える

deb505-64-38:~# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.00ff3f106e1e	no		eth0
							tap0
							tap1
deb505-64-38:~# ip addr
1: lo:  mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 18:a9:05:55:3f:88 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::1aa9:5ff:fe55:3f88/64 scope link 
       valid_lft forever preferred_lft forever
3: br0:  mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 00:ff:3f:10:6e:1e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.38/24 brd 192.168.1.255 scope global br0
    inet6 2001:c90:ea4:3011:2ff:3fff:fe10:6e1e/64 scope global dynamic 
       valid_lft 2591946sec preferred_lft 604746sec
    inet6 2001:c90:ea4:3011:2ff:f1ff:fe93:d583/64 scope global dynamic 
       valid_lft 2589452sec preferred_lft 602252sec
    inet6 2001:c90:ea4:3011:2ff:14ff:fe62:937b/64 scope global dynamic 
       valid_lft 2586804sec preferred_lft 599604sec
    inet6 2001:c90:ea4:3011:1aa9:5ff:fe55:3f88/64 scope global dynamic 
       valid_lft 2589825sec preferred_lft 602625sec
    inet6 fe80::1aa9:5ff:fe55:3f88/64 scope link 
       valid_lft forever preferred_lft forever
8: tap0:  mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
    link/ether 00:ff:d7:a0:06:d2 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::2ff:d7ff:fea0:6d2/64 scope link 
       valid_lft forever preferred_lft forever
9: tap1:  mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
    link/ether 00:ff:3f:10:6e:1e brd ff:ff:ff:ff:ff:ff
    inet6 fe80::2ff:3fff:fe10:6e1e/64 scope link 
       valid_lft forever preferred_lft forever
deb505-64-38:~#