web-dev-qa-db-ja.com

VirtualBox内のQEMUとブリッジ接続

ARM QEMUシステムをLANに出力しようとしています。QEMUをWindows(Windows 7 x64)から直接実行しようとしましたが、ブリッジするTAPアダプターを取得できなかった以外は成功しました私のワイヤレス接続。具体的には、Windowsは私のネットワークアダプターのブリッジを拒否しました。

そこで、Ubuntu仮想マシン内でQEMUを使用してみました(驚くべきことに、かなり高速であることが判明したため、これを使い続けたいと思います)。 Ubuntu VMはワイヤレス接続にブリッジされ、正常に動作します。TAPデバイスを使用してUbuntu内にブリッジをセットアップしました。正しくセットアップされていると思いますが、DHCPを取得するために保存します。私のLANからのアドレス、それは動作しません。

  • Windows 7x64ホスト
    • Ubuntu 12.0432ビットVM
      • QEMU ARM DebianSqueezeを実行しています

ルーティングに問題があると思いますが、特定できません。

  • 私のLANは1.1.1.0/24でDHCP用にセットアップされており、ゲートウェイは1.1.1.1です(はい、これはばかげていますが、問題ではありません)
  • Ubuntuの構成は次のとおりです。

[preタグを下で機能させるには、ここにそれほど空白ではない行が必要です...]

br0 Link encap:Ethernet  HWaddr 08:00:27:74:6b:ec  
inet addr:1.1.1.16  Bcast:1.1.1.255  Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe74:6bec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:3135 errors:0 dropped:0 overruns:0 frame:0
TX packets:967 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:681918 (681.9 KB)  TX bytes:79747 (79.7 KB)

eth1 Link encap:Ethernet  HWaddr 08:00:27:74:6b:ec  
inet6 addr: fe80::a00:27ff:fe74:6bec/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
RX packets:14249 errors:0 dropped:0 overruns:0 frame:0
TX packets:5850 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:15166414 (15.1 MB)  TX bytes:431255 (431.2 KB)

tap1 Link encap:Ethernet  HWaddr 96:f3:2d:ae:c8:08  
inet6 addr: fe80::94f3:2dff:feae:c808/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:161 errors:0 dropped:0 overruns:0 frame:0
TX packets:2262 errors:0 dropped:3 overruns:0 carrier:0
collisions:0 txqueuelen:500 
RX bytes:12144 (12.1 KB)  TX bytes:262799 (262.7 KB)

QEMUは次のとおりです。

enter image description here

そして私のサーバーはそれを確認します:

tail /var/log/dnsmasq.leases
1341855255 52:54:00:12:34:56 1.1.1.144 * *

したがって、QEMUはIPアドレスを取得していますが、それ以外は接続されていないようです。

root@arm-emu:~# ping google.com
ping: unknown Host google.com

root@arm-emu:~# ping 1.1.1.1
From 1.1.1.144 Destination Host Unreachable

これは私がブリッジをセットアップするために使用したものです-Ubuntuで:

tunctl -t tap1 -u root
brctl addbr br0
ifconfig eth1 0.0.0.0 promisc
brctl addif br0 eth1
dhclient br0
brctl addif br0 tap1
ifconfig tap1 up

QEMUでは、eth0にDHCPを使用しているだけで、特別な構成はありません。

私はこれを間違っていますか、ブリッジブリッジ接続はどうですか?

7
Nick

遅れていることはわかっていますが、最近同じ問題が発生しました。

主にここで解決策を見つけてください:

http://ajitabhpandey.info/2007/07/interconnecting-qemu-and-virtualbox-virtual-machines/

重要な手順は、IP転送を有効にし、ブリッジインターフェイスでMASQUERADINGを設定することです。

$ echo "1" > /proc/sys/net/ipv4/ip_forward
$ Sudo iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE

これで、QEMUはインターネットにアクセスでき、VirtualBoxとホストからアクセスできます。

ただし、同じLAN上の他のコンピューターにはアクセスできません。

英語は私の第二言語なので、この答えを改善してくれる人は誰でもいただければ幸いです。

3
jjling2011