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

Другие вопросы по тегам