'iptables -L -nv' 命令的输出含义

'iptables -L -nv' 命令的输出含义

root@linux #iptables -L -nv

输出如下

Chain INPUT (policy ACCEPT 89658 packets, 116M bytes)
 pkts bytes target     prot opt in     out     source               destination         
 122K   97M ACCEPT     all  --  *      *       192.168.43.104       0.0.0.0/0           

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 70753 packets, 70M bytes)
 pkts bytes target     prot opt in     out     source               destination         
 141K   61M ACCEPT     all  --  *      *       0.0.0.0/0            192.168.43.104      

和 该线以下之间有什么关系Chain INPUT (policy ACCEPT 89658 packets, 116M bytes) 。并且Chain OUTPUT (policy ACCEPT 70753 packets, 70M bytes) 它在该线以下。

我很困惑 70753 个数据包和 141K 个数据包以及 70M 和 61M 是什么意思

答案1

在第一行中,您可以看到具有默认策略 ACCEPT 的该链的全局统计信息,这意味着您拥有整个连接的统计信息,然后获得与该规则匹配的数据包的具体统计信息。

答案2

在 iptables 链中,检查规则从上到下。与第一条规则不匹配的数据包将根据第二条规则进行测试,然后根据第三条规则进行测试,依此类推。内置链有一个所谓的“策略”,您可以将其想象为链最底部的虚拟规则 - 如果数据包与任何自定义规则都不匹配,那么它将在末尾命中策略规则。

例如,INPUT 链具有:

  1. 与源 IP 地址匹配的自定义 ACCEPT 规则(迄今为止匹配了 122K 个数据包);
  2. 默认的 ACCEPT“策略”规则与所有内容匹配(迄今为止匹配了 89.6K 个数据包)。

(这也意味着防火墙张大– 即使数据包与自定义 IP 规则不匹配,策略规则仍会允许它们。可能应该将其更改为 DROP?)

相关内容