首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在linux中创建虚拟以太网设备?

如何在linux中创建虚拟以太网设备?
EN

Stack Overflow用户
提问于 2010-01-18 05:26:01
回答 6查看 51.2K关注 0票数 24

我正在测试使用以太网(而不是IP)在两台计算机之间进行通信的协议的实现。为了不需要实际拥有两台物理计算机,我想创建两个虚拟以太网接口。它们只能相互通信,因此一个端点程序将绑定到一个接口,而另一个端点将绑定到另一个端点。

这是可能的吗?我该怎么做?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-01-18 06:16:08

您可以使用虚拟交换机VDE2。

例如(您需要几个术语):

代码语言:javascript
复制
# Install vde2 (assumes Debian/Ubuntu)
sudo aptitude install vde2
# Create the switch and two tap interfaces attached to it
sudo vde_switch -tap tap0 -tap tap1
# Configure the interfaces
sudo ip addr add 10.0.31.10 dev tap0
sudo ip addr add 10.0.31.11 dev tap1
# Start a server
socat - TCP-LISTEN:4234,bind=10.0.31.10
# Alternatively, an echo server:
#socat PIPE TCP-LISTEN:4234,bind=10.0.31.10
# Start a client
socat - TCP:10.0.31.10:4234,bind=10.0.31.11

在一边输入,它会出现在另一边。

票数 21
EN

Stack Overflow用户

发布于 2010-01-18 05:44:35

您可以使用“分路器”虚拟以太网驱动程序,它可以让用户空间程序伪装成以太网接口。这是一段时间以来的标准内核特性(虽然在您的内核中可能没有启用它)。

票数 6
EN

Stack Overflow用户

发布于 2010-01-18 06:26:31

如果需要,可以使用ns3模拟两个tap设备之间的复杂网络:http://www.nsnam.org/

我让它在两个virtualbox实例之间模拟两个交换机、一个无线客户端和一个AP。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2082722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档