web-dev-qa-db-ja.com

複数のkvm / qemuを接続する方法VMゲストをサブネットに接続する

テスト目的で、単一のホスト(Fedora 19)上に存在するKVM/QEMUゲストVMの単純なサブネットワークをセットアップしたいと思います。サブネットには3つのサーバーが含まれます。

1 Debian 6.x

eth0 ip:10.0.0.7 eth1 ip:10.0.2.1

2 Debian 7.x

eth0 ip:10.0.2.2

2 CentOS 6.x

eth0 ip:10.0.2.3

および(おそらく)複数のクライアント。

アイデアは、1つのVM(上記の#1)のみがWANネットワークに接続され、ゲートウェイ/ルーターとして機能するサブネットをシミュレートすることです。残り。

私は現在、ここで説明されているものに基づいたセットアップを実験しています:

http://csortu.blogspot.com/2009/12/building-virtual-network-with-qemu.html

しかし、現時点では、#1以外の他のVMにWAN接続を提供することはできないようです。

私には2つの質問があります:1。もっと簡単な解決策はありますか? 2.(そうでない場合)VM#1をゲートウェイとして使用して他のVMを外界に接続させるにはどうすればよいですか?.

P.s.おそらく、すべてのVMが相互に接続していることを言及する必要がありますが、WANアクセスは#1でのみ利用可能です。

編集:要求に応じて、ここに完全なネットワーク構成があります。

ホスト:10.0.0/24ネットワーク上のホームルーター(10.0.0.1)に直接接続されたFedora 19 x86-64(関連するインターフェイスのみを印刷)

3: wlp12s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 0c:60:76:64:c5:9d brd ff:ff:ff:ff:ff:ff
inet 10.0.0.3/28 brd 10.0.0.15 scope global wlp12s0
   valid_lft forever preferred_lft forever
inet6 fe80::e60:76ff:fe64:c59d/64 scope link 
   valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
link/ether 2e:47:f7:fc:f2:fb brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
   valid_lft forever preferred_lft forever

VM:

1-2つのNICが構成されたDebian6 AMD64(1つはホスト経由でホームネットワークにアクセスするためのもので、もう1つは内部のVMのみの10.0.2/24サブネット用)

これが起動コマンドです(ホームネットワークを反映するようにデフォルトのQEMUユーザーネットワーク構成を変更し、ホストポート2222をゲストのポート22-sshにアクセスするようにリダイレクトしました)

qemu-system-x86_64 -cpu Host -enable-kvm --name Debian6-AMD64 -hda VMs/Debian6/sda.img -hdb VMs/Debian6/sdb.img -net nic,vlan=1 -Net User,vlan=1,hostfwd=tcp::2222-:22,net=10.0.0.0/24,dhcpstart=10.0.0.7 -net nic,vlan=2,macaddr=52:54:00:00:02:01 -net socket,vlan=2,listen=localhost:1234 -m 512 -boot c -nographic

インターフェースの設定は次のとおりです。

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.7/24 brd 10.0.0.255 scope global eth0
inet6 fe80::5054:ff:fe12:3456/64 scope link 
   valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:00:02:01 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.1/24 brd 10.0.2.255 scope global eth1
inet6 fe80::5054:ff:fe00:201/64 scope link 
   valid_lft forever preferred_lft forever

2-1つのNICが構成されたDebian7 AMD64(内部10.0.2/24サブネット)

起動コマンド:

qemu-system-x86_64 -cpu Host -enable-kvm --name Debian7-AMD64 -hda VMs/Debian7/sda.img -hdb VMs/Debian7/sdb.img -net nic,vlan=2,macaddr=52:54:00:00:02:02 -net socket,vlan=2,connect=localhost:1234 -m 512 -boot c -nographic

およびインターフェイス設定

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:00:02:02 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.2/24 brd 10.0.2.255 scope global eth0
inet6 fe80::5054:ff:fe00:202/64 scope link 
   valid_lft forever preferred_lft forever

3-CentOS 6 x86-64、1つNIC構成済み(内部10.0.2/24サブネット)

起動コマンド:

qemu-system-x86_64 -cpu Host -enable-kvm --name CentOS6-x86_64 -hda VMs/CentOS6/sda.img -hdb VMs/CentOS6/sdb.img -net nic,vlan=2,macaddr=52:54:00:00:02:03 -net socket,vlan=2,connect=localhost:1234 -m 512 -boot c -nographic

およびインターフェイス設定

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:00:02:03 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.3/24 brd 10.0.2.255 scope global eth0
inet6 fe80::5054:ff:fe00:203/64 scope link 
   valid_lft forever preferred_lft forever
1
b1tH1de0

Debian6 VM IPパケットを転送するように構成されていますか?

VM Debian 6を指す他の2つのVMでデフォルトルートを構成しましたか?

はいの場合、内部LANを10.x.x.x以外の別のメジャーサブネット、つまり192.168.1.x/24に変更してみてください。

新しい内部サブネットを使用した後、Debian6VMを指すインターネットルーターの内部サブネット192.168.1.xへのルートを構成する必要があります。

1
aseaudi