Già conosciamo i parametri:
iptables -I INPUT 3 -p tcp --dport 80 -j ACCEPT
Il 3 indica che questa regola deve essere inserita nella
terza riga, spostando tutte le altre righe più in basso.
Dopo questo comando, ``iptables -nL INPUT'' mostrerebbe qualcosa come
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 tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
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
proprio come volevamo. Immaginiamo ora di spostare il web server sulla porta 443,
e di voler rimpiazzare la regola appena inserita con qualcosa come ``-p tcp --dport 443
-j ACCEPT''. In questo caso sarebbe sufficiente utilizzare
iptables -R INPUT 3 -p tcp --dport 443 -j ACCEPT
per ottenere qualcosa come
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 tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
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
Infine, per rimuovere la regola, basterebbe qualcosa come
iptables -D INPUT 3
Se siete meno pigri di me, potete utilizzare anche
iptables -D INPUT -p tcp --dport 443 -j ACCEPT
che porterebbe esattamente allo stesso risultato.