Сбросить правила firewalld по умолчанию?
На CentOS 7 я пробовал разные правила firewalld и команды iptables, и теперь хочу сделать все заново, но только с использованием firewalld.
Вопрос
Как я могу сбросить все правила по умолчанию, с которым поставляется CentOS 7 firewalld?
2 ответа
Следующий фрагмент кода может быть полезен для вас.
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
С Уважением,
Ахмер Мансур
Если вы действительно хотите удалить все, как сказал Джон Эшпул
rm -rf /etc/firewalld/zones
или /usr/etc/firewalld/zone в зависимости от вашего дистрибутива
и
iptables -X
iptables -F
iptables -Z
плюс
systemctl restart firewalld
а потом у вас есть новый набор правил и зон;)
Вы можете просто удалить файлы, содержащие настроенные правила зоны, из
/etc/firewalld/zones
(или же
/usr/etc/firewalld/zones
, в зависимости от распределения). После этого перезагрузите
firewalld
с участием
firewall-cmd --complete-reload
, и он должен начать использовать настройки по умолчанию. Когда вы вносите изменения в правила зоны, файлы снова появятся в этом каталоге.
Что касается
iptables
, вы можете сбросить все правила с помощью
iptables -F
. Перезагрузка тоже работает, если вы не реализовали какую-то постоянство. Остерегайтесь этого
firewalld
может быть настроен для использования
iptables
в качестве серверной части, что означает, что он будет добавлять или удалять
iptables
правила, в соответствии с тем, что вы указали в правилах его зоны.
Лично я бы просто удалил все сервисы и правила из всех зон, которые вы редактировали. За исключением SSH, если вы работаете на удаленном сервере. Это просто: sudo firewall-cmd --zone=WHATEVER --remove-service=WHATEVER
И после того, как все были удалены, просто sudo firewall-cmd --runtime-to-permanent
ОДНАКО: если вы не сохранили правила брандмауэра, просто перезапустите systemctl restart firewalld
Я не думаю, что есть какая-либо функция сброса в этом.
Любое значение по умолчанию
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
не заменяет измененные файлы конфигурации.