Tap0 未接收流量

Tap0 未接收流量

我创建了一个 tap 设备 tap0 地址 10.2.1.4,并将其添加到主机桥 br1,地址为 10.2.1.1

我在主机上运行“nc 10.2.1.4 -l 1234”,并在另一台机器上执行“nc 10.2.1.4 1234”。

tcpdump -i tap0 没有显示任何流量。当我执行“tcpdump -i br1”时,流量就会显示出来

我要怎么做才能让流量显示在 tap0 上。

答案1

通常桥接接口不能作为接收流量并将其引导至主机协议栈的端点。一旦添加桥接,它就会自行负责此类工作。

供参考: http://www.microhowto.info/howto/bridge_traffic_between_two_or_more_ethernet_interfaces_on_linux.html#idp24240

Tap 是一种特殊的逻辑接口,在内部表示并可访问。提示:从网桥中移除 tap0,它仍可从其他主机访问。

因此,数据路径为:网络 -> eth0 -> br1 -> 堆栈 TCP/IP -> 应用程序

如果出现以下情况,您可以在 tap0 上看到流量:

  • 已經播送。
  • 它被路由,比如说 tap0 用于隧道或 VM 连接。

答案2

如果你想强制tap0接收自己的 IP 数据包,你可以使用ebtables。当数据包在 的以太网层被处理DROP时,这些数据包将进入 的 IP 层,而不是。另请参阅:tap0broutetap0eth0http://ebtables.sourceforge.net/examples/real.html#example1

如果您只是想要为您的主机提供更多地址,请使用ip address add ...

相关内容