Конфигурация iptables по умолчанию, как избежать блокировки при сбросе таблиц?

В руководстве Bash говорится:

If bash is waiting for a command to complete and receives a signal for which a trap has been set, the trap will not be executed until the command completes.

Это означает, что несмотря на то, что сигнал получен bash, когда вы его отправляете, ваша ловушка на SIGHUP будет вызываться только после окончания cat.

Если такое поведение нежелательно, используйте либо bashвстроенные функции, (, например. read+ printfв цикле вместоcat)или используйте фоновые задания (см. ответ Стефана).

0
22.09.2019, 06:38
2 ответа

Подробный способ: установить ACCEPTall policy для всех подключений перед сбросом:

iptables -P INPUT    ACCEPT
iptables -P OUTPUT   ACCEPT
iptables -P FORWARD  ACCEPT

Тогда:

iptables -F
0
28.01.2020, 02:39

Как указано в комментарии под вопросом, перед сбросом убедитесь, что политики по умолчанию не блокируют вас.

Другой способ — не использовать iptables -F, а использовать другой файл правил для восстановления базового состояния. На самом деле существует отдельная команда семейства iptables, которая безопасна в отношении проверки того, не происходит ли такая блокировка. Это iptables-applyи используется аналогично iptable-restore, но проверьте его страницы manна наличие различий и деталей.

1
28.01.2020, 02:39

Теги

Похожие вопросы