Переместить правило iptables (без удаления и добавления)

18

Есть ли способ переместить правило в iptablesи изменить его положение? Я знаю, что могу использовать -Iдля вставки правила в определенную позицию, но мне также нравится сохранять счетчики.

Рабин
источник

Ответы:

7

Нет, вы не можете переместить правило. Однако вы можете установить счетчик для любого правила, которое вы добавляете / вставляете / заменяете (используя параметр -cили --set-counters). Таким образом, вы можете проверить текущий счетчик, удалить правило и заново установить его со старым значением счетчика.

itsbruce
источник
29

Вы также можете сделать следующее

  1. Запишите вывод iptables-saveв файл: iptables-save > /tmp/iptables.txt
  2. Отредактируйте этот файл с помощью текстового редактора, переместите любую нужную строку.
  3. Перезагрузите файл: iptables-restore < /tmp/iptables.txt
Вадим Слуцкий
источник
4

Чтобы увидеть, что у вас есть и что вы хотите изменить, сначала нужно пройти обследование.

1) Проверьте счетчики и напишите их где-нибудь, чтобы вы могли ввести их позже.

iptables-save -c

2) Проверьте строку, которую вы хотите заменить / изменить, используя

iptables -L -v -n --line-n

3) Напишите правило в назначенной ЦЕПИ и добавьте счетчики, описанные в шаге. Например.

iptables -R INPUT 5 -i virbr0 -p udp -m udp -c 3441 472271 --dport 53 -j ACCEPT -m comment --comment "Some comment"

Значение -c

-c [packets:bytes]

Вышеупомянутое правило iptables будет введено в строке 5.

Заметка. Сохраните правила iptables, используя iptables-save -c /somepath/iptrules-$(date +%F) которые сохраните счетчики.

Валентин Байрами
источник