如何为应用程序创建虚拟网络
我正在创建一个简单的 p2p 应用程序。为了测试这一点,我希望能够模拟一个由大约 2-3 台计算机组成的简单网络,这样应用程序的每个实例都认为它位于不同的计算机上,并通过网络与其他计算机进行通信。我考虑过 qemu,但还没有设法使用 VDE 或 TUN/TAP 进行网络工作。他们还有其他解决方案吗?
I'm creating a simple p2p application. To test this I'd like to be able to simulate a simple network of about 2-3 computers, such that each instance of the application thinks its on a different computer and talking with others over the network. I considered qemu, but haven't managed to get networking working using VDE or TUN/TAP. is their any other solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用在 Virtual PC 等上运行的虚拟机(Sun 的 Virtual Box 是另一个不错的选择)可能会有更好的运气。
You might have better luck using VMs running on something like Virtual PC (Sun's Virtual Box is another good alternative).
以下是使用 vde 和 qemu 的示例。不需要配置防火墙/路由。设置起来更加简单。不需要root权限来运行qemu。便于使用。已测试并工作。
您可以参考以下简单图表
http://selamatpagicikgu。 wordpress.com/2011/06/08/quickhowto-qemu-networking-using-vde-tuntap-and-bridge/
Here are example using vde and qemu. Not require to configure firewall/routing. Much more simple to setup. Do not need root privilege to run qemu. Easy to use. Tested and working.
You might refer to simple diagram at
http://selamatpagicikgu.wordpress.com/2011/06/08/quickhowto-qemu-networking-using-vde-tuntap-and-bridge/
我最近在我的笔记本电脑上使用 VirtualBox 和 VDE 设置了一个无法访问互联网的小型网络。 VirtualBox 4.0.6 本身与 VDE 集成。设置 VDE 应该像启动交换机一样简单:
vde_switch -s /tmp/switch1
然后,选择“VDE 适配器”作为每个虚拟机的网络适配器,并指定适配器的名称,如下所示,这将连接您的所有虚拟机将虚拟机连接到同一交换机,以便它们可以通信:
/tmp/switch1
或者(更简单),您可以选择“内部网络”作为网络适配器,并为每个虚拟机中的网络指定相同的名称以连接所有虚拟机一起在 VBox 中。
I recently set up a small network using VirtualBox and VDE on my laptop that cannot reach the internet. VirtualBox 4.0.6 natively integrates with VDE. Setting up VDE should be as simple as starting your switch:
vde_switch -s /tmp/switch1
Then, selecting "VDE Adapter" as your network adapter for each of your VMs and specifying the name of your adapter as the following will connect all of your VMs to the same switch so they can communicate:
/tmp/switch1
Alternatively (and more simply), you could just choose "Internal Network" as your network adapter and specify the same name for the network in each of your VMs to connect them all together in VBox.