IP 表 TEE 命令更改源 mac 地址

IP tables TEE command changes source mac address

我正在尝试使用 IPtables 命令 forward/clone 从我的主机 mac 向我的 docker 容器发送流量。

我可以通过 iptables TEE 命令接收容器内的流量。但是,此命令通过将 SRC 以太网 mac 替换为主机以太网 mac 来更改以太网 header。我有兴趣为我的项目收集这些数据。

还有其他方法可以实现吗?

使用的命令:

1. iptables -t mangle -I PREROUTING -i <host_interface_name>-p tcp -j TEE --gateway <container_ip>
2. iptables -t nat -A PREROUTING -p tcp -j DNAT --to-destination <container_ip:port>
  1. IPtables 在网络层运行,并从添加规则的主机路由数据包。因此,我们无法避免更新源mac。我试过使用 TPROXY、FORWARD、ACCEPT。在 https://ipset.netfilter.org/iptables-extensions.man.html#lbDU

    找到了相关文档
  2. 使用 Linux TC 实现了我的要求。简单内置 Linux 流量控制器可用于调整通过接口的流量。

https://man7.org/linux/man-pages/man8/tc-mirred.8.html