firewall-cmd нужно ли добавлять порт при добавлении службы?

Вопрос или проблема

Добавляет ли команда добавление сервиса с помощью firewall-cmd автоматически порт, который нужен сервису? Например, когда я добавляю myservice, нужно ли мне также указывать порт? Какова цель –add-service, если нужно также добавлять порт?

firewall-cmd --zone=public --add-service=myservice

Нет необходимости указывать порт.

Смотрите https://firewalld.org/documentation/howto/open-a-port-or-service.html

Для большинства более важных сервисов в firewalld уже определен сервис. Тогда нет необходимости знать о номерах стандартных портов.

Команда firewall-cmd --zone=public --add-service=myservice добавляет существующий сервис в зону фаервола; она не определяет новый сервис myservice. Это означает, что сервис с именем myservice уже существует.

Вам может быть интересно прочитать 23.4.3 Настройка фаервола через командную строку в Руководстве по безопасности и жесткой настройке SUSE Linux Enterprise Server 15 SP6 (даже если вы используете другое дистрибутив).

Чтобы определить новый сервис, вы можете либо скопировать и редактировать существующий сервис, либо сделать это официальным способом, как показано ниже:

FW_CMD='firewall-cmd --permanent'
# определите имя *n*, краткое описание *s*, описание *d*, порт *p* и протокол *proto*
$FW_CMD --new-service="$n"
$FW_CMD --service="$n" --set-short="$s"
$FW_CMD --service="$n" --set-description="$d"
$FW_CMD --service="$n" --add-port="$p/$proto"

Более подробную информацию можно найти в соответствующих руководствах.

Ответ или решение

Когда речь заходит о конфигурации сетевых брандмауэров в Linux, особенно при работе с firewalld и командой firewall-cmd, важно понимать, как добавление служб и портов соотносится друг с другом. Вопрос, который вы подняли, касается автоматического добавления портов при добавлении службы, и давайте разберем это более детально.

Основы работы с firewall-cmd

Команда firewall-cmd используется для управления настройками firewalld, который предоставляет динамическую конфигурацию брандмауэра для Linux. Когда вы используете команду:

firewall-cmd --zone=public --add-service=myservice

вы добавляете уже существующую службу myservice в определенную зону (в данном случае, в зону "public"). Это означает, что для службы уже заранее настроены необходимые порты и протоколы.

Автоматическое добавление портов

Как упоминалось в вашем вопросе, нет необходимости указывать порт отдельно, если служба уже существует в конфигурации firewalld. Для большинства распространенных сервисов, таких как HTTP, HTTPS, FTP и т.д., firewalld уже предлагает определение службы, включающее стандартные порты и протоколы. Таким образом, команда --add-service автоматически добавляет все необходимые правила (включая порты) в зависимости от заранее заданного набора параметров службы.

Цель --add-service

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

Добавление новой службы

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

FW_CMD='firewall-cmd --permanent'
$name='myservice'
$short_description='Краткое описание'
$description='Полное описание службы'
$port='8080'
$proto='tcp'

$FW_CMD --new-service="$name"
$FW_CMD --service="$name" --set-short="$short_description"
$FW_CMD --service="$name" --set-description="$description"
$FW_CMD --service="$name" --add-port="$port/$proto"

В этом случае вы создаете новую службу с собственными параметрами и можете точно указать, какие порты открывать и какие протоколы использовать.

Заключение

Таким образом, основное правило заключается в том, что добавление существующей услуги с помощью firewall-cmd автоматически открывает необходимые порты и протоколы, что упрощает процесс настройки. Если вам необходимо настроить новую службу, существуют формализованные команды для ее создания, которые включают в себя детали, такие как порты и протоколы.

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

Оцените материал
Добавить комментарий

Капча загружается...