Existem contadores para cada regra no iptables, que podem ser mostrados com a opção -v
. Adicione -x
para evitar que os contadores sejam abreviados quando forem muito grandes (por exemplo, 1104K). Por exemplo,
$ sudo iptables -L -n -v -x
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
39 22221 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spts:67:68 dpts:67:68
...
182 43862 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4 prefix "input_drop: "
182 43862 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
não mostra pacotes descartados em minha rede local, mas 182 rejeitados com icmp e uma mensagem de log como a que você listou. As duas últimas regras na configuração com uma política de DROP foram
-A INPUT -j LOG --log-prefix "input_drop: "
-A INPUT -j REJECT --reject-with icmp-host-prohibited
Você pode zerar os contadores de todas as cadeias com iptables -Z
.
Estas contagens são para os pacotes que o iptables caiu. Contudo,
pode haver outro software de filtragem que também esteja descartando pacotes
congestionamento, por exemplo. Você precisa olhar para cada um por qualquer
estatísticas que eles fornecem. O programa (obsoleto) netstat
pode mostrar facilmente as contagens de pacotes que foram descartados na interface ethernet devido ao congestionamento antes mesmo de serem entregues ao iptables:
$ netstat -i
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR
enp5s0 1500 1097107 0 38 0 2049166 0 0 0
e você também pode obter algumas estatísticas em pacotes descartados em outro lugar pelo kernel por várias razões:
$ netstat -s | grep -i drop
27 outgoing packets dropped
16 dropped because of missing route
2 ICMP packets dropped because socket was locked