Avanti Indietro Indice

11. Modifiche on the fly - iptables da riga di comando

Sebbene sia veramente poco piacevole, è possibile utilizzare iptables direttamente da riga di comando.

Nonostante questo, alcune di queste funzioni possono risultare molto utili in fase di testing. Ad esempio, dovendo fare delle misure di banda può essere utile consentire temporaneamente solo il traffico tra determinate macchine, e non è il caso di perdere tempo a modificare file di configurazione o script dalla provata affidabilità. Ok, iniziamo quindi col vedere le regole attive sul kernel da me correntemente utilizzate, col comando ``iptables -nL'', dove ``n'' dice di non risolvere i nomi (passando da indirizzi ip a nomi di domini) e ``L'' di ``listare'' o elencare (in italiano) tutte le regole:

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0          tcp dpt:22 
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          state RELATED,ESTABLISHED 
REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0          reject-with tcp-reset 

Chain FORWARD (policy DROP)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
-n lo uso principalmente perché altrimenti ci metterebbe molto tempo a generare l'output (tentando di connettersi al database), per il resto, credo che l'output in se stesso credo che risulti abbastanza autoesplicativo... un problema di ``iptables -nL'' (rispetto ad usare un file di configurazione) è che molti dettagli non vengono mostrati e comunque la leggibilità è molto minore.

Per avere più dettagli, comunque, è possibile utilizzare l'opzione ``-v'' o ``-vv'', con un comando simile a ``iptables -v -nL'':

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
41512   83M ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0          
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0          tcp dpt:22 
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0          state RELATED,ESTABLISHED 
    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0          reject-with tcp-reset 

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

Chain OUTPUT (policy ACCEPT 41513 packets, 83M bytes)
 pkts bytes target     prot opt in     out     source               destination         
ancora, l'output è abbastanza autoesplicativo. Se state leggendo il pdf notate però come le righe vengono troncate. Immaginate su un terminale con le classiche 80 colonne cosa verrebbe fuori.

Se siete interessati ad un'unica catena, potete specificarne il nome dopo il ``-nL''. Con qualcosa di simile a ``iptables -vv -nL INPUT'' vedreste solo la catena di ``INPUT'' ed un dump delle informazioni del kernel. Come altre opzioni generiche, potete utilizzare ``-x'', che mostrerà i valori esatti dei contatori, mentre ``-Z'' li azzererà, oppure ``-t nometabella'' per visualizzare altre tabelle.


Avanti Indietro Indice