Перейти к содержимому

Nm shared зона что это

  • автор:

Sorry, you have been blocked

This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.

What can I do to resolve this?

You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.

Cloudflare Ray ID: 803fb4fdbea20540 • Your IP: Click to reveal 178.175.133.131 • Performance & security by Cloudflare

Как настроить брандмауэр с помощью firewalld в Rocky Linux 9

В этом руководстве вы узнаете, как настроить брандмауэр firewalld для вашего сервера Rocky Linux 9, и познакомитесь с основами управления брандмауэром с помощью административного инструмента firewall-cmd . .

Предпосылки

Для выполнения этого руководства вам понадобится сервер под управлением Rocky Linux 9. Вы должны войти на этот сервер как пользователь без полномочий root, с поддержкой sudo . Чтобы настроить это, обратитесь к нашему руководству Initial Server Setup for Rocky Linux 9.

Шаг 1 — Обзор основных концепций firewalld

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

Демон firewalld управляет группами правил, используя сущности, называемые зонами. Зоны — это наборы правил, которые определяют, какой трафик должен быть разрешен в зависимости от уровня доверия, который у вас есть в сети. Сетевые интерфейсы назначаются зоне, чтобы определять поведение, которое должен разрешать брандмауэр.

Для компьютеров, которые могут часто перемещаться между сетями (например, ноутбуки), такая гибкость обеспечивает хороший способ изменения ваших правил в зависимости от вашей среды. У вас могут быть строгие правила, запрещающие большую часть трафика при работе в общедоступной сети Wi-Fi и допускающие более мягкие ограничения при подключении к домашней сети. Для сервера эти зоны часто не так важны, потому что сетевое окружение меняется редко, если вообще меняется.

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

  • drop: самый низкий уровень доверия. Все входящие соединения сбрасываются без ответа, и возможны только исходящие соединения.
  • block: Аналогично описанному выше, но вместо разрыва соединений входящие запросы отклоняются сообщением icmp-host-prohibited или icmp6-adm-prohibited .
  • public: представляет общедоступные, ненадежные сети. Вы не доверяете другим компьютерам, но можете разрешать выбранные входящие подключения в каждом конкретном случае.
  • external: внешние сети, если вы используете брандмауэр в качестве шлюза. Он настроен на маскировку NAT, поэтому ваша внутренняя сеть остается частной, но доступной.
  • internal: другая сторона внешней зоны, используемая для внутренней части шлюза. Компьютеры достаточно надежны, и доступны некоторые дополнительные услуги.
  • dmz: используется для компьютеров, расположенных в DMZ (изолированные компьютеры, которые не будут иметь доступа к остальной части вашей сети). Разрешены только определенные входящие подключения.
  • work: Используется для рабочих машин. Доверяйте большинству компьютеров в сети. Могут быть разрешены еще несколько сервисов.
  • дом: домашняя обстановка. Как правило, это означает, что вы доверяете большинству других компьютеров и принимаете еще несколько служб.
  • доверенный: доверять всем компьютерам в сети. Самый открытый из доступных вариантов, и его следует использовать с осторожностью.

Чтобы использовать брандмауэр, вы можете создавать правила и изменять свойства своих зон, а затем назначать свои сетевые интерфейсы наиболее подходящим зонам.

Постоянство правила

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

Большинство операций firewall-cmd могут принимать флаг —permanent , указывающий, что изменения должны быть применены к постоянной конфигурации. Кроме того, текущий работающий брандмауэр можно сохранить в постоянной конфигурации с помощью команды firewall-cmd —runtime-to-permanent .

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

Шаг 2 — Установка и включение firewalld

firewalld устанавливается по умолчанию в некоторых дистрибутивах Linux, включая многие развертывания Rocky Linux. Однако вам может понадобиться установить firewalld самостоятельно. Вы можете сделать это с помощью менеджера пакетов Rocky dnf :

После установки firewalld вам необходимо включить службу с помощью systemctl . Имейте в виду, что включение firewalld приведет к запуску службы при загрузке. Лучше всего создать свои правила брандмауэра и воспользоваться возможностью протестировать их, все еще входя в систему через SSH, чтобы избежать потенциальных проблем.

