使用iptables发送接收到的镜像stream量到docker应用程序?

我有一个设置,从我的网卡上的很多IP地址(eth0)接收镜像stream量

我想把收到的数据包发送到一个特定的IP地址(比如8.8.8.8)到一个在同一个主机上运行的docker容器(比如IP 172.17.0.2)

包(dst 8.8.8.0等) – > eth0 – >过滤8.8.8.8使用iptables – > docker container(172.17.0.2)

由于数据包不注定我,我无法过滤使用iptables和DNAT到docker集装箱。

由于我是新手,任何帮助将不胜感激。

有一个类似的问题,但没有真正得到它。 使用iptables过滤镜像端口stream量

编辑:网卡已经在混杂模式,因为我同时运行tcpdump。 我不知道这是否有助于回答,但NIC只用于接收镜像stream量。 并没有分配给它的IPv4。

你有没有在* nat中尝试PREROUTING部分? 规则应该是这样的:

iptables -t nat -A PREROUTING -d 8.8.8.8/32 -j DNAT --to-destination 172.17.0.2 

PREROUTING *filter之前执行的规则,所以它应该工作。