Как настроить межсетевой экран SLES 15 с помощью firewall-cmd

Сервис, работающий на сервере SLES 15, может по-прежнему выдавать ошибку тайм-аута для удаленных клиентов, поскольку брандмауэр блокирует новый входящий трафик. Обычно решение заключается в определении активной зоны firewalld и разрешении только того сервиса или порта, которые необходимы приложению. Инструмент командной строки SLES для этой задачи — firewall-cmd.

Данное руководство основано на руководстве SUSE SLES 15 SP7 по безопасности и усилению защиты, а также на справочнике команд firewalld, проверенном 7 октября 2026 года. Более ранние пакеты обновлений и обновленные системы SLES 12 могут иметь другие состояния или устаревшую конфигурацию брандмауэра. Изображения терминала показывают примеры, а не результаты, полученные с реального сервера; замените имена интерфейсов, зоны и службы значениями на вашем хосте.

1. Убедитесь, что firewalld запущен.

В документации SUSE указано, что firewalld установлен и включен по умолчанию в SLES 15. YaST обычно запускает его после установки и помещает интерфейсы в publicзону по умолчанию. Тем не менее, лучше проверить машину, а не предполагать, что настройки по умолчанию не изменились. Выполните эти команды от имени учетной записи, которой разрешено использовать sudo:

sudo systemctl status firewalld
sudo firewall-cmd --state

Диспетчер служб должен сообщать об firewalldактивности службы и firewall-cmd --stateо состоянии системы running. Если служба установлена, но остановлена, запустите ее и включите при загрузке системы:

sudo systemctl enable --now firewalld

Если пакет firewall-cmdотсутствует, проверьте, firewalldустановлен ли он и доступен ли в включенных репозиториях SUSE. Не устанавливайте и не заменяйте компоненты брандмауэра на управляемом сервере бездумно.

Пример работы терминала SLES: проверка состояния службы firewalld и отображение активной публичной зоны на eth0.
В тестовом терминале проверяется состояние firewalld и отображается пример активной публичной зоны с интерфейсом eth0.

2. Найдите зону, защищающую интерфейс сервера.

Firewalld группирует правила в зоны , которые представляют разные уровни доверия. publicЗона обычно используется для сетей, которым не доверяют. Сервис, открытый в одной зоне, не открывается автоматически во всех зонах, поэтому правильное правило в неправильной зоне может привести к недоступности вашего приложения.

sudo firewall-cmd --get-active-zones
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --zone=public --list-all

Используйте вывод команды active-zone, чтобы найти зону, подключенную к интерфейсу, через который проходит клиентский трафик. Имя интерфейса может быть eth0, ens160, или другим. Если вам нужно проверить один интерфейс, выполните команду:

sudo firewall-cmd --get-zone-of-interface=eth0

Замените eth0на фактический интерфейс. Интерфейс, не назначенный явно зоне, обрабатывается зоной по умолчанию. Избегайте необдуманного изменения зоны по умолчанию: это может повлиять на интерфейсы, которые от нее зависят. На удаленном сервере определите зону SSH или другую зону управления и подтвердите ее правило доступа, прежде чем перезагружать настройки брандмауэра. Если существует, обеспечьте наличие консоли или пути восстановления внеполосным способом.

Пример работы терминала SLES, демонстрирующий общедоступную зону по умолчанию, интерфейс eth0, службу SSH и правила текущей зоны.
В списке зон отображается информация о том, какие интерфейсы и службы связаны с примером общедоступной зоны до внесения каких-либо изменений.

3. Выберите именованную службу или конкретный порт.

Служба firewalld — это именованное определение, которое может включать один или несколько портов и протоколов. Обычно проще разрешить доступ известной службе по имени, чем запоминать номер её порта. Перед использованием проверьте список установленных служб и изучите определение:

sudo firewall-cmd --get-services
sudo firewall-cmd --info-service=http

Для веб-сервера предопределенная httpслужба обычно охватывает TCP-порт 80; httpsдля веб-трафика TLS используется отдельная служба. В документации SLES показан тот же метод на основе служб с примерами, такими как DHCP. Используйте ту службу, которая требуется вашему приложению, и проверьте определение службы локально, если вы не уверены.

Если ни одна из предопределенных служб не подходит, откройте только необходимый порт и протокол. Например, приложение, прослушивающее TCP-порт 8443, может быть разрешено с помощью команды ` --add-port=8443/tcp.`. Открытие порта в брандмауэре не запускает приложение, не привязывает его к сети и не делает его безопасным; убедитесь, что сама служба настроена на прослушивание нужного адреса.

Сначала протестируйте временное правило.

