В чем разница между firewall-cmd --reload
и systemctl restart firewalld
?
решение1
systemctl restart firewalld
завершит процесс и начнет новый.firewall-cmd --reload
воля
Команда перезагрузки сбрасывает все конфигурации времени выполнения и применяет постоянную конфигурацию.источник
Каждая конфигурация без --permanent
флага является конфигурацией времени выполнения и
Изменения конфигурации среды выполнения не сохраняются при перезагрузке или перезапуске FirewallD, тогда как постоянные изменения не применяются к работающей системе.
Как указал @mircea-vutcovici, перезагрузка правил брандмауэра с помощью firewall-cmd не приведет к тому, что система будет использовать потенциально новый исполняемый файл firewalld, если он был обновлен с момента последнего перезапуска демона. Однако в зависимости от вашего дистрибутива это могло быть сделано менеджером пакетов при обновлении пакета.документациясостояния:
Для перезагрузки
firewalld
вы можете использовать командную строкуfirewall-cmd --reload
или отправитьSIGHUP
сигнал,firewalld
например, с помощьюkillall -HUP firewalld
.
Шаг killall -HUP firewalld
выполняется при запуске systemctl reload firewalld
. Рассматривая базовыйдизайнfirewalld по сути являетсявнешний интерфейсили iptables
аналогичные бэкенды. Поэтому завершение процесса firewalld не должно повлиять на фактические правила брандмауэра. Поэтому оба способа перезагрузки правил firewalld имеют одинаковый эффект. Лично я бы предпочел способ systemd, чтобы убедиться, что используется самый последний исполняемый файл firewalld.