我有一台运行 Linux 的计算机。它安装了 qemu。它有一个桥接接口br0配置了以下设置:
IP: 10.1.1.1
Netmask: 255.255.255.0
还有一个tap0添加到的接口br0。tap0应该用于在 qemu 内部运行的网络客户机。
我正在 qemu 中从其 LiveCD 运行 Slax Linux,如下所示:
qemu -kernel-kqemu \
-net nic,vlan=0,macaddr=aa:aa:aa:aa:aa:aa,model=pcnet \
-net tap,vlan=0,ifname=tap0,script=/etc/qemu-ifup \
-m 512 \
-cdrom slax-6.0.7.iso \
1>stdout.log 2>stderr.log
我正在以文本模式启动 Slax(不需要 X,因为我的目标是测试网络)。我正在客户机中配置网络接口,如下所示:
IP: 10.1.1.4
Netmask: 255.255.255.0
Gateway: 10.1.1.1
一切运行良好,我可以双向 ping :
10.1.1.1 -> 10.1.1.4
10.1.1.4 -> 10.1.1.1
现在我用 qemu 镜像替换 Slax LiveCD,其中包含新安装的 OpenBSD 4.5。我像这样运行它:
qemu -kernel-kqemu \
-net nic,vlan=0,macaddr=aa:aa:aa:aa:aa:aa,model=pcnet \
-net tap,vlan=0,ifname=tap0,script=/etc/qemu-ifup \
-m 512 \
-hda obsd.img \
1>stdout.log 2>stderr.log
OpenBSD 启动时,我以完全相同的方式配置其网络接口:
IP: 10.1.1.4
Netmask: 255.255.255.0
Gateway: 10.1.1.1
现在我无法向任何方向 ping 通。
qemu 日志不包含任何提示。
这也不是防火墙问题:OpenBSD 4.5 默认没有启用 pf。以下是其代码片段/etc/rc.conf:
pf=NO # Packet filter / NAT
答案1
这似乎是一个已知回归在 QEMU 版本中包括但不限于 0.10.4 和 0.10.5。显然,使用 model=rtl8139 和 QEMU 0.9.1 是可行的,所以您可能想尝试一下。
答案2
我不认为 openbsd 会自行制定你的默认路由
您可以使用 route show -inet 进行检查
您应该得到类似的结果:
bash-3.2# route show -inet
路由表
互联网:
目标网关标志引用使用 Mtu Prio Iface
默认 10.1.1.1 UGS 1 1600975 - 48 em0
...
如果它工作正常,如果没有默认值,那么您需要将 10.1.1.1 添加到 /etc/mygate,以便它在启动时添加它并使用手动创建路由
路由添加默认网关 10.1.1.1