Vamos comparar estes dois conjuntos de regras
iptables -i lo -j ACCEPT
e
iptables -i lo -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -i lo -j LOG
Obviamente, eles diferem em como tratam ctstate = pacotes inválidos, mas isso não é o ponto - a primeira regra sai com quase todos os pacotes processados. O que eu estou intrested aqui, é apenas adicionar uma regra referenciando o estado rastreado fazendo uma diferença significativa, desempenho sábio ?
Eu ficaria feliz com uma resposta real, mas qualquer sugestão sobre como isso poderia ser experimentalmente determinado também é muito bem-vinda.
Uma resposta negativa pode parecer:
No, conntrack always sorts packets into each of those categories, it does not skip this task just because there is no rule requiring such categories - consider case XYZ where such optimization would be impossible.
Uma resposta positiva poderia parecer:
Yes, you can actually see the difference in
top
if you trync -d localhost 12345 | magic & pv -q -L 36m /dev/zero | nc localhost 12345
while either having rule XYZ in your iptables or not.
Tags performance iptables linux