Introducción:a veces uno tiene muchas reglas 'V6' que deben eliminarse. UFW permite eliminar las reglas, pero solo una por una, lo que puede llevar mucho tiempo.
Aquí hay una breve secuencia de comandos bash que funciona para eliminarlas.
NOTA IMPORTANTE:para que esta secuencia de comandos funciona como se desea, uno tiene que decirle desde el último número de regla hasta el primer número de regla que se eliminará.
Entonces el script puede eliminarlos correctamente uno por uno, comenzando por el último y avanzando hacia arriba.
Averigüe qué serie de reglas deben eliminarse con este comando:
ufw status numbered
Resultado: 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
Suponiendo que queremos eliminar la regla 13 a 18, use el siguiente script bash:
for reg in $(seq 18 -1 13); do echo 'y' | ufw delete $reg ; done; ufw status numbered
Otra forma sería elegir selectivamente qué reglas eliminar.
Tenga en cuenta nuevamente que debe enumerar los números de las reglas desde el número más alto hasta el más bajo.
Ejemplo. Para eliminar el número de reglas '5 6 9 11' se usaría el siguiente comando:
for reg in 11 9 6 5; do echo 'y' | ufw delete $reg ; done; ufw status numbered