Главная Зерно Пингвин Колибри Сириус Ромашка


Настройка

Firewall в CentOS 7

FirewallD — динамически управляемый брандмауэр с поддержкой зон, который определяет уровень доверия сетевых подключений или интерфейсов. Доступен для многих дистрибутивов Linux и выступает в качестве фронтенда для системы фильтрации сетевых пакетов Iptables ядра Linux.

Установка и запуск

В некоторых системах CentOS может не оказаться firewalld. Для его установки вводим:
yum install firewalld

Для автоматического зауска вводим:
systemctl enable firewalld

И для запуска службы:
systemctl start firewalld

Общие команды для управления firewalld
Посмотреть состояние:
firewall-cmd --state

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

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

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

Посмотреть созданные правила:
firewall-cmd --list-all

Остановить службу:
systemctl stop firewalld

Запустить сервис:
systemctl start firewalld

Запретить автозапуск:
systemctl disable firewalld

Разрешить автозапуск:
systemctl enable firewalld

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

Чтобы правила применялись, не забываем их перечитывать:
firewall-cmd --reload

Открыть порт 80:
firewall-cmd --permanent --add-port=80/tcp

Удалим правило для открытия 80-о порта:
firewall-cmd --permanent --remove-port=80/tcp

Добавить правило для определенной зоны:
firewall-cmd --permanent --zone=external --add-port=80/tcp

Добавить диапазон портов:
firewall-cmd --permanent --add-port=6500-6700/udp

Добавить несколько правил одной командой:
firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp

Посмотреть список доступных служб:
firewall-cmd --get-services

Разрешить порт, например, для сервиса ntp:
firewall-cmd --permanent --add-service=ntp

Создать собственную службу:
firewall-cmd --permanent --new-service=name-service

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

Посмотреть список всех имеющихся зон:
firewall-cmd --list-all-zones

Посмотреть список используемых зон:
firewall-cmd --get-active-zones

Информация о конкретной зоне:
firewall-cmd --list-all --zone=public

Создать правило для зоны public:
firewall-cmd --permanent --zone=public --add-port=80/tcp

Добавить сетевой интерфейс в зону:
firewall-cmd --permanent --zone=public --remove-interface=ens34
firewall-cmd --permanent --zone=internal --add-interface=ens34
сначала нужно удалить адаптер из текущей зоны.

Пример настройки NAT (шлюза)

Открыть файл:
vi /etc/sysctl.conf

Добавляем в него следующую строку:
net.ipv4.ip_forward=1

Применяем настройку:
sysctl -p /etc/sysctl.conf

Настройка выполняется для двух сетевых интерфейсов — ens32 (внутренний) и ens34 (внешний):

firewall-cmd --direct --permanent --add-rule ipv4 nat POSTROUTING 0 -o ens34 -j MASQUERADE
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i ens32 -o ens34 -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i ens34 -o ens32 -m state --state RELATED,ESTABLISHED -j ACCEPT

systemctl restart firewalld

Просмотров: 307


25 . 04 . 2024