Примеры настройки Firewalld в Centos

Проброс порта:

# firewall-cmd --permanent --zone=public --add-forward-port=port=20022:proto=tcp:toport=22:toaddr=10.0.10.6

Разрешить доступ по порту TCP:

# firewall-cmd --zone=public --add-port=80/tcp --permanent

Применить изменения:

# firewall-cmd --reload

 

Общие команды для управления firewalld

Посмотреть состояние:

firewall-cmd --state

Мягко перечитать правила (применить настройки):

firewall-cmd --reload

Перечитать правила и сбросить текущие подключения:

firewall-cmd --complete-reload

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

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

firewall-cmd --list-all

Сохранить текущие правила, сделав их постоянными (permanent):

firewall-cmd --runtime-to-permanent

 

Управление зонами

Просмотреть список всех зон:

firewall-cmd --get-zones

Проверить правила конкретной зоны:

firewall-cmd --zone=public --list-all

Правила всех зон:

firewall-cmd --list-all-zones

Присвоить интерфейс зоне:

firewall-cmd --zone=home --change-interface=eth0

Указать зону по умолчанию:

firewall-cmd --set-default-zone=home

Посмотреть активные зоны:

firewall-cmd --get-active-zones

Добавление новой зоны:

firewall-cmd --permanent --new-zone=our

 

Управление правилами

Общий синтаксис для работы с правилами:

firewall-cmd [опции] [зона] <правило>

* порядок следования параметров не важен.

где:

  • [опции] — дополнительные параметры для создаваемого правила, например —permanent — постоянное правило, то есть будет действовать после перезагрузки. Не обязательный.
  • [зона] — по умолчанию, правила создаются для зоны public. Для работы с конкретной зоной ее необходимо указать, например, —zone=dmz. Не обязательный.
  • <правило> — само правило. Обязательный.

Применить изменения:

firewall-cmd --reload

Разрешить доступ по порту 80:

firewall-cmd --add-port=80/tcp --permanent

* где ключ —permanent — добавить постоянное правило (будет действовать после перезагрузки).

Добавить правило для определенной зоны:

firewall-cmd --permanent --zone=external --add-port=80/tcp

Добавить диапазон портов:

firewall-cmd --permanent --add-port=20000-25000/udp

Добавить несколько правил одной командой:

firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp

 

Добавление сервиса

Посмотреть список всех служб:

firewall-cmd --get-services

Разрешить порт, например, для службы http:

firewall-cmd --permanent --add-service=http

Создать собственную службу:

firewall-cmd --permanent --new-service=service_name

* где name-service — произвольное имя создаваемой службы.

Добавить порт, например TCP 1380 к службе:

firewall-cmd --permanent --service=service_name --add-port=1380/tcp

Задать описание для удобства:

firewall-cmd --permanent --service=service_name --set-short="Service Name"
firewall-cmd --permanent --service=service_name --set-description="Long Description For Service Name"

Информацию о созданном сервисе можно получить командой:

firewall-cmd --info-service=service_name

Теперь созданную службу можно использовать для создания правил, например:

firewall-cmd --permanent --add-service=service_name