Для короткого теста примените правило к конфигурации во время выполнения. Изменения во время выполнения вступают в силу немедленно, но теряются после перезагрузки брандмауэра или перезапуска службы, если вы не сохраните их навсегда. Firewalld поддерживает правило с ограничением по времени, что полезно, если вы хотите, чтобы тест автоматически завершался:

sudo firewall-cmd --zone=public --add-service=http --timeout=5m

Для разовой проверки порта используйте --add-port=8443/tcp --timeout=5mвместо --add-service=http. Выберите зону, которая фактически содержит интерфейс сервера; не копируйте, publicесли ваш хост использует другую зону.

Пример использования терминала SLES: добавление HTTP-сервиса на постоянной основе в публичную зону и перезагрузка firewalld.
Приведенная команда добавляет HTTP-сервис в постоянную конфигурацию общедоступной зоны, а затем перезагружает firewalld для его применения.

4. Сохраните правило и перезагрузите firewalld.

Когда вы будете готовы сохранить правило, добавьте его в постоянную конфигурацию. Следующий пример разрешает HTTP в публичной зоне:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Для HTTPS повторите команду permanent с параметром --add-service=https. Для пользовательского порта приложения используйте команду, например:

sudo firewall-cmd --permanent --zone=public --add-port=8443/tcp
sudo firewall-cmd --reload

В этих примерах сначала изменяется постоянная конфигурация, а затем она перезагружается, чтобы новое правило вступило в силу. Перезагрузка также заменяет параметры времени выполнения постоянной конфигурацией. Поэтому любые изменения, внесенные только во время выполнения в других местах, могут быть отменены. Перед перезагрузкой производственной системы проверьте важные правила времени выполнения и постоянные правила, особенно правила удаленного администрирования.

Существует также рабочий процесс, ориентированный на выполнение во время работы: протестируйте правило во время выполнения, подтвердите работоспособность службы, затем добавьте то же правило --permanentи перезагрузите систему. Избегайте использования --runtime-to-permanentв качестве ярлыка, если вы не собираетесь сохранять все текущие правила, действующие во время выполнения, включая временные изменения, внесенные другими администраторами или программным обеспечением.

Как можно убедиться, что изменение сработало?

Проверьте как активное правило во время выполнения, так и сохраненное правило. Для HTTP-сервиса в общедоступной зоне выполните:

sudo firewall-cmd --zone=public --query-service=http
sudo firewall-cmd --permanent --zone=public --list-services
sudo firewall-cmd --check-config

Запрос должен вернуть yes, постоянный список служб должен включать http, и проверка конфигурации должна завершиться успешно. Для правила порта используйте --query-port=8443/tcpи --list-portsв эквивалентных командах. Также проверьте с отдельного клиента, который может связаться с сервером; локальный запрос через брандмауэр подтверждает наличие правила, а не корректность DNS, маршрутизации, вышестоящих брандмауэров или прослушивателя приложений.

Пример работы терминала SLES, подтверждающий разрешение HTTP в режиме выполнения и в постоянных конфигурациях, а также проверяющий конфигурацию firewalld.
Команды проверки проверяют активное правило службы, сохраненный список служб и синтаксис постоянной конфигурации.

Типичные проблемы и безопасные способы их решения

  • Правило присутствует, но соединения по-прежнему прерываются по таймауту: убедитесь, что оно добавлено в зону, прикрепленную к интерфейсу, обращенному к клиенту. Затем проверьте, прослушивает ли приложение ожидаемый адрес и порт, и проверьте работу вышестоящего сетевого брандмауэра.
  • Правило работало до перезагрузки: вероятно, оно было добавлено только во время выполнения. Добавьте его --permanentи перезагрузите систему, затем запросите обе конфигурации.
  • Доступ по SSH находится под угрозой: проверьте службы активной зоны и постоянные службы перед перезагрузкой. Если SSH требуется, но отсутствует, добавьте sshслужбу в соответствующую зону на постоянной основе перед перезагрузкой. Не закрывайте текущую удаленную сессию, пока не проверите второе соединение.
  • Вы выполняете миграцию с более старой версии SUSE: в SLES 15 SuSEfirewall2 был заменен на firewalld. SUSE предупреждает, что профили устаревших брандмауэров имеют ограниченную обратную совместимость; ознакомьтесь с руководством по миграции, а не предполагайте, что все старые правила были переведены.
  • Правила, по-видимому, противоречат друг другу: firewalld предназначен для управления правилами брандмауэра хоста. SUSE предостерегает от изменения одних и тех же правил по отдельности с помощью таких инструментов, как iptables, поскольку это может привести к путанице в активной конфигурации.

