firewall-cmd настройка брадмаузера
Dec. 20th, 2016 08:50 pm
firewall-cmd
Создание мультизональных конфигураций межсетевого экрана с помощью Firewalld
Firewalld, установка и настройка, зоны, NAT, проброс портов
Настройка firewalld CentOS 7 с примерами команд
Использование ipset во встроенном брандмауэре CentOS 7
vpn pptp centos7
13 - Готовим CentOS 7. Установка и настройка firewalld
Установка
yum -y install firewalld
Запуск
systemctl start firewalld
Статус
systemctl status firewalld
Зоны
- drop – входящие сетевые пакеты сбрасываются, без ответа, допускаются только исходящие соединения
- block – входящие сетевые соединения отклоняются с сообщением icmp-host-prohibited, допускаются только сетевые соединения инициированные внутри нашей системы.
- public – при недоверии к компьютерам, разрешается устанавливать только конкретные входящие соединения.
- external – для использования во внешних сетях с разрешенным маскарадингом, особенно для роутеров, разрешается устанавливать только конкретные входящие соединения
- dmz – для компьютеров собственной demilitarized zone которые публично доступны с ограниченным доступом к нашей внутренней сети, разрешается устанавливать только конкретные входящие соединения.
- work/home/internal – максимальное доверие к компьютерам, уверенность в том, что они не приченят вреда нашему компьютеру, разрешается устанавливать только конкретные входящие соединения
- trusted – все сетевые соединения разрешены.
Посмотреть текущую зону
firewall-cmd --get-default-zone
Для смены зоны например на home
firewall-cmd --set-default-zone=home
Либо непосредственно в конфиге
nano /etc/firewalld/firewalld.conf
Получить текущую конфигурацию для нашей зоны public
firewall-cmd --zone=public --list-all
После внесение изменений перезагрузить FirewallD можно так
firewall-cmd --reload
режим паники, блокирующий все сетевые соединения
firewall-cmd --panic-on
отмена режима паники
firewall-cmd --panic-off
добавить порт к зоне
firewall-cmd [--zone=] --add-port=[-]/ [--timeout=]
удалить порт из зоны
firewall-cmd [--zone=] --remove-port=[-]/ [--timeout=]
Добавим 80 порт в доверенные
firewall-cmd --permanent --add-port=80/tcp
Посмотреть список сервисов
firewall-cmd --list-services
Добавим ssh в доверенные
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
Посмотрим что получилось
firewall-cmd --list-all
Ставим в автозагрузку
systemctl enable firewalld
netstat -tulpn
firewall-cmd --zone=public --remove-port=443/tcp --permanent
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --zone=public --remove-service=dhcpv6-client --permanent
firewall-cmd --zone=public --add-service=ssh --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent
firewall-cmd --zone=public --add-port=3128/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
firewall-cmd --zone=public --list-services
firewall-cmd --zone=external --list-ports
firewall-cmd --zone=external --list-services
firewall-cmd --zone=external --change-interface=enp3s0 --permanent
firewall-cmd --zone=external --remove-service=ssh --permanent
firewall-cmd --get-active-zones
firewall-cmd --zone=external --list-services
firewall-cmd --list-all
firewall-cmd --get-services
systemctl restart firewalld
http://fliplinux.com/ip-cen.html
«белый список»
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 --permanent --new-ipset=IP-users --type=hash:net
firewall-cmd --ipset=IP-servers --add-entry=192.168.0.0/24 --permanent
firewall-cmd --ipset=IP-servers --add-entry=192.168.200.12 --permanent
firewall-cmd --ipset=IP-servers --add-entry=192.168.200.200 --permanent
firewall-cmd --ipset=IP-servers --remove-entry=192.168.20.0/24 --permanent
firewall-cmd --ipset=IP-servers --get-entries
firewall-cmd --permanent --zone=public --add-rich-rule='rule source ipset="IP-servers" service name="ssh" accept'
firewall-cmd --remove-rich-rule='rule source ipset=IP-users service name="http" drop' --permanent
firewall-cmd --permanent --zone=public --list-rich-rules
чтобы все пользователи (список ipset IP-users) ходили через squid несмотря на net.ipv4.ip_forward=1
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp1s0 -m set --match-set IP-servers src -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp3s0 -m set --match-set IP-servers src -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp1s0 -j DROP
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp3s0 -j DROP
открыть Google Play
firewall-cmd --zone=public --add-port=5228/tcp --permanent
firewall-cmd --zone=external --add-port=5228/tcp --permanent
firewall-cmd --reload
systemctl restart firewalld
iptables -S
ls /usr/lib/firewalld/services/
cat /usr/lib/firewalld/services/ipsec.xml
/etc/firewalld/services/l2tp.xml
/etc/firewalld/services/pptp.xml
chmod 640 /etc/firewalld/services/*.xml restorecon /etc/firewalld/services/*.xml
Контексты SELinux - Маркирование файлов
firewall-cmd варианты
firewall-cmd --direct --permanent --add-rule ipv4 nat POSTROUTING 0 -o enp3s0 -j MASQUERADE
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp3s0 -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp1s0 -m state --state RELATED,ESTABLISHED -j ACCEPT