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.