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