Чтобы удалить ненужную постоянную службу или порт, используйте соответствующий параметр --remove-serviceили --remove-portопцию с --permanent, затем перезагрузите страницу и снова проверьте. Например, удалите HTTP из публичной зоны с помощью , sudo firewall-cmd --permanent --zone=public --remove-service=httpа затем sudo firewall-cmd --reload.

Перед завершением проверьте себя.

  • firewalldОн запущен и работает при загрузке сервера.
  • Вы определили активную зону для интерфейса, принимающего трафик.
  • В этой зоне разрешен доступ только для того сервиса или порта, которые необходимы приложению.
  • Удаленное администрирование по-прежнему разрешено до и после перезагрузки.
  • Правило отображается в запросах во время выполнения и в постоянных запросах, и проверка конфигурации проходит успешно.
  • Проверка соединения с другого хоста подтверждает доступность приложения.

Подробную информацию о конкретной версии см. в руководстве по брандмауэру SUSE SLES 15 SP7 , руководстве по firewall-cmd и примечаниях firewalld о настройке во время выполнения и постоянной настройке , а также об открытии порта или службы .

Оставить комментарий

Исправление разрывов изображения на графике Intel в Pardus Linux: руководство, ориентированное на результат.

Исправление разрывов изображения на графике Intel в Pardus Linux: руководство, ориентированное на результат.

Для устранения разрывов изображения на экране, вызванных графикой Intel, в Pardus Linux проверьте совместимость X11 и Wayland, настройки композитора, частоту обновления, активный драйвер Xorg и используйте TearFree только при необходимости.

Как настроить межсетевой экран SLES 15 с помощью firewall-cmd

Как настроить межсетевой экран SLES 15 с помощью firewall-cmd

Настройте firewalld на SLES 15: проверьте зоны, разрешите службы или порты, сохраните постоянные правила, безопасно перезагрузите систему и проверьте доступ.

Руководство по настройке оперативного обновления SLES: применение обновлений ядра без перезагрузки.

Руководство по настройке оперативного обновления SLES: применение обновлений ядра без перезагрузки.

Включите функцию автоматического обновления ядра в режиме реального времени на SLES 15 SP7, применяйте поддерживаемые исправления без перезагрузки, проверяйте активные патчи и определяйте, когда все еще требуется перезапуск ядра.

Как включить режим FIPS на сервере SUSE Linux Enterprise Server 15

Как включить режим FIPS на сервере SUSE Linux Enterprise Server 15

Включите режим FIPS на SLES 15 с помощью поддерживаемой SUSE утилиты настройки, безопасно перезагрузите систему, проверьте состояние ядра и криптографической политики, а также проверьте ограничения сертификации.

Как установить Google Chrome на Gooroom OS, не нарушая политики безопасности.

Как установить Google Chrome на Gooroom OS, не нарушая политики безопасности.

Безопасная установка Google Chrome на Gooroom OS с использованием официальных .deb-пакетов, APT-проверки, проверок политик, инструкций по обновлению и исправлений для управляемых устройств.

Как безопасно экспортировать системные журналы SLES на удаленный сервер Syslog

Как безопасно экспортировать системные журналы SLES на удаленный сервер Syslog

Надежная пересылка системных журналов SLES на удаленный сервер syslog с использованием rsyslog, TLS-сертификатов, проверки имен узлов, очередей, валидации и тестирования.

Интеграция Active Directory с SSSD в SLES 15: пошаговое руководство

Интеграция Active Directory с SSSD в SLES 15: пошаговое руководство

Подключите SLES 15 к Active Directory с помощью SSSD, используя YaST. Подготовьте DNS и время, настройте вход в домен, проверьте Kerberos и сравните SSSD, Winbind и realmd.

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix RTL8821CE Wi-Fi on Pardus Linux by checking the built-in rtw88 driver, Realtek firmware, rfkill, NetworkManager, and safe fallback options.

Исправлена ​​ошибка «Временная ошибка разрешения DNS» в Debian 12 при использовании systemd-resolved.

Исправлена ​​ошибка «Временная ошибка разрешения DNS» в Debian 12 при использовании systemd-resolved.

Диагностика и устранение ошибок разрешения DNS в Debian 12 с помощью systemd-resolved, включая resolv.conf, NetworkManager, networkd, cache и verification.

Как безопасно установить Pardus Linux в паре с Windows 11.

Как безопасно установить Pardus Linux в паре с Windows 11.

Установите Pardus 25.2 рядом с Windows 11, создав резервную копию, уменьшив размер тома Windows, загрузившись с USB-накопителя с поддержкой UEFI и защитив существующие разделы EFI и восстановления.