На 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
измененные файлы конфигурации не заменяются.