URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 48489
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Удаление iptables правил по их номерам"

Отправлено auto_tips , 26-Янв-09 00:40 
Для отображения порядковых номеров iptables правил в списке необходимо использовать опцию --line-numbers
Например, просмотрим содержимое таблицы трансляции и правила влияющие на пересылку пакетов между интерфейсами:

   iptables -L POSTROUTING -t nat -n -v --line-numbers
   iptables -L FORWARD -n -v --line-numbers

Удалим несколько записей по номеру:

   iptables -D FORWARD 55
   iptables -t nat -D POSTROUTING 15

Цепочку следует явно указывать, так как номера уникальны только в рамках каждой цепочки.
Удалять следует внимательно и по одному элементу ! Так как после удаления, следующие номера сдвигаются.
Т.е. Если вы хотели удалить в списке строки 15 и 25, удалять нужно начиная с большего номера,
иначе 25 запись после удаления 15 сменит номер на 24.

URL:
Обсуждается: http://www.opennet.me/tips/info/1915.shtml


Содержание

Сообщения в этом обсуждении
"Удаление iptables правил по их номерам"
Отправлено VecH , 26-Янв-09 00:40 
Полезно

"Удаление iptables правил по их номерам"
Отправлено Вася , 27-Янв-09 08:13 
Поздравляю автора. Он наконец-то прочитал документацию и включил мозг. Я по номерам добавляю и удаляю правила уже года 3.

"Удаление iptables правил по их номерам"
Отправлено Руслан , 26-Янв-09 00:48 
В более сложных ситуациях делаю так:
# iptables-save > iptables.rules ; vim iptables.rules && iptables-restore < iptables.rules

"Удаление iptables правил по их номерам"
Отправлено Руслан , 26-Янв-09 00:50 
но при этом счетчики начинают врать - значения не последние.

"Удаление iptables правил по их номерам"
Отправлено pavlinux , 27-Янв-09 12:30 
> # iptables-restore < iptables.rules

for i in "nat mangle filter"
   do
      for j in "Z X F" do
         iptables -t $i -$j;
   done
done

# iptables-restore < iptables.rules



"(ОТ) обожаю вложенные циклы"
Отправлено Andrey Mitrofanov , 29-Янв-09 18:45 
>for i in "nat mangle filter"
>      for j in "Z X F"
>         iptables -t $i -$j;

eval iptables\ -t\ {nat,mangle,filter}\ -{Z,X,F}\;

...И да, оказывается xargs не нужен.
---В подворотне вас ждёт маниак шелл-скриптинга


"Удаление iptables правил по их номерам"
Отправлено adwiz , 07-Май-09 16:08 
>но при этом счетчики начинают врать - значения не последние.

iptables-save -c > iptables.rules ; vim iptables.rules && iptables-restore < iptables.rules