我正在创建一个简单的 p2p 应用程序。为了测试这一点,我希望能够模拟一个由大约 2-3 台计算机组成的简单网络,这样应用程序的每个实例都认为它在不同的计算机上,并通过网络与其他计算机通信。我考虑过 qemu,但没有设法使用 VDE 或 TUN/TAP 使网络正常工作。他们还有其他解决方案吗?
问问题
312 次
3 回答
4
使用在 Virtual PC 上运行的虚拟机(Sun 的 Virtual Box 是另一个不错的选择),您可能会有更好的运气。
于 2009-10-20T15:19:41.000 回答
1
这是使用 vde 和 qemu 的示例。不需要配置防火墙/路由。设置起来要简单得多。运行 qemu 不需要 root 权限。便于使用。测试和工作。
# brctl addbr br0
# brctl addif br0 eth0
# dhclient br0
# vde_tunctl -u testuser -t tap0
# ifconfig tap0 up
# brctl addif br0 tap0
# brctl setfd br0 0
$ vde_switch -d -s /tmp/vde0 -M /tmp/vde0mgmt
$ vde_plug2tap -d -s /tmp/vde0 tap0
$ vdeqemu -hda testdisk1.qcow2 ... -net nic,macaddr=... -net vde,sock=/tmp/vde0
$ vdeqemu -hda testdisk2.qcow2 ... -net nic,macaddr=... -net vde,sock=/tmp/vde0
您可以参考http://selamatpagicikgu.wordpress.com/2011/06/08/quickhowto-qemu-networking-using-vde-tuntap-and-bridge/上的简单图表
于 2014-02-28T05:09:38.800 回答
0
我最近在笔记本电脑上使用 VirtualBox 和 VDE 建立了一个无法访问互联网的小型网络。VirtualBox 4.0.6 与 VDE 原生集成。设置 VDE 应该像启动交换机一样简单:
vde_switch -s /tmp/switch1
然后,选择“VDE 适配器”作为每个 VM 的网络适配器并指定适配器的名称,如下所示,将所有 VM 连接到同一个交换机,以便它们可以通信:
/tmp/switch1
或者(更简单),您可以选择“内部网络”作为您的网络适配器,并为每个 VM 中的网络指定相同的名称,以便在 VBox 中将它们全部连接在一起。
于 2011-05-15T16:48:02.003 回答