No arquivo man do iptables, há uma opção -S
S, --list-rules [chain] Imprime todas as regras na cadeia selecionada. Se nenhuma cadeia for selecionada, todas as cadeias serão impressas como iptables-save. Como todos os outros comandos do iptables, ele se aplica à tabela especificada (o filtro é o padrão).
Usando iptables -S | grep <CHAINNAMEHERE>
. Por exemplo:
raiz @ raiz: ~ # iptables -S | grep TRAFFICLOG
-N TRÁFEGO
-A FRENTE -i eth0 -j TRAFFICLOG
você pode ver quais regras estão bloqueando a exclusão da cadeia da tabela. Passe por cada regra (exceto a iptables -N <CHAINNAMEHERE>
e exclua a regra usando a -D
opção
-D, --delete cadeia rulenum Exclua uma ou mais regras da cadeia selecionada. Existem duas versões deste comando: a regra pode ser especificada como um número na cadeia (iniciando em 1 para a primeira regra) ou como uma regra correspondente.
Por exemplo iptables -D FORWARD -i eth0 -j TRAFFICLOG
. Depois de excluir cada regra da sua corrente, lave a corrente com a -F
opção iptables -F <CHAINNAMEHERE>
,.
-F, --flush [chain] Libera a cadeia selecionada (todas as cadeias na tabela, se nenhuma for fornecida). Isso é equivalente a excluir todas as regras uma por uma.
Em seguida, exclua sua cadeia com a -X
opçãoiptables -X <CHAINNAMEHERE>
-X, --delete-chain [cadeia] Exclua a cadeia definida pelo usuário opcional especificada. Não deve haver referências à cadeia. Se houver, você deve excluir ou substituir as regras de referência antes que a cadeia possa ser excluída. A cadeia deve estar vazia, ou seja, não deve conter nenhuma regra. Se nenhum argumento for fornecido, ele tentará excluir todas as cadeias não internas da tabela.
Iptables é um conjunto de ferramentas complicado, portanto é necessário um tutorial ideal. Você pode experimentar um em www.iptables.info