Примеры настройки 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