25/12/2006
Trastejant les iptables (I)
Des de fa uns dies i per “culpa” del PFC m’he dedicat a trastejar amb les iptables de Linux. La veritat és que és tot un món i bastant interessant.
Bé, unes de les coses que fet amb les iptables ha estat l’accounting. Simplement hem calia identificar diferents tipus de tràfic i encabir-los a una categoria o una altra.
Per fer-ho només ha calgut fer noves cadenes per a cada tipus que volia identificar, la cadena l’únic que feia era un return i això tornava el control a la “cadena mare” que continuava el tractament del paquet.
Per crear la nova cadena # iptables -N nom_nova_cadena i li posàvem una ‘rule’ amb un return de la següent manera # iptables -I nom_nova_cadena -j RETURN així tot el trànsit “caçat” és retornat. Per fer anar el trànsit cap a la cadena que ens interessi només cal identificar-lo en alguna de les cadenes principals com per exemple fent # iptables -I FORWARD -o vlan1 -p icmp -j nom_nova_cadena això ens llençaria tot el tràfic ICMP a la nova cadena i per veure com va creixer les el nombre de bytes només cal fer # iptables -nxvL nom_nova_cadena i veureu els bytes i els paquets.
Hi hagut una cosa que m’ha cridat bastant l’atenció al fer aixó. Tenia la regla # iptables -I FORWARD -o vlan1 -p tcp --tcp-flags ALL ACK -j alta_prio que identifica tots els paquets ACK. Resulta que aquets paquets son el 70% de tot el tràfic de la meva xarxa… M’ha semblat bastant exagerat… l’única explicació que hi trobo és que es faci molt piggybacking a les conexions… si algú se li acut alguna altra cosa, comment it!
El que obtenim d’això son estadístiques. Ara podem saber quants paquets han passat per la cadena nova i així optimitzar la xarxa tenint en compte aquestes dades.
