如何为应用程序创建虚拟网络

时间:2009-10-20 15:16:49

标签: networking virtual p2p

我正在创建一个简单的p2p应用程序。为了测试这个,我希望能够模拟一个大约2-3台计算机的简单网络,这样应用程序的每个实例都认为它在不同的计算机上,并通过网络与其他人交谈。我考虑过qemu,但还没有设法使用VDE或TUN / TAP进行网络连接。是他们的任何其他解决方案吗?

3 个答案:

答案 0 :(得分:4)

使用在Virtual PC上运行的虚拟机可能会更好运(Sun的Virtual Box是另一个不错的选择)。

答案 1 :(得分:1)

以下是使用vde和qemu的示例。不需要配置防火墙/路由。设置起来要简单得多。不需要root权限来运行qemu。使用方便。经过测试和工作。

# 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/

答案 2 :(得分:0)

我最近在我的笔记本电脑上使用VirtualBox和VDE设置了一个无法访问互联网的小型网络。 VirtualBox 4.0.6本地与VDE集成。设置VDE应该像启动交换机一样简单:

vde_switch -s / tmp / switch1

然后,选择“VDE Adapter”作为每个VM的网络适配器并指定适配器的名称,如下所示将所有VM连接到同一个交换机,以便他们可以进行通信:

的/ tmp /交换机1

或者(更简单地说),您可以选择“内部网​​络”作为网络适配器,并为每个VM中的网络指定相同的名称,以便在VBox中将它们全部连接在一起。