Firewalld¶
# Управление
systemctl start|stop|enable|disable|status firewalld
# или
firewall-cmd --state
# Безопасная перезагрузка без потери соединений
firewall-cmd --reload
# Перезагрузка со сбросом всех соединений
firewall-cmd --complete-reload
# Получение информации о зонах
firewall-cmd --get-zones
firewall-cmd --list-all
firewall-cmd --list-all --permanent
firewall-cmd --get-default-zone
firewall-cmd --get-active-zones
firewall-cmd --get-zone-of-interface=eth0
firewall-cmd --zone=public --list-interfaces
# Информация о сервисах
firewall-cmd --get-services
firewall-cmd --zone=public --list-service
# Информация о портах
firewall-cmd --list-ports
# Отключение firewalld
systemctl disable firewalld
systemctl stop firewalld
systemctl mask firewalld
systemctl status firewalld
# Совесем удалить
yum remove firewalld
Настройки зон по-умолчанию¶
- drop - все входящие пакеты отбрасываются (drop) без ответа. Разрешены только исходящие соединения.
- block - входящие соединения отклоняются (rejected) с ответом icmp-host-prohibited (или icmp6-adm-prohibited). Разрешены только инициированные системой соединения.
- public - зона по-умолчанию. Из названия ясно, что эта зона нацелена на работу в общественных сетях. Мы не доверяем этой сети и разрешаем только определенные входящие соединения.
- external - зона для внешнего интерфейса роутера (т.н. маскарадинг). Разрешены только определенные нами входящие соединения.
- dmz - зона DMZ, разрешены только определенные входящие соединения.
- work - зона рабочей сети. Мы все еще не доверяем никому, но уже не так сильно, как раньше :) Разрешены только определенные входящие соединения.
- home - домашняя зона. Мы доверяем окружению, но разрешены только определенные входящие соединения
- internal - внутренняя зона. Мы доверяем окружению, но разрешены только определенные входящие соединения
- trusted - разрешено все
# Добавить/удалить интерфейс в зону перманентно
firewall-cmd --zone=public --change-interface=eth1 --permanent
# Перманентно добавить сервис в нужную зону
firewall-cmd --zone=public --add-service=samba --add-service=samba-client --permanent
# Перманентно удалить разрешенный сервайс
firewall-cmd --zone=public --remove-service=dhcpv6-client --permanent
firewall-cmd --permanent --zone=public --remove-service=ssh
# Добавить порт в зону
firewall-cmd --zone=public --add-port=5000/tcp
firewall-cmd --permanent --zone=public --add-port=1-22/tcp
# Добавить в зону доступ с указанных адресов
firewall-cmd --permanent --zone=public --add-source=192.168.100.0/24
firewall-cmd --permanent --zone=public --add-source=192.168.222.123/32
Еще команды¶
# Блокировать все входящие
firewall-cmd --panic-on
firewall-cmd --panic-off
firewall-cmd --query-panic
# Сделать все текущие настройки перманентными
firewall-cmd --runtime-to-permanent
# Маскарадинг
firewall-cmd --zone=external --query-masquerade
firewall-cmd --zone=external --add-masquerade
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.23
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.23
Примеры¶
Разрешить доступ только с указанных IP адресов на указанные порты
firewall-cmd --permanent --zone=work --add-source=191.206.170.2
firewall-cmd --permanent --zone=work --add-source=89.15.16.5
firewall-cmd --permanent --zone=work --add-source=89.15.16.7
#firewall-cmd --permanent --zone=work --add-port=8080/tcp
firewall-cmd --permanent --zone=work --add-service=ssh
firewall-cmd --permanent --zone=work --add-service=http
firewall-cmd --permanent --zone=work --add-service=https
firewall-cmd --set-default-zone=drop
firewall-cmd --reload
# qoestor
firewall-cmd --permanent --zone=work --add-source=191.206.168.52
firewall-cmd --permanent --zone=work --add-source=191.206.168.53
firewall-cmd --permanent --zone=work --add-source=191.206.168.49
firewall-cmd --permanent --zone=work --add-source=191.206.170.2
firewall-cmd --permanent --zone=work --add-source=191.206.171.132
firewall-cmd --permanent --zone=work --add-port=1500/tcp
firewall-cmd --permanent --zone=work --add-port=1510/tcp
firewall-cmd --permanent --zone=work --add-port=1501/tcp
firewall-cmd --permanent --zone=work --add-port=1511/tcp
firewall-cmd --permanent --zone=work --add-port=8123/tcp
firewall-cmd --permanent --zone=work --add-service=ssh
firewall-cmd --permanent --zone=work --remove-service=dhcpv6-client
firewall-cmd --set-default-zone=drop
firewall-cmd --reload