Introduzione:a volte si hanno molte regole "V6" che devono essere eliminate. UFW consente di eliminare le regole ma solo una per una, il che può richiedere molto tempo.
Ecco un breve script bash che fa il trucco per eliminarle.
NOTA IMPORTANTE:affinché questo script possa lavorare come desiderato bisogna dirgli l'ultimo numero di regola al primo numero di regola da eliminare.
Quindi lo script può eliminarli correttamente uno per uno a partire dall'ultimo e proseguire verso l'alto.
Scopri quale serie di regole devono essere eliminate con questo comando:
ufw status numbered
Risultato: Status: active
To Action From
-- ------ ----
[ 1] Anywhere ALLOW IN 127.0.0.0/16
[ 2] 22 ALLOW IN Anywhere
[ 3] 80 ALLOW IN Anywhere
[ 4] 443 ALLOW IN Anywhere
[ 5] 21/tcp ALLOW IN Anywhere
[ 6] 5109 ALLOW IN Anywhere
[ 7] 1194/udp ALLOW IN Anywhere
[ 8] 25 ALLOW IN Anywhere
[ 9] 587 ALLOW IN Anywhere
[10] 465 ALLOW IN Anywhere
[11] 143 ALLOW IN Anywhere
[12] 993 ALLOW IN Anywhere
[13] Anywhere ALLOW IN 192.168.100.0/24
[14] Anywhere ALLOW IN 88.99.134.136/29
[15] Anywhere ALLOW IN 176.9.104.47
[16] Anywhere ALLOW IN 176.9.104.93
[17] Anywhere ALLOW IN 176.9.104.88
[18] Anywhere ALLOW IN 116.203.34.148
Supponendo di voler eliminare la regola da 13 a 18, utilizzare il seguente script bash:
for reg in $(seq 18 -1 13); do echo 'y' | ufw delete $reg ; done; ufw status numbered
Un altro modo sarebbe scegliere in modo selettivo quali regole eliminare.
Nota ancora, è necessario elencare i numeri delle regole dal numero più alto al più basso.
Esempio. Per eliminare il numero di regole '5 6 9 11' si dovrebbe usare il seguente comando:
for reg in 11 9 6 5; do echo 'y' | ufw delete $reg ; done; ufw status numbered