我有一个接收的设置镜像流量来自我的网卡(eth0)上的许多IP地址。
我想将接收到的发往特定 IP 地址(例如 8.8.8.8)的数据包发送到在同一主机上运行的 docker 容器(例如 IP 172.17.0.2)
数据包(目标 8.8.8.0 等)-> eth0 -> 使用 iptables 过滤 8.8.8.8 -> docker 容器(172.17.0.2)
自从这些包裹不是寄给我的我无法使用 iptables 过滤它们并将其 DNAT 到 docker 容器中。
由于我对此还不熟悉,因此非常感谢任何帮助。
曾经有一个类似的问题,但我并没有真正明白。 使用 iptables 过滤镜像端口流量
编辑:NIC 已处于混杂模式,因为我同时在其上运行 tcpdump。我不知道这是否有助于回答,但 NIC 仅用于接收镜像流量。并且没有为其分配 IPv4。
答案1
您是否尝试过 PREROUTING 部分*自然? 规则应该如下所示:
iptables -t nat -A PREROUTING -d 8.8.8.8/32 -j DNAT --to-destination 172.17.0.2
在执行 PREROUTING 规则之前*筛选,因此它应该可以工作。