Достаточно ли добавить правила iptables без перезапуска?


24

(Ubuntu сервер) Я бегу

sudo iptables -A INPUT -s 127.0.0.1 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 4/sec -j ACCEPT

а потом

sudo iptables-save

Чтобы получить функцию правил iptables, достаточно ли выполнить только указанную выше команду (без перезапуска iptables)?

Ответы:


15

Для ясности, iptables-saveфункция команды - не активировать правила, ее цель - сохранить правила для последующего использования. Общие применения:

iptables-save > iptables.dat

Это сохраняет текущие правила в iptables.dat. Вы можете восстановить этот набор правил с помощью команды:

iptables-restore < iptables.dat

Вы можете вставить эту строку, rc.localчтобы восстановить правила после перезагрузки, потому что перезагрузка очищает все правила по умолчанию.


7
И не забывайте о iptables-applyтом, хотите ли вы сохранять спокойствие. (По умолчанию 10 секунд)
gertas

13

@cewebugil Насколько ваш первоначальный вопрос достаточен для применения правил IPTABLE. Как только вы применяете правило IPTABLE, оно немедленно становится активным. Но оно не переживет перезагрузку.

Чтобы выжить после перезагрузки IPTABLES в вашем файле конфигурации сети / etc / network / interfaces (я имею в виду систему Debian / Ubuntu), вам нужно добавить туда, где
pre-up iptables-restore < firewall.txt

Проверьте эту путаницу потока в настройке брандмауэра на мосту и эту ссылку http://www.debian-administration.org/articles/445

Две хорошие практики, чтобы спасти себя от блокировки

1) При тестировании IPTABLES всегда полезно иметь запись о задании cron, которая сбрасывает ваши правила каждые 15 минут или около того. Так что если вы случайно примените неправильное правило через 15 минут, это правило будет удалено, и вы сможете снова войти в систему. избавит вас от возможной блокировки, если какое-то правило IPTABLE было неверным.

2) Это также может быть сделано

 iptables-restore < iptables_rules; sleep 30; iptables-restore < clean_rules

Идея состоит в том, чтобы применить правила, подождать 30 секунд и применить набор правил, чтобы разрешить любой доступ. Когда вы выполните эту строку, нажмите Enter пару раз, и могут произойти две вещи:

Ваши правила заблокировали вас (нажатие клавиши ввода не отображается на экране, поэтому подождите, пока закончится время, и они будут очищены; если ваши правила работают и вы видите новые строки на экране, нажмите CTRL + C, прежде чем закончится спящий режим). и ты в порядке.


15
Вы можете альтернативно использовать iptables-apply -t 30 iptables_rules. iptables-applyбудет ждать, пока вы положительно подтвердите применяемые правила, и если через 30 секунд вы не ответите, он вернется к предыдущим правилам.
pepoluan

@pepoluan спасибо за эту информацию, я не знал этого.
Зарегистрированный пользователь

да, только что узнал об этом сам на прошлой неделе. теперь я не могу жить без него :-)
pepoluan

12

Да, как только вы добавили правило в iptables, оно сразу стало активным - вот почему вы должны быть осторожны со своими правилами, так как это возможно, чтобы заблокировать себя.

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