В файле iptables man есть опция -S
S, --list-rules [цепочка] Вывести все правила в выбранной цепочке. Если цепочка не выбрана, все цепочки печатаются как iptables-save. Как и любая другая команда iptables, она применяется к указанной таблице (по умолчанию используется фильтр).
С помощью iptables -S | grep <CHAINNAMEHERE>
. Например:
root @ root: ~ # iptables -S | grep TRAFFICLOG
-N TRAFFICLOG
-A ВПЕРЕД -i eth0 -j TRAFFICLOG
Затем вы можете увидеть, какие правила блокируют удаление цепочки из таблицы. Просмотрите каждое правило (кроме iptables -N <CHAINNAMEHERE>
и удалите правило, используя -D
опцию
-D, --delete chain rulenum Удалить одно или несколько правил из выбранной цепочки. Существует две версии этой команды: правило может быть указано как число в цепочке (начиная с 1 для первого правила) или как правило для сопоставления.
Например iptables -D FORWARD -i eth0 -j TRAFFICLOG
. После того, как вы удалили каждое правило для вашей цепи очистит цепочку с -F
опцией iptables -F <CHAINNAMEHERE>
.
-F, --flush [цепочка] Сброс выбранной цепочки (все цепочки в таблице, если ни одна не указана). Это эквивалентно удалению всех правил одно за другим.
Затем удалите свою цепочку с -X
опцией,iptables -X <CHAINNAMEHERE>
-X, --delete-chain [chain] Удалить необязательную указанную пользователем цепочку. Там не должно быть никаких ссылок на цепочку. Если есть, вы должны удалить или заменить ссылающиеся правила, прежде чем цепочка может быть удалена. Цепочка должна быть пустой, то есть не содержать никаких правил. Если аргумент не указан, он попытается удалить все не встроенные цепочки в таблице.
Iptables - сложный набор инструментов, поэтому необходим идеальный учебник. Вы можете попробовать один на www.iptables.info