Сбросить правила firewalld до значений по умолчанию?

Сбросить правила firewalld до значений по умолчанию?

На CentOS 7 я пробовал разные правила firewalld и команды iptables, а теперь хочу сделать все заново, но только с использованием firewalld.

Вопрос

Как сбросить все правила до значений по умолчанию, которые поставляются с firewalld CentOS 7?

решение1

Следующий фрагмент кода может оказаться вам полезен.

for srv in $(firewall-cmd --list-services);do firewall-cmd --remove-service=$srv; done firewall-cmd --add-service={ssh,dhcpv6-client} firewall-cmd --runtime-to-permanent

С уважением,

Ахмер Мансур

решение2

Если вы действительно хотите удалить все, как говорит Джон Эшпул

rm -rf /etc/firewalld/zonesили /usr/etc/firewalld/zones в зависимости от вашего дистрибутива

и

iptables -X
iptables -F
iptables -Z

плюс

systemctl restart firewalld

и тогда у вас будет новый набор правил и зон ;)

решение3

Вы можете просто удалить файлы, содержащие настроенные правила зоны из /etc/firewalld/zones(или /usr/etc/firewalld/zones, в зависимости от дистрибутива). После этого перезагрузите firewalldс помощью firewall-cmd --complete-reload, и он должен начать использовать настройки по умолчанию. Когда вы внесете изменения в правила зоны, файлы снова появятся в этом каталоге.

Что касается iptables, вы можете сбросить все правила с помощью iptables -F. Перезагрузка тоже работает, если только вы не реализовали какую-то постоянную функциональность. Будьте осторожны, что firewalldможет быть настроено на использование iptablesв качестве своего бэкэнда, что означает, что он сам добавит или удалит iptablesправила в соответствии с тем, что вы указали в правилах своей зоны.

решение4

Любые параметры по умолчанию zones, входящие в дистрибутив, в случае их изменения копируются в /etc/firewalld/zonesкаталог с этими изменениями.

Что также означает, что источником defaultфайлов зоны является не этот каталог, и переустановка не знает о файлах в этом каталоге ( /etc/firewalld/zones), поэтому эти файлы будут untouchedпри переустановке. Если эти файлы не будут удалены, firewalld продолжит загружать ваши изменения из этого каталога.

Вы можете сделать резервную копию и удалить все эти файлы (безопасно) /etc/firewalld/zonesи перезапустить firewalld, который затем вернется к конфигурациям зоны, установленным по умолчанию.

Это безопасно в том смысле, что конфигурации зоны распространения по умолчанию разрешают SSH по умолчанию. Однако, если вы вошли на этот сервер через порт SSH, отличный от 22, или любым другим способом, отличным от SSH, то вам нужно быть осторожным, удаляя все эти файлы из /etc/firewalld/zones

sudo cp -pR /etc/firewalld/zones /etc/firewalld/zones.bak
sudo rm -f /etc/firewalld/zones/*
sudo systemctl restart firewalld

В случае изменения каких-либо других файлов конфигурации можно переустановить сам firewalld, однако для его переустановки необходимо загрузить RPM-пакет firewalld.

Установить yum-downloadonlyплагин:

(RHEL5)
# yum install yum-downloadonly
(RHEL6, RHEL7)
# yum install yum-plugin-downloadonly

Перед использованием плагина проверьте /etc/yum/pluginconf.d/downloadonly.conf, что этот плагинenabled=1

# yum install --downloadonly --downloaddir=/tmp firewalld
# rpm -ivh --force /tmp/firewalld*.rpm

Кстати, yum reinstall firewalldизмененные файлы конфигурации не заменяются.

Связанный контент