Вы можете убедиться, что служба работает и доступна, набрав:

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

Изучение значений по умолчанию

Вы можете увидеть, какая зона в данный момент выбрана по умолчанию, запустив firewall-cmd —get-default-zone :

Поскольку вы не дали firewalld никаких команд для отклонения от зоны по умолчанию, и ни один из ваших интерфейсов не настроен для привязки к другой зоне, эта зона также будет единственной активной зоной (зоной, которая контролирует трафик для наших интерфейсов). . Вы можете убедиться в этом, запустив firewall-cmd —get-active-zones :

Здесь вы можете видеть, что ваш пример сервера имеет два сетевых интерфейса, контролируемых брандмауэром ( eth0 и eth1 ). Оба они в настоящее время управляются в соответствии с правилами, определенными для публичной зоны.

Вы можете распечатать правила, привязанные к конфигурации зоны по умолчанию, используя firewall-cmd —list-all :

Из вывода видно, что эта зона является и активной, и стандартной, и что интерфейсы eth0 и eth1 связаны с этой зоной. Из строки services: также видно, что эта зона разрешает трафик для DHCP-клиента (для назначения IP-адреса), SSH (для удаленного администрирования) и Cockpit (веб-консоль).

Изучение альтернативных зон

Вы можете узнать информацию и о других зонах.

Чтобы получить список доступных зон, запустите firewall-cmd —get-zones :

Вы можете увидеть конкретную конфигурацию, связанную с зоной, включив параметр —zone= в команду —list-all :

Вы можете вывести все определения зон, используя параметр —list-all-zones . Далее вы узнаете о назначении зон сетевым интерфейсам.

Шаг 3 — Выбор зон для ваших интерфейсов

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

Изменение зоны интерфейса

Вы можете перемещать интерфейс между зонами во время сеанса, используя параметр —zone= в сочетании с параметром —change-interface= . Как и для всех команд, которые изменяют брандмауэр, вам нужно будет использовать sudo .

Например, вы можете переместить свой интерфейс eth0 в домашнюю зону:

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

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

Настройка зоны по умолчанию

Если все ваши интерфейсы могут быть хорошо обработаны одной предопределенной зоной, вам следует назначить эту зону зоной по умолчанию. Вы можете изменить зону по умолчанию с помощью параметра —set-default-zone= . Это немедленно изменит любой интерфейс, используя зону по умолчанию:

Шаг 4 — Установка правил для ваших приложений

Давайте рассмотрим способы определения исключений брандмауэра.

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

Самый простой способ — добавить нужные вам сервисы или порты в зоны, которые вы используете. Вы можете получить список доступных определений служб, используя параметр —get-services команды firewall-cmd :

Примечание. Дополнительные сведения о каждой из этих служб можно найти в соответствующем файле .xml в каталоге /usr/lib/firewalld/services . Например, служба SSH определяется следующим образом:

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

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

Вы можете опустить флаг —zone= , чтобы изменить зону по умолчанию. Вы можете проверить успешность операции с помощью операций —list-all или —list-services :

После того, как вы проверили, что все работает как надо, вы можете изменить постоянные правила брандмауэра, чтобы ваша служба по-прежнему была доступна после перезагрузки. Вы можете сделать предыдущую команду постоянной, добавив флаг —permanent :

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

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

Какой бы метод вы ни выбрали, вы можете убедиться, что он был успешным, добавив флаг —permanent в операцию —list-services . Вам нужно использовать sudo для любых операций —permanent :

Ваша публичная зона теперь разрешает веб-трафик HTTP через порт 80. Если ваш веб-сервер настроен на использование SSL/TLS, вам также необходимо добавить службу https . Вы можете добавить это к текущему сеансу и постоянному набору правил, набрав:

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

В этой ситуации у вас есть два варианта.

Открытие порта для ваших зон

Самый простой способ добавить поддержку для вашего конкретного приложения — открыть порты, которые оно использует, в соответствующей зоне (зонах). Это делается путем указания порта или диапазона портов и соответствующего протокола (TCP или UDP) для портов.

