KVMゲストをワイヤレスでインターネットに接続する方法

KVMゲストをワイヤレスでインターネットに接続する方法

私のワイヤレスネットワークアダプタはブリッジングをサポートしていないので、ゲストVMをオープンインターネットに接続し、ホストと同じネットワークにIPアドレスを持つことは本当に難しいです。 Ubuntu 10.10を使用していますが、KVMのバージョンがvdeをサポートしていないため、より困難になりました。この問題をどのように解決できますか?

@stribikaのアイデアは素晴らしいですが、VMをホストと同じネットワークに接続することを好みます。たとえば、私のホストネットワークは192.168.1.0で、私の仮想マシンネットワークも同じになりたいです。

答え1

ユーザーモードのネットワークスタックが利用可能である必要があります。次のようにqemuを起動します。

qemu-system-x86_64 \
    -smp 1 -m 1024 \
    -net user,net=10.0.0.0/8,host=10.0.0.1,hostfwd=tcp:127.0.0.1:2222-10.0.0.2:22 \
    -net nic \
    -cdrom systemrescuecd-x86-2.0.1.iso -boot d

重要なオプション:

  • -net nic:ゲストの仮想ネットワークカードを表示します。
  • -net user:ホストのqemuプロセスが他のプロセスと同じように物理ネットワークを介して通信できるようにします。
  • net=10.0.0.0/8: 仮想ネットワークのサブネット
  • host=10.0.0.1:仮想ネットワークのホストIPアドレス
  • hostfwd=tcp:127.0.0.1:2222-10.0.0.2:22:ホストのqemuプロセスは、ポート2222でlocalhostのTCP接続をリッスンし、それを仮想ネットワーク10.0.0.2:22に転送します(新しい仮想マシンでsshできるように)。

ゲストラン

ifconfig eth0 10.0.0.2 up
ip route add default via 10.0.0.1 dev eth0

ホストからゲストへのSSHテスト

ssh 127.0.0.1 -p 2222

ゲストからホストへ

ssh 10.0.0.1

ゲストインターネットアクセシビリティテスト

wget google.com

ホストプロセスはNATルータのように動作します。 TCPおよびUDPトラフィックのみ有効です。特に、pingはゲストとホストの間でのみ機能し、google.com(私が一般的に使用するネットワークテスト方法)ではpingを実行できません。この方法の利点は、root権限でさえ必要ないことです。

答え2

注意-22:インターネット接続の完全な目的がゲストにopenssh-serverをインストールすることである場合、ホストはゲストにSSHを介して接続できません。

関連情報