Fedora12でKVM+SPICEを使ってみた(2)
現段階では、SPICE機能付きのQEMUで起動する時には コマンドラインから起動を行う必要があるのだが、この際、リンク先 ( http://www.linux-kvm.com/content/getting-started-spice-fedora-12 ) のコマンド
/usr/libexec/qemu-spice \ -hda /var/lib/libvirt/images/Centos4-Devel.qcow2 \ -m 512 -qxl 1 \ -spice port=5930,disable-ticketing &
だと、ブリッジへの接続方法がlibvirtを使用した場合と異なるので注意が必要である。QEMUのネットワーク設定についてはこちらを参照。。
http://www.h7.dion.ne.jp/~qemu-win/qemu-doc-ja.html
上のコマンドでは、QEMUのデフォルト設定 (-net オプションが無い場合) が適用されるのだが、この場合には、作成されたVMにはイーサネット一つが提供され、ホストOS側には、10.0.2.0/24 (??)のインターフェースが内部的に作成される。(ただし、ifconfig, ip addr show を使っても、見えなかったので、普通のネットワークインターフェースとは違うらしい。。)
ゲストOSからホストOSに対してログインするには、次のようにssh等を実施すればよい。
$ ssh 10.0.2.2
ホストOS経由で外部サイト(youtubeなど)に接続するためには、もう少し事情が複雑で、ホストOS側で通信のルーティングを行う必要がある。とはいえ、Fedora12では最初からルーティングが可能な状態らしく、特に工夫することもないのだが。。 w
ゲストOS側では、少なくとも次の設定が必要なようである。(10.0.2.2 はホストOSのIP)
# route add default gw 10.0.2.2 # vi /etc/resolv.conf (ホストOSが使用しているIPと同一のIPを指定)
デフォルトゲートウェイとしてホストOSに渡しておけば、後はホストOSが通常のルーティングに従って、外部サイトまでつないでくれるはずである。w ただし、参考リンクにも記述がある通り、外部へのpingが通らないので、稼働確認はcurl, wget などで行うこと。orz
なおeth0へのIP付与はQEMU提供のDHCPにより行われるようである。他にホストOS側で設定変更を行っている場合には、ホストOS側で、 sysctl -w net.ipv4.ip_forward=1 も必要になるかもしれない。
筆者はネットワーク設定でかなり戸惑ったので、念のため書き残しておこう。。orz