我正试图在我的局域网上安装一个ARM QEMU系统。我尝试直接从Windows(Windows 7 x64)运行QEMU,但除了我无法使用TAP适配器桥接到我的无线连接之外。具体来说,Windows拒绝桥接我的任何网络适配器。
所以,我尝试在一个Ubuntu虚拟机中使用QEMU(令人惊讶的是,它变得相当快,这就是为什么我要坚持使用它)。 Ubuntu VM桥接到我的无线连接,工作正常。我使用TAP设备在Ubuntu中设置了一个桥接器,我相信它设置正确,但除了从我的LAN获取DHCP地址外,它将无法工作。
- Windows 7 x64主机
- Ubuntu 12.04 32位VM
- QEMU ARM运行Debian Squeeze
- Ubuntu 12.04 32位VM
我相信存在路由问题,但我无法确定它。
- 我的局域网在1.1.1.0/24设置为DHCP,网关是1.1.1.1(是的,这是愚蠢但不是问题)
- Ubuntu具有以下配置:
[这里需要一个不太常见的空白行,以便预标记在下面工作......]
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如下:
我的服务器证实了这一点:
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中,我只使用DHCP进行eth0,没有特殊配置。
我做错了,我的桥接连接是什么?
嗨,@尼克,你在设置方面取得了成功吗?我在Ubuntu VirtualBox中运行的Android模拟器有类似的问题。
—
Иван
有许多级别可以在两台主机上丢弃流量:netfilter,ARP,桥接,路由。如果不是私有的,您可以在主机和来宾上发送以下内容的输出吗?
—
pilona
iptables-save; ip r; ip n; ip -4 a
。在主持人,请也运行 bridge fdb; bridge link
。我也很高兴看到用于运行QEMU的参数。
要自己调试,请尝试运行
—
pilona
tcpdump port 53 or icmp
或者你最喜欢的数据包嗅探器,在所有这三台机器上。您将希望在执行桥接的那些实例上运行两个实例,以查看是否正在接收和重新传输数据包。