Например, если ваше приложение работает на порту 5000 и использует TCP, вы можете временно добавить его в зону public с помощью параметра —add-port= . Протоколы могут быть обозначены как tcp или udp :

Вы можете убедиться, что это было успешно, используя операцию —list-ports :

Также можно указать последовательный диапазон портов, разделив начальный и конечный порты в диапазоне тире. Например, если ваше приложение использует порты UDP с 4990 по 4999, вы можете открыть их для всех, набрав:

После тестирования вы можете добавить их в постоянный брандмауэр. Используйте sudo firewall-cmd —runtime-to-permanent или повторно запустите команды с флагом —permanent :

Определение службы

Открытие портов для ваших зон — это простое решение, но может быть сложно отслеживать, для чего используется каждый из них. Если вы когда-нибудь отключите службу на своем сервере, вам может быть трудно каталогизировать, какие открытые порты все еще требуются. Чтобы избежать этой ситуации, вы можете определить новую службу.

Службы — это наборы портов со связанным именем и описанием. Управление брандмауэром с помощью служб, как правило, проще в сопровождении, чем сопоставление портов, но требует некоторой первоначальной настройки. Вы можете начать с копирования существующего скрипта из /usr/lib/firewalld/services в каталог /etc/firewalld/services , где брандмауэр ищет нестандартные определения.

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

Откройте файл с помощью vi или вашего любимого текстового редактора:

Для начала файл будет содержать скопированное вами определение SSH:

Большая часть этого определения на самом деле является метаданными. Вы должны изменить короткое имя службы в тегах <short> . Это удобочитаемое имя для вашего сервиса. Вы также должны добавить описание, чтобы у вас было больше информации, если вам когда-нибудь понадобится проверить службу. Единственная конфигурация, которую вам нужно сделать, которая действительно влияет на функциональность службы, вероятно, будет определением порта, где вы указываете номер порта и протокол для открытия. Можно указать несколько тегов

Для службы example представьте, что вам нужно открыть порт 7777 для TCP и 8888 для UDP. Вы можете изменить существующее определение примерно так:

Сохраните и закройте файл.

Перезагрузите брандмауэр, чтобы получить доступ к новой службе:

Вы можете видеть, что теперь он находится в списке доступных сервисов:

Теперь вы можете использовать эту услугу в своих зонах, как обычно.

Шаг 5 — Создание собственных зон

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

Например, вам может понадобиться создать зону для вашего веб-сервера с именем publicweb . Однако вам может потребоваться настроить другую зону для службы DNS, которую вы предоставляете в своей частной сети. Для этого вы можете создать другую зону с именем privateDNS .

При добавлении зоны вы должны добавить ее в постоянную конфигурацию брандмауэра. Затем вы можете перезагрузить, чтобы перенести конфигурацию в текущий сеанс. Например, вы можете создать эти две зоны, используя firewall-cmd –new-zone :

Вы можете убедиться, что они присутствуют в вашей постоянной конфигурации, набрав:

Перезагрузите брандмауэр, чтобы включить эти новые зоны в активную конфигурацию времени выполнения:

Теперь вы можете приступить к назначению соответствующих служб и портов вашим зонам. Обычно рекомендуется настроить брандмауэр времени выполнения, а затем сохранить эти изменения в постоянной конфигурации после тестирования. Например, для зоны publicweb можно добавить службы SSH, HTTP и HTTPS:

Затем вы можете добавить службу DNS в свою зону privateDNS :

Затем вы можете изменить наши интерфейсы на эти новые зоны, чтобы протестировать их:

На этом этапе у вас есть возможность протестировать вашу конфигурацию. Если эти значения подходят для вас, вы должны добавить эти правила в постоянную конфигурацию. Вы можете сделать это, снова запустив все команды с добавленным флагом —permanent , но в этом случае вы будете использовать флаг —runtime-to-permanent для навсегда сохраните всю конфигурацию времени выполнения:

После постоянного применения этих правил перезагрузите брандмауэр, чтобы убедиться, что изменения остались:

Убедитесь, что были назначены правильные зоны:

И убедитесь, что соответствующие службы доступны для обеих зон:

Вы успешно настроили собственные зоны! Чтобы сделать одну из этих зон по умолчанию для других интерфейсов, не забудьте настроить это поведение с помощью параметра —set-default-zone= :

Заключение

Теперь у вас должно быть достаточно полное представление о том, как администрировать службу firewalld в вашей системе Rocky Linux для повседневного использования.

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

Для получения дополнительной информации о firewalld см. официальную документацию firewalld.

How to control IP ranges of Network Manager's hotspots?

After hours of trying different solutions, I was finally able to specify a subnet for a Hotspot connection using Network Manager and then set a manual ip on the client device for a sort of static ip. None of the dnsmasq/dhcp methods work with Network Manager. You have to edit the Network Manager connection file. These files are generated for each connection in the following directory:

I believe that when you create a Hotspot, a new connection file is created and is named Hotspot. You need to edit this file. Make sure you are editing the Hotspot connection file or this will not work! Change/add the following lines under the section [ipv4] to set a subnet. Make sure it has the line method=shared and use whatever ip address you want for address1= and NetworkManager will issue all connecting devices an ip in the same subnet. The format for this line is address1=ip/subnetmask,gateway . Gateway should be the same as the ip. Here is what the [ipv4] section should look like:

Once you have this completed, save the file and run the following to restart Network Manager:

Now your connected devices should be issued an ip address under the same subnet as the ip you entered. In this example it would be 192.168.125.x.

To get a static ip, do that on the client side device. Set a manual ip for this hotspot connection under same subnet, using the same subnet mask and gateway that were entered in the Hotspot connection file.

Here is my whole Hotspot connection file for reference:

Documentation on this setting in Network Manager can be read here:

Table 36. ipv4 setting

Key Name: method

Value Type: string

Value Description: IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support «auto», «manual», and «link-local». See the subclass-specific documentation for other values. In general, for the «auto» method, properties such as «dns» and «routes» specify information that is added on to the information returned from automatic configuration. The «ignore-auto-routes» and «ignore-auto-dns» properties modify this behavior. For methods that imply no upstream network, such as «shared» or «link-local», these properties must be empty. For IPv4 method «shared», the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen.

Most important part:

For IPv4 method «shared», the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen.

Solution 2

You can determine the used IPv4 subnet by configuring one manual address, like

nmcli connection modify $SHARED_NAME ipv4.addresses 192.168.2.5/24

It’s documented in man nm-settings , see ipv4.method.

/etc/NetworkManager/dnsmasq.d is for using dnsmasq as DNS plugin, not for your use case of connection sharing. For that, it is instead /etc/NetworkManager/dnsmasq-shared.d — at least in recent versions of NM. But you shouldn’t need that.

Solution 3

The following appears to work OK — these commands force Network Manager to assign selected DHCP ranges to Wifi access points (10.42.0.x to wifiname1; 10.42.1.x to wifiname2):

nmcli connection modify wifiname1 ipv4.addresses 10.42.0.1
nmcli connection modify wifiname2 ipv4.addresses 10.42.1.1

Note: wifinameN (N=1/2) correspond to files in /etc/NetworkManager/system-connections .

Глава 14. Настройка Межсетевого экрана при помощи firewalld

Межсетевой экран жизненно необходим при защите вычислительной системы или сетевых компьютеров от внешних атак (обычно из внешних источников через Интернет подключения). Например, всякий напрямую подключённый к внешнему соединению компьютер обязан исполнять межсетевой экран для защиты от вредоносной активности. Аналогично, всякая внутренняя сетевая среда обязана обладать неким видом межсетевого экрана между нею и внешним подключением к Интернету.

Дистрибутивы Linux предоставляются с решением межсетевого экрана в нескольких формах. В случае RHEL9 это имеет форму службы с названием firewalld .

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

Введение в firewalld

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

Данная система firewalld предоставляет гибкий способ управления входящим обменом. Такое облако межсетевого экрана, скажем, была настроена для блокирования обмена возникающего от конкретного внешнего IP адреса или для предотвращения всего обмена, появляющегося в определённом порту TCP/IP. Правила могут также определяться для пересылки входящего обмена в различные системы или действовать в качестве шлюза Интернета для защиты прочих компьютеров в сетевой среде.

Придерживаясь стандартных практик безопасности, установка firewalld по умолчанию настраивается на блокирование всякого доступа за исключением удалённой регистрации SSH и той службы DHCP, которая применяется данной системой для получения динамического IP адреса (причём они обе существенны когда системный администратор способен получать доступ к данной системе после осуществления своей установки).

Критически важными элементами конфигурации межсетевого экрана в RHEL9 это зоны , интерфейсы , службы и порты .

По умолчанию firewalld устанавливается с диапазоном предварительно настроенных зон. Зона это предварительно настроенный набор правил, который может применяться быстро для данной системы в любой момент реализации конфигураций межсетевого экрана для конкретных ситуаций. Чёрная зона, к примеру, блокирует входящий обмен, в то время как домашняя зона выставляет менее строгие правила в предположении, что данная система запущена в более сохранной среде, в которой ожидается более высокий уровень доверия. Во всякую систему могут добавляться новые зоны, а уже имеющиеся зоны могут видоизменяться для добавления или удаления правил. Зоны могут также удаляться из соответствующей системы целиком. Таблица 14-1 перечисляет тот набор зон, которые по умолчанию доступны в системе RHEL9:

drop

Наиболее безопасная зона. Допустимы только исходящие соединения, а все входящие соединения отбрасываются (dropped) без какого бы то ни было уведомления такому подключающемуся клиенту.

block

Аналогична зоне drop, за тем исключением, сто входящие соединения отвергаются с неким уведомлением icmp-host-prohibited или icmp6-adm-prohibited.

public

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

external

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

При реализации маскарада (masquerading) или трансляции сетевых адресов (NAT) такая зона применяется совместно с зоной internal , как это будет обозначено позднее в данной главе. Допускает выбор входящих подключений.

internal

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

dmz

Для использования в случае, когда данная система запущена в демилитаризованной зоне (DMZ). По больше части, это те компьютеры, которые общедоступны, но изолированы от прочих частей вашей внутренней сетевой среды. Допускает выбор входящих соединений.

work

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

home

Для использования при запуске системы в домашней сети, в которой прочие компьютеры обладают доверием. Допускает выбирать входящие соединения.

trusted

Самая наименьшая зона безопасности. Принимаются все входящие подключения.

nm-shared

Эта зона внутренним образом применяется NetworkManager при реализации совместно используемых соединений.

libvirt

Используется виртуальными сетями, обычно когда её сервер выступает в роли хоста виртуальных машин.

Для обзора конкретных настроек некой зоны отсылаем к соответствующему файлу XML конфигурации, расположенному в системе в каталоге /usr/lib/firewalld/zones . Ниже в качестве образца приводятся списки содержимого файла конфигурации public.xml :

Интерфейсы

Всякая подключённая к Интернету или сетевой среде (или к ним обоим) система RHEL9 будет содержать по крайней мере один интерфейс в виде либо физического, либо виртуального сетевого устройства. Когда задействован firewalld, каждый из таких интерфейсов назначается некой зоне, что делает возможным выделять различным интерфейсам различные уровни безопасности межсетевого экрана. Например, рассмотрим содержащий два интерфейса сервер; один, соединяемый внешним образом, скорее всего будет выделен обладающей большими ограничениями external зоне, в то время как внутренний интерфейс может пользоваться internal зоной.

Службы

TCP/IP определяет множество служб, которые взаимодействуют по стандартным портам. Безопасные веб соединения HTTPS, например, пользуются портом 443, в то время как служба электронной почты SMTP применяет порт 25. Для выборочного разрешения входящего обмена под конкретные службы, в зоны могут добавляться правила firewalld. К примеру, зона home по умолчанию не допускает входящие соединения HTTPS. Такой обмен может быть разрешён добавлением правил допускающих входящие подключения HTTPS без наличия ссылок на конкретный номер порта.

Порты

Хотя на распространённые службы TCP/IP можно ссылаться при добавлении правил firewalld, могут возникать ситуации, при которых входящие подключения нуждаются в допуске по конкретному порту, который не выделен для данной службы. Этого можно достигать добавлением правил, которые ссылаются на определённый порт вместо служб. Такая методика была применена в Главе 7, Обзор веб интерфейса Cockpit, когда порт 9090 открывался чтобы допускать веб интерфейс Cockpit.

Проверка Состояния firewalld

По умолчанию для всех установок RHEL9 обсуждаемая нами служба firewalld установлена и включена. Значение состояния данной службы можно проверить такой командой:

Если это необходимо, служба firewalld может быть установлена следующим образом:

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

Настройка Правил Межсетевого экрана при помощи firewall-cmd

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

При внесении изменений в установки межсетевого экрана важно осознавать понятия конфигураций runtime (времени исполнения) и permanent (постоянной). По умолчанию, всякое изменение правила рассматривается в качестве изменения конфигурации времени исполнения. Это означает, хотя такие изменения и вступают в действие немедленно, они будут утрачены при следующем перезапуске данной системы или при перезагрузке своей службы firewalld, к примеру, активируя такую команду:

Для превращения замены в постоянную необходимо применять параметр командной строки —permanent . Постоянные изменения не вступают в силу пока не будет перегружена служба firewalld, но остаются на своём месте пока не будут изменены вручную.

Выявление и изменение Зоны по умолчанию

Для идентификации значения зоны по умолчанию (иначе говоря, той зоны, которой назначаются все интерфейсы, пока не выбрана конкретно иная зона), воспользуйтесь командой firewall-cmd :

Для изменения значения зоны по умолчанию на иную:

Отображение сведений о Зоне

Чтобы перечислить все доступные в данной системе зоны:

Получить список зон, активных совместно с теми интерфейсами, которым они назначены:

Все те правила, которые назначены для конкретной зоны могут быть перечислены так:

Для перечисления всех служб, доступных на данный момент для включения в правило firewalld примените следующую команду:

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

Список правил порта можно получить так:

Добавление и удаление Служб Зоны

Для добавления службы в зону, в данной ситуации, добавления HTTPS в зону public, следует воспользоваться такой командой:

По умолчанию, это изменение runtime (времени исполнения), а потому данное добавленное правило будет утрачено после перезапуска системы. Чтобы добавить службу на постоянной основе с тем, чтобы она оставалась в действии при следующем перезапуске своей системы, воспользуйтесь флагом —permanent :

Чтобы проверить, что данная служба была добавлена на постоянной основе, убедитесь что флаг —permanent содержится при запросе данной службы в списке:

Обратите внимание на то, что поскольку изменение выполняется на постоянной основе, это новое правило не вступит в действие пока не будет перезапущена её система или перезагружена firewalld:

Удаляйте службу из зоны при помощи параметра -remove-service . Так как это изменение времени исполнения, данное правило будет восстановлено при запуске данной системы в следующий раз:

Чтобы удалить службу на постоянной основе, воспользуйтесь флагом —permanent , не забывая перезапускать firewalld когда требуется вступления в действие этого изменения немедленно:

Работа с Правилами на основе Портов

Чтобы разрешить конкретный порт, воспользуйтесь параметром —add-port . Обратите внимание, что при задании значения порта вручную требуется предоставления и номера порта и протокола (TCP или UDP):

При добавлении правила в зону также допускается определение диапазона портов:

Создание новой Зоны

Запуская приводимую ниже команду, можно создать полностью новую зону. После её создания, такой зоной можно управлять в точности так же как и предварительно заданными зонами:

После добавления новой зоны, требуется перезапуск firewalld, прежде чем такая зона станет доступной:

Изменение назначений Зоны/ Интерфейса

Как уже обсуждалось ранее, всякий интерфейс в системе должен быть назначен некой зоне. Значение выделенного интерфейсу зоны также можно изменить при помощи инструмента firewall-cmd . В приводимом далее примере наш интерфейс eth0 назначается зоне public :

Маскарад

Маскарад (Masquerading) более известен в кругах сетевых администраторов в качестве трансляции сетевых адресов (NAT, Network Address Translation). При использовании системы RHEL9 в качестве шлюза в Интернет для вычислительной сетевой среды, маскарад позволяет всем внутренним системам пользоваться IP адресом данной системы RHEL9 при общении через Интернет. Это обладает тем преимуществом, что скрывает внутренние IP адреса всех систем от вредоносных внешних логических объектов, а также делает возможным избегать необходимости выделения общедоступного IP адреса каждому из компьютеров в данной сетевой среде.

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

Для включения маскарада (не забывайте пользоваться флагом —permanent когда изменение производится на постоянной основе) примените следующую команду:

Добавление Правил ICMP

ICMP (Internet Control Message Protocol, протокол управляющих сообщений Интернета) применяется клиентскими системами в сетях для отправки друг другу информации, например, сообщений об ошибках. Он также составляет основу команды ping, которая применяется как сетевыми администраторами, так и пользователями, для определения того, активен ли определённый клиент в сетевой среде. Соответствующая категория ICMP позволяет блокировать определённые типы сообщений ICMP. Например, администратор может заблокировать входящие сообщения ICMP ping (Echo Request, эхо- запроса), чтобы предотвращать атаки типа отказа в обслуживании (DoS, denial of service) на основе ping (когда сервер подвергается бомбардировке таким количеством сообщений ping, что становится невозможным его ответ на допустимые запросы).

Для просмотра доступных на включение в правила firewalld типов ICMP выполните такую команду:

К примеру, приводимая ниже команда на постоянной основе добавляет правило блокирования сообщений echo-reply (запроса ping) для общедоступной зоны.

Реализация передачи Портов

Передача (forwarding) портов используется совместно с маскарадом когда система RHEL9 действует в качестве шлюза в Интернет для некой внутренней сетевой среды вычислительных систем. Передача порта позволяет появляющемуся через Интернет для конкретного порта в соответствующем межсетевом экране обмену передаваться в конкретную систему в его внутренней сетевой среде. Возможно, это лучше всего пояснить на примере.

Допустим, что система RHEL9 действует в качестве межсетевого экрана для внутренней сетевой среды компьютеров и одна из имеющихся в такой сети систем настроена в качестве веб сервера. Предположим, что эта система веб сервера обладает IP адресом 192.168.2.20. Имеющаяся запись домена для вебсайта, размещающегося в данной системе настроена на общедоступный IP адрес позади которого располагается система межсетевого экрана RHEL9. Когда по порту 80 в этой RHEL системе появляется запрос на веб страницу HTTP, той необходимо знать что с ним делать. Настраивая передачу (forwarding) порта становится возможным направлять весь веб обмен в ту внутреннюю систему, в которой размещён наш веб сервер (в данном случае, с IP адресом 192.168.2.20), причём либо продолжая пользоваться портом 80, либо преобразовывать весь обмен в иной порт в сервере назначения. На самом деле, передача порта может настраиваться для передачи всего обмена в иной порт в той же самой системе, в которой находится сам межсетевой экран (данное понятие носит название локального проброса).

Чтобы воспользоваться передачей (пробросом) порта, начните с разрешения маскарада как это показано ниже (в данной ситуации это выполняется в предположении, что этот интерфейс подключён к Интернету и назначен зоне external ):

Для передачи порта в иной локальный порт следует воспользоваться такой командой:

В приведённом выше примере весь обмен TCP для порта 22 будет направляться в порт 2750 в этой локальной системе. Приводимая следом команда, с другой стороны, отправляет порт 20 из своей локальной системы в порт 22 в системе с IP адресом 192.168.0.19:

Аналогичным образом, наша следующая команда переправляет порт20 в порт 2750 системы с IP адресом 192.168.0.18:

Управление firewalld из интерфейса Cockpit

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

Для доступа к установкам firewalld, подпишитесь в интерфейсе Cockpit и выберите в панели навигации Networking . На этой странице управления сетями определите раздел Firewall , как это отражено на Рисунке 14-1 ниже и кликните по кнопке Edit rules and zones :

Рисунок 14-1

Страница межсетевого экрана отобразит правила текущей службы, настроенной для зоны по умолчанию (и допускает удалять службы), новые службы для добавления в эту зону, а для самого межсетевого экрана возможность включения и выключения:

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *