什么是正确的iptables链把-j NETFLOW

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

  1. 我想logging所有真实的stream量(在firewal之前input,由服务输出,并在转发中通过防火墙),其“实际”src / dst(即在SNAT之前和在DNAT之后)。

  2. 另外(优先级较低),我可能希望看到防火墙阻止的stream量(使用inputfilter和转发filter的规则或策略)。

什么是正确的地方把会计规则? 如何区分接受和拒绝的stream量?

  1. 有三个主要的链条来捕获所有的交通 – input,输出和前进 – 在他们所有的交通规则中join适当的规则。
  2. 没有直接的方法来做到这一点。 没有链(默认情况下)捕获丢弃/拒绝的stream量,没有任何标志在数据包本身表示它将被丢弃。 所以,您需要创build自定义链,并将所有被拒绝的stream量导入其中,而不是仅仅是DROP / REJECT。 然后,在那个链的内部,以某种方式标记这些数据包,例如把TOS字段变成255,然后把它们放入-j NETFLOW,最后是-j DROP / REJECT。 当然,你也应该从合法的数据包的TOS字段中清除255值。