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