2.83333333333331111111111Rating 2.83 (6 Votes)

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

После установки дистрибутива, дефолтные правила firewalld выглядят примерно так:

~ $ firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp2s0 tun0
  sources: 
  services: dhcpv6-client mdns ssh

Теперь представим, что необходимо разрешить доступ по ssh к этой системе с определенного IP, для этих целей можно использовать internal source. Что-бы посмотреть все источники (sources) можно использовать команду:

firewall-cmd --list-all-zones

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

firewall-cmd --zone=internal --list-all

Добавляем в эту зону порт:

firewall-cmd --zone=internal --add-port=22/tcp --permanent

Или сервис:

firewall-cmd --zone=internal --add-service=ssh --permanent

Добавляем в эту зону IP / подсеть:

firewall-cmd --zone=internal --add-source=xxx.xxx.xx.x/32 --permanent

Перезагружаем правила firewalld:

firewall-cmd --reload

Из паблика временно удаляем ssh:

firewall-cmd --zone=public --remove-service=ssh

Проверяем доступность с указанных выше IP / подсети, если все нормально, то далее перманентно удаляем ssh из зоны public:

firewall-cmd --zone=public --remove-service=ssh --permanent

Далее можно варьировать, например открыть порты для syslog источников, zabbix агентов / серверов и т.п. Done!

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


Защитный код
Обновить

Сейчас 216 гостей и ни одного зарегистрированного пользователя на сайте

Вверх
Вниз