放置 -j NETFLOW 的正确 iptables 链是什么

放置 -j NETFLOW 的正确 iptables 链是什么

我有一个路由器,带防火墙(带丢弃策略)、nats、服务。

  1. 我想计算所有事实流量(防火墙之前输入的、服务输出的以及转发时通过防火墙的)及其“实际”源/目标(即 SNAT 之前和 DNAT 之后)。

  2. 此外(优先级较低)我可能想查看被防火墙阻止的流量(使用输入过滤器和转发过滤器的规则或策略)。

会计规则应该放在什么位置?如何区分接受和拒绝的流量?

答案1

  1. 有三个主要链来捕获所有流量 - 输入、输出和转发 - 在所有链中放置适当的规则以查看任何类型的流量。
  2. 没有直接的方法可以做到这一点。默认情况下没有链来捕获丢弃/拒绝的流量,数据包本身也没有任何标志来表示它将被丢弃。因此,您需要创建自定义链并将所有被拒绝的流量引导到其中,而不仅仅是 DROP/REJECT。然后,在该链内,以某种方式标记这些数据包,例如将 TOS 字段更改为 255,然后将它们放入 -j NETFLOW,最后放入 -j DROP/REJECT。当然,您也应该从合法数据包的 TOS 字段中清除值 255。

相关内容