2008/02/08

192.168.122.0/24へのルーティングを消す(libvirt)

以前に『169.254.0.0/16への経路を消す(APIPA)』という記事を書いたが、CentOS 5.1では、これと同様に、設定した覚えのない192.168.122/24への経路が設定されてることがある。
$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.55.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
224.0.0.0 0.0.0.0 240.0.0.0 U 0 0 0 eth0
0.0.0.0 192.168.55.254 0.0.0.0 UG 0 0 0 eth0
$
見て判る通り、virbr0というインターフェースに接続されている。
$ ifconfig virbr0
virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:468 (468.0 b)

$
これは、名前から判る通り、仮想ブリッジだ。
$ brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 no
$

これを消すには、以下の通り実行後、再起動する。
# virsh net-autostart default --disable
Network default unmarked as autostarted

#

これは、仮想化統合のためのパッケージ、libvirtを導入した場合に設定される。この仮想ブリッジではDHCPとDNSが動作していて、ここに仮想マシンを接続すると、NATされて外と通信することができる様になっている。
# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 192.168.122.0/24 anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
#

その定義は、/etc/libvirt/qemu/networks/default.xmlにある。このネットワークのIPアドレスを変更したいのであれば、このファイルの内容を変更し、再起動する。

2 件のコメント:

Hoihoi-p さんのコメント...

はじめまして。hoihoi-p と申します。
http://hoihoi-p.yosiki.org/blog/662 へ、リンクを張らせて頂きました。

りょう さんのコメント...

リンクはご自由にどうぞ。
役に立てれば幸いです。