
Насколько мне известно, есть 2 основных способа добавления правил вfirewalld
,обычные правила "зоны"ибогатые правила. Кроме того, я понимаю, что когда мы устанавливаем target="DROP
, все новые входящие соединения будут сброшены, если только мы не добавим правила, разрешающие выбранный входящий трафик.
Я хочу спросить, существует ли какой-либо стандартный шаблон, по которому firewalld
правила будут применяться к входящему пакету, когда мы добавляем новые правила, используя обычные правила зоны, а не расширенные правила?
Например, в таком порядке
firewalld
всегда будут применяться правила:
- Нормальные правила
- Богатые правила
- Правило политики удаления по умолчанию
решение1
Правила firewalld
имеют приоритеты, и правила применяются так, что правило с более низким приоритетом оценивается первым. Если два противоречащих правила имеют одинаковый приоритет, результат не определен.
Приоритеты таковы:
- Богатые правила имеют приоритет 0, если явно не указано иное, в этом случае они имеют указанный приоритет. Приоритеты могут быть в диапазоне от -32768 до 32767.
- Службы имеют приоритет 0.
- Правила зоны по умолчанию (т.е. указанные
--set-target
) обрабатываются в последнюю очередь.
Итак, если у вас есть target=DROP
указанное для зоны, любое противоречивое правило отменяет это. Поэтому добавление службы или расширенного правила разрешит рассматриваемую службу или правило. Если у вас есть служба и противоречивое расширенное правило с приоритетом меньше нуля, расширенное правило будет иметь приоритет. Если противоречивое расширенное правило имеет приоритет больше нуля, это пустая операция.