Введение / Зачем это нужно
Иногда вам нужно запретить доступ к определённой службе (например, http, ssh или любой другой unwanted-сервису) на системе, работающей с firewalld. Отключение такой службы гарантирует, что входящие и исходящие соединения через этот сервис будут заблокированы, повышая безопасность вашей Linux-системы. После выполнения шагов вы сможете полностью или временно отключить unwanted-службу и убедиться, что изменения вступили в силу.
Требования / Подготовка
- Системные права root (или sudo).
- Установленный firewalld (обычно preinstalled в большинстве дистрибутивов Linux).
- Базовое знание команд CLI.
Пошаговая инструкция
Шаг 1: Подготовка к отключению
Убедитесь, что firewalld работает и вы можете видеть текущий список разрешённых служб.
# Проверка состояния firewalld
sudo systemctl status firewalld
# Список активных служб
sudo firewall-cmd --list-services
💡 Совет: Если firewalld не запущен, запустите его командой
sudo systemctl start firewalld.
Шаг 2: Отключение unwanted-службы
Замените example-service на название службы, которую хотите отключить (например, http, ssh, ftp).
# Постоянное отключение (изменения сохраняются после перезагрузки)
sudo firewall-cmd --remove-service=example-service --permanent
⚠️ Важно: Флаг
--permanentзаписывает изменение в/etc/firewalld/services/. Без него отключение будет только временным.
:
Шаг 3: Применение изменений
После удаления правила выполните перезагрузку firewalld, чтобы изменения вступили в силу.
sudo firewall-cmd --reload
Шаг 4: Проверка результата
Подтвердите, что служба действительно отключена.
sudo firewall-cmd --list-services
Если служба исчезла из вывода, отключение успешно. Для временного отключения опустите флаг --permanent на шаге 2 — изменение будет активным только до следующей перезагрузки.
Проверка результата
Выполните ту же команду sudo firewall-cmd --list-services и убедитесь, что unwanted-служба больше не отображается. Если она всё ещё присутствует, проверьте, что команда была выполнена без ошибок и firewalld перезагрузился корректно.
Возможные проблемы
firewall-cmd: service not found– Проверьте правильность названия службы. Названия регистрозависимые, используйтеfirewall-cmd --list-allдля полного списка.Permission denied– Убедитесь, что вы используете sudo или вошли как root. Без необходимых прав firewalld блокирует выполнение команд.- Изменения не вступили в силу – Повторно выполните
sudo firewall-cmd --reload. Иногда firewalld кэширует правила, и перезагрузка необходима для их применения. - Служба восстановилась после перезагрузки системы – Если отключение было выполнено без
--permanent, оно сбросится. Для постоянного отключения всегда используйте этот флаг.
Эти шаги помогут вам надёжно отключить unwanted-службу с помощью firewall-cmd и избежать распространённых ошибок. Если что-то пойдёт не так, вернитесь к шагу подготовки и ещё раз проверьте права доступа и состояние firewalld.