Как подготовить правила, а не добавлять, используя iptables?


65

Довольно простой вопрос: как ПОДГОТОВИТЬ правила на IPTABLES, а не APPEND?

У меня есть DROPзаявления в нижней части моих правил. У меня есть программное обеспечение для добавления новых правил, но добавлять правила после DROPутверждений не очень хорошо. Каждый раз, когда я хочу добавить новое правило, мне нужно очистить таблицу (что неэффективно).

Есть ли способ добавить правило, то есть добавить правило вверху таблицы, а не внизу?

Большое спасибо.

Ответы:


84

Используйте -Iпереключатель:

sudo iptables -I INPUT 1 -i lo -j ACCEPT

Это вставило бы правило в позицию # 1 в цепочке INPUT.


2
Dang! Ты избил меня на 18 секунд ... Я не был достаточно быстр :(
Яник Жируард

1
Хехехехехехе :)
CJC

2
@YanickGirourad, ха, у тебя есть галочка!
CJC

5
Также отметим, что при использовании -I INPUT 1 правило не перезаписывается. Вместо этого все правила будут сдвинуты на одну позицию вверх.
Абдул

1
Важное замечание от Абдулла.
Halsafar

19

-Iвставлю. Вы, вероятно, используете, -Aчтобы добавить.

Вы также iptables -I chain rulenumможете вставить правило как число "rulenum" в цепочку "chain". -R chain rulenumможно использовать для замены определенного правила на номер «руленум» в цепочке «цепочка». iptables -L -n --line-numbersпокажет номера правил в крайнем левом столбце.


Сейчас я спешу, или я бы посмотрел, но было бы неплохо увидеть пример того, как работает «цепочка», или ссылку.
PJ Brunet

//, обратитесь к fedoraproject.org/wiki/… для получения дополнительной информации о том, как правильно вставить правило IPTables.
Натан Басанезе

2

Чтобы помочь определить, к какому номеру строки добавить новое правило, я использую iptables-saveвывод существующих правил на консоль.

Для новичков я также могу предложить чит-карту, используя webmin для администрирования ваших правил. Это очень дружелюбно, и вы можете легко переупорядочить правила вручную в списке. Он также будет обрабатывать «небольшие» изменения в реализациях iptables на основе redhat и debian.


2
iptables -L --line-numbersнемного больше не зависит от платформы
Sirex

1
Я не уверен точно, почему нужно использовать webmin для этого (или чего-то еще). Намного лучше изучить способ командной строки, чем использовать костыль.
Сокол Момот

2

Существует программа с именем, iptables-persistentкоторая делает правила iptable'а постоянными в качестве службы ОС. этот сервис включает файл конфигурации в качестве iptables-saveэкспорта.

Таким образом, вы можете изменить порядок строк в файле конфигурации и перезапустить службу.

sudo service iptables-persistent restart

Так легко!!!!!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.