La función -C
solo funciona con coincidencias exactas contra reglas.
Es decir, si la regla que agregué es iptables -A INPUT -i eth0 -p tcp --dport 22 -m comment "DropSSH" -j DROP
, entonces iptables -C INPUT -i eth0 -p tcp --dport 22 -m comment "DropSSH" -j DROP
coincidirá y -C
no generará errores. Sin embargo, no hay una coincidencia exacta para iptables -C INPUT -i eth0 -p tcp --dport 22 -j DROP
, por lo que no se eliminará.
La única forma de ver realmente si existe una especificación como la que está buscando y teniendo en cuenta las coincidencias de reglas parciales sería filtrando grep
poco a poco.
Tal que:
iptables -S INPUT | grep -i '-p tcp' | grep -i '--dport 22' | grep -i '-j DROP'
probablemente coincidiría con cualquier regla que permita el puerto 22 sobre TCP. Sin embargo, como puede ver, esto no es trivial y puede causar problemas. cut
ajustar los datos tampoco ayudará mucho. La parte complicada de esto es que tienes que dividir lo que estás buscando en partes individuales para hacer el grep
.
La otra alternativa a agregar las marcas de tiempo en los comentarios es controlar la versión -de las reglas iptables
para que cada vez que actualice y guarde las reglas, actualice las copias controladas por versión de los conjuntos de reglas. con revisiones individuales para que puedas ver -lo que ha cambiado. Y si no tiene marcas de tiempo en los comentarios, puede usar correctamente -C
, y si necesita ver quién hizo un cambio, puede volver a los datos de control de versiones para ver quién hizo qué cambio y cuándo.