En el archivo man de iptables hay una opción -S
S, --list-rules [cadena] Imprime todas las reglas en la cadena seleccionada. Si no se selecciona ninguna cadena, todas las cadenas se imprimen como iptables-save. Al igual que cualquier otro comando de iptables, se aplica a la tabla especificada (el filtro es el predeterminado).
Mediante el uso iptables -S | grep <CHAINNAMEHERE>
. Por ejemplo:
root @ root: ~ # iptables -S | grep TRAFFICLOG
-N TRAFFICLOG
-A ADELANTE -i eth0 -j TRAFFICLOG
entonces puede ver qué reglas bloquean la eliminación de la cadena de la tabla. Revise cada regla (excepto la iptables -N <CHAINNAMEHERE>
y elimine la regla usando la -D
opción
-D, --delete chain rulenum Eliminar una o más reglas de la cadena seleccionada. Hay dos versiones de este comando: la regla se puede especificar como un número en la cadena (comenzando en 1 para la primera regla) o una regla para que coincida.
Por ejemplo iptables -D FORWARD -i eth0 -j TRAFFICLOG
. Después de haber eliminado cada regla para su ras cadena de la cadena con la -F
opción iptables -F <CHAINNAMEHERE>
.
-F, --flush [cadena] Vacia la cadena seleccionada (todas las cadenas de la tabla si no se proporciona ninguna). Esto es equivalente a eliminar todas las reglas una por una.
Luego elimine su cadena con la -X
opción,iptables -X <CHAINNAMEHERE>
-X, --delete-chain [cadena] Eliminar la cadena opcional definida por el usuario especificada. No debe haber referencias a la cadena. Si es así, debe eliminar o reemplazar las reglas de referencia antes de que se pueda eliminar la cadena. La cadena debe estar vacía, es decir, no debe contener ninguna regla. Si no se proporciona ningún argumento, intentará eliminar todas las cadenas no integradas en la tabla.
Iptables es un conjunto de herramientas complicado, por lo que se necesita un tutorial ideal. Puedes probar uno en www.iptables.info