首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux中创建和桥接虚拟网络接口

在Linux中创建和桥接虚拟网络接口
EN

Server Fault用户
提问于 2012-03-01 19:47:53
回答 1查看 6.4K关注 0票数 2

我有一个从.pcap文件中回放流量的工具和另一个解释该通信量的工具。为了测试目的,我需要播放一个接口的流量,并让它进入另一个接口。显然,我可以简单地在我的两个NIC之间附加一条交叉电缆,但是肯定有更好的方法可以在Linux中实现这一点吗?我尝试过使用回送接口(播放流量输出lo,从lo解释流量),但它没有工作。

有什么方法可以创建虚拟接口,然后连接两个虚拟接口吗?理想情况下,我可以播放“virt-eth1”之外的流量,并让我的另一个工具收听“virt-eth2”。当流量被发送到virt-eth1时,它应该是桥接的,并进入virt-eth2。从那里发生的事没有任何意义。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2012-03-10 20:44:56

我认为您在这里需要使用的是TUN/TAP接口。安装tunctl (用于CentOS的包),然后可以开始创建虚拟网络接口:

代码语言:javascript
复制
tunctl -t tap0
ifconfig tap0 up

更多信息在这里:http://backreference.org/2010/03/26/tuntap-interface-tutorial/

Tun/tap接口是Linux (可能还有其他类似UNIX的操作系统)提供的一种特性,它可以进行用户空间网络,也就是说,允许用户空间程序查看原始网络流量(在以太网或IP级别),并对其做任何他们喜欢的事情。本文档试图解释tun/tap接口在Linux下是如何工作的,并使用一些示例代码演示它们的用法。

我记得,在使用回送接口时,PCAP库不能正常工作,因为它实际上不是“真实的”接口(或者肯定不是系统所认为的真正的接口)。如果在它上运行ifconfig,它甚至没有MAC地址。但是,TUN/TAP接口是这样做的,为了达到您想要做的目的,它可能只是您正在寻找的解决方案(不需要创建额外的虚拟机等等)。

我还怀疑你只需要一个点击接口就能完成你的任务(不需要连接2)。只需将第一个进程绑定到虚拟接口并写入通信量,然后将次要进程绑定到虚拟接口上,读取通信量。

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

https://serverfault.com/questions/365409

复制
相关文章

相似问题

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