Centos Stream 9 firewalld
Добавлено: 25 июн 2025, 15:21
https://firewalld.org/documentation/
Перезагрузка, все что добавленно без опции --permanent будет сброшено
Сохраните активную конфигурацию времени выполнения и перезапишите ею постоянную конфигурацию. Предполагается, что это будет работать так: при настройке firewalld вы вносите только изменения времени выполнения, и как только вы будете довольны конфигурацией и протестируете, что она работает так, как вам нужно, вы сохраните конфигурацию на диск.
Проверка текущих настроек
Логирование и аудит
Управление зонами и интерфейсами
Добавление и удаление служб
Открытие и закрытие портов
Использование rich rules
Настройка маскарадинга (NAT)
Настройка проброса портов
Перезагрузка, все что добавленно без опции --permanent будет сброшено
Код: Выделить всё
firewall-cmd --reload
Код: Выделить всё
firewall-cmd --runtime-to-permanent
Код: Выделить всё
# Просмотр полной конфигурации
sudo firewall-cmd --list-all
# Проверка открытых портов
sudo firewall-cmd --list-ports
# Просмотр активных служб
sudo firewall-cmd --list-services
Код: Выделить всё
# Включение логирования отброшенных пакетов
sudo firewall-cmd --add-rich-rule='rule family="ipv4" log prefix="DROPPED: " level="warning" drop'
# Просмотр логов
sudo journalctl -f -u firewalld
Код: Выделить всё
# Мониторинг сетевых соединений
sudo ss -tupln
# Анализ сетевого трафика
sudo tcpdump -i any port 80
Управление зонами и интерфейсами
Код: Выделить всё
# Просмотр активных зон
sudo firewall-cmd --get-active-zones
# Просмотр зоны по умолчанию
sudo firewall-cmd --get-default-zone
# Изменение зоны по умолчанию
sudo firewall-cmd --set-default-zone=internal
Код: Выделить всё
# Назначение интерфейса конкретной зоне
sudo firewall-cmd --zone=trusted --change-interface=eth0
# Получение информации о зоне интерфейса
sudo firewall-cmd --get-zone-of-interface=eth0
Код: Выделить всё
# Создание новой зоны
sudo firewall-cmd --permanent --new-zone=customzone
# Копирование настроек существующей зоны
sudo firewall-cmd --permanent --new-zone-from-file=public.xml --name=customzone
Код: Выделить всё
# Просмотр доступных служб
sudo firewall-cmd --get-services
# Добавление службы в зону
sudo firewall-cmd --zone=public --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
# Удаление службы из зоны
sudo firewall-cmd --zone=public --remove-service=http
Открытие и закрытие портов
Код: Выделить всё
# Открытие TCP-порта
sudo firewall-cmd --zone=public --add-port=8080/tcp
# Открытие диапазона портов
sudo firewall-cmd --zone=public --add-port=4990-4999/udp
# Закрытие порта
sudo firewall-cmd --zone=public --remove-port=8080/tcp
Код: Выделить всё
firewall-cmd --list-rich-rules
Код: Выделить всё
# Разрешаем входящие соединения только с определенного IP-адреса
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.10" service name="http" accept'
# Ограничиваем количество соединений
sudo firewall-cmd --add-rich-rule='rule service name="http" limit value="25/m" accept'
# Логируем все отклоненные пакеты
sudo firewall-cmd --add-rich-rule='rule service name="http" log prefix="HTTP DROP: " level="warning" limit value="3/m" reject'
Код: Выделить всё
# Проброс порта с дополнительными условиями
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="203.0.113.0/24" forward-port port="80" protocol="tcp" to-port="8080" to-addr="192.168.1.100"'
Настройка маскарадинга (NAT)
Код: Выделить всё
# Включение маскарадинга для зоны
sudo firewall-cmd --zone=external --add-masquerade
# Проверка статуса маскарадинга
sudo firewall-cmd --zone=external --query-masquerade
# Отключение маскарадинга
sudo firewall-cmd --zone=external --remove-masquerade
Код: Выделить всё
# Проброс TCP-порта 80 на внутренний сервер
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.100
# Проброс диапазона портов
sudo firewall-cmd --zone=external --add-forward-port=port=5900-5999:proto=tcp:toaddr=192.168.1.100