Страница 1 из 1
firewalld & iptables
Добавлено: 26 май 2016, 14:44
Olej
В Fedora/CentOS/RedHat появился
новый инструмент управления файерволом firewalld.
Код: Выделить всё
[olej@dell ~]$ ps -A | grep firewal
903 ? 00:00:04 firewalld
Код: Выделить всё
[olej@dell ~]$ firewall-cmd -h
Usage: firewall-cmd [OPTIONS...]
...
Код: Выделить всё
[olej@dell ~]$ which firewall-cmd
/usr/bin/firewall-cmd
[olej@dell ~]$ ls /usr/bin/firew*
/usr/bin/firewall-cmd /usr/bin/firewall-config /usr/bin/firewall-offline-cmd
Не так легко оказалось найти хотя бы обзорную информацию про firewalld.
И то, зачем он
вместо привычного iptables.
Ссылки:
Настраиваем службу FirewallD
Настройка firewalld CentOS 7 с примерами команд
Re: firewalld & iptables
Добавлено: 26 май 2016, 14:56
Olej
Автор Владимир Драч
Понедельник, 01 Сентябрь 2014 00:00
Начиная с Fedora 17, во всех клонах Red Hat Linux (например в Red Hat Enterprise Linux и CentOS 7) появилась новая служба FirewallD для динамического управления межсетевым экраном с поддержкой доверительных зон сетевых соединений или интерфейсов. Ввиду того, что FirewallD запускается как служба, новые правила можно добавлять без перезапуска, как это было с iptables, то есть без сброса установленного фаервола и установления соединений заново. Изменения в конфигурации могут быть сделаны в любое время, причем применяются мгновенно: сохранять или применять изменения не требуется. Служба FirewallD использует инструментарий iptables (iptables tool) для взаимодействия с фильтром пакетов ядра.
Сравнение
Рассмотрим основные отличия FirewallD и iptables:
Служба iptables хранит конфигурацию в /etc/sysconfig/iptables в то время как FirewallD хранит ее в различных XML-файлах в /usr/lib/firewalld/ и /etc/firewalld/. Интересно заметить, что файл /etc/sysconfig/iptables не будет существовать, если современную систему Linux (например, Red Hat Enterprise Linux) установить с FirewallD по умолчанию.
Для iptables service каждое изменение означало сброс сброс старых правил и чтение всех новых из /etc/sysconfig/iptables, однако для FirewallD не существует понятия «воссоздания» правил; при конфигурации только различия в правилах учитываются и применяются. Таким образом, FirewallD может изменять настройки во время выполнения без потери старых соединений.
Основное сходство: оба iptables и FirewallD используют одинаковый инструментарий iptables (iptables tool).
Избавляемся от FirewallD
Если, являясь сторонником старой школы, мы решили избавиться от FirewallD и вернуться, к iptables, то это вполне возможно даже на CentOS 7:
Код: Выделить всё
# systemctl disable firewalld
# systemctl stop firewalld
# yum install iptables-services
# touch /etc/sysconfig/iptables
# touch /etc/sysconfig/ip6tables
# systemctl start iptables
# systemctl start ip6tables
# systemctl enable iptables
# systemctl enable ip6tables
Если же мы переходим на FirewallD, то разбираемся дальше.
Проверяем, установлены ли нужные пакеты, ставим если нужно
Поехали!
Re: firewalld & iptables
Добавлено: 26 май 2016, 14:58
Olej
Centos 7, в отличие от CentOS 6, в базе идет с новым брандмауэром - firewalld. Его можно отключить и заменить на старый добрый iptables, но если к этому нет прямых предпосылок, то лучше привыкать к чему-то новому, а не упираться в старое.
Re: firewalld & iptables
Добавлено: 29 авг 2016, 17:45
Olej
Fedora 23:
В принципе, можно снять firewalld с тем, чтобы пользоваться традиционно, вручную iptables:
Код: Выделить всё
[olej@dell ~]$ service firewalld status
Redirecting to /bin/systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Сб 2016-08-27 12:06:03 EEST; 2 days ago
Main PID: 950 (firewalld)
CGroup: /system.slice/firewalld.service
└─950 /usr/bin/python3 -Es /usr/sbin/firewalld --nofork --nopid
авг 27 12:05:42 dell.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
авг 27 12:06:03 dell.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
Код: Выделить всё
[olej@dell ~]$ sudo service firewalld stop
[sudo] пароль для olej:
Redirecting to /bin/systemctl stop firewalld.service
[olej@dell ~]$ service firewalld status
Redirecting to /bin/systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Пн 2016-08-29 17:40:26 EEST; 12s ago
Process: 950 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 950 (code=exited, status=0/SUCCESS)
авг 27 12:05:42 dell.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
авг 27 12:06:03 dell.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
авг 29 17:40:24 dell.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...
авг 29 17:40:26 dell.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.
[olej@dell ~]$ sudo systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
Ставлю iptables:
Код: Выделить всё
[olej@dell ~]$ dnf list iptables*
Последняя проверка окончания срока действия метаданных: 4 days, 19:13:58 назад, Wed Aug 24 22:22:54 2016.
Установленные пакеты
iptables.x86_64 1.4.21-15.fc23 @System
Доступные пакеты
iptables.i686 1.4.21-15.fc23 fedora
iptables-devel.i686 1.4.21-15.fc23 fedora
iptables-devel.x86_64 1.4.21-15.fc23 fedora
iptables-services.x86_64 1.4.21-15.fc23 fedora
iptables-utils.x86_64 1.4.21-15.fc23 fedora
[olej@dell ~]$ sudo dnf install iptables-services iptables-utils
Последняя проверка окончания срока действия метаданных: 1:55:09 назад, Mon Aug 29 15:49:58 2016.
Зависимости разрешены.
=======================================================================================================================================================
Package Архитектура Версия Репозиторий Размер
=======================================================================================================================================================
Установка:
iptables-services x86_64 1.4.21-15.fc23 fedora 53 k
iptables-utils x86_64 1.4.21-15.fc23 fedora 61 k
Результат операции
=======================================================================================================================================================
Установка 2 Пакеты
Объем загрузки: 114 k
Объем изменений: 62 k
Продолжить? [д/Н]: y
Загрузка пакетов:
(1/2): iptables-services-1.4.21-15.fc23.x86_64.rpm 216 kB/s | 53 kB 00:00
(2/2): iptables-utils-1.4.21-15.fc23.x86_64.rpm 240 kB/s | 61 kB 00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------
Общий размер 61 kB/s | 114 kB 00:01
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
Установка : iptables-utils-1.4.21-15.fc23.x86_64 1/2
Установка : iptables-services-1.4.21-15.fc23.x86_64 2/2
Проверка : iptables-services-1.4.21-15.fc23.x86_64 1/2
Проверка : iptables-utils-1.4.21-15.fc23.x86_64 2/2
Установлено:
iptables-services.x86_64 1.4.21-15.fc23 iptables-utils.x86_64 1.4.21-15.fc23
Выполнено!
Re: firewalld & iptables
Добавлено: 29 авг 2016, 17:54
Olej
Olej писал(а):
Ставлю iptables:
Код: Выделить всё
[olej@dell ~]$ sudo systemctl enable iptables
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.
[olej@dell ~]$ service iptables status
Redirecting to /bin/systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: inactive (dead)
[olej@dell ~]$ sudo service iptables start
Redirecting to /bin/systemctl start iptables.service
[olej@dell ~]$ service iptables status
Redirecting to /bin/systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Пн 2016-08-29 17:48:11 EEST; 7s ago
Process: 15734 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
Main PID: 15734 (code=exited, status=0/SUCCESS)
авг 29 17:48:11 dell.localdomain systemd[1]: Starting IPv4 firewall with iptables...
авг 29 17:48:11 dell.localdomain iptables.init[15734]: iptables: Applying firewall rules: [ OK ]
авг 29 17:48:11 dell.localdomain systemd[1]: Started IPv4 firewall with iptables.
Код: Выделить всё
[olej@dell ~]$ sudo iptables -L -v -n
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
722 168K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
1 29 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
50 9372 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 805 packets, 143K bytes)
pkts bytes target prot opt in out source destination
А дальше можете добавлять правила в цепочки ipchains привычным
старым способом.
А firewalld обратным путём можете всегда сделать.
Re: firewalld & iptables
Добавлено: 01 апр 2018, 18:08
Olej
Olej писал(а):
А дальше можете добавлять правила в цепочки ipchains привычным старым способом.
Ещё раз попался на файерволы - убил пол-дня...
Отрабатываю клиентскую пару для реального real-time проекта, нужно оценить латентность UDP-канала. Делаю спец клиента-сервера ... на локальной машине или на виртуальных - работает, по LAN - ни в какую.
Только после:
Код: Выделить всё
[olej@dell ~]$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[olej@dell ~]$ systemctl status iptables
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Вс 2018-04-01 14:31:05 EEST; 2h 27min ago
Main PID: 855 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/iptables.service
апр 01 14:30:58 dell.localdomain systemd[1]: Starting IPv4 firewall with iptables...
апр 01 14:31:03 dell.localdomain iptables.init[855]: iptables: Applying firewall rules: [ OK ]
апр 01 14:31:05 dell.localdomain systemd[1]: Started IPv4 firewall with iptables.
[olej@dell ~]$ sudo systemctl stop iptables
[olej@dell ~]$ systemctl status iptables
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Вс 2018-04-01 16:58:47 EEST; 3s ago
Process: 6417 ExecStop=/usr/libexec/iptables/iptables.init stop (code=exited, status=0/SUCCESS)
Main PID: 855 (code=exited, status=0/SUCCESS)
Код: Выделить всё
[olej@dell ~]$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Сервер начал слышать клиента:
Код: Выделить всё
[olej@dell udptest]$ ./udpserv -vvv
прослушивается UDP порт 55555
...........
И клиент оценивает латентность:
Код: Выделить всё
olej@nvidia ~/2018_WORK/own.WORKs/Triol/rdtsc/udptest $ sudo chrt -f 70 ./udpcli -vvv -t 400000 -s 192.168.1.8
server: 192.168.1.8, interval=400000 мкс.
тактовая частота процессора: 3069447611 Hz
для нормального завершения: Ctrl+C!
10127347 ticks
8622192 ticks
9831521 ticks
11734713 ticks
8639741 ticks
9038527 ticks
11953777 ticks
8949355 ticks
9706999 ticks
11706676 ticks
8186066 ticks
результат счёта:
число пульсов = 11
средняя задержка: 9863356 тактов | 3213.40 мкс.
с СКО отклонением = 1304941.03 (13.2%)
Для сравнения ICMP:
Код: Выделить всё
olej@nvidia ~/2018_WORK/own.WORKs/Triol/rdtsc/udptest $ ping 192.168.1.8
PING 192.168.1.8 (192.168.1.8) 56(84) bytes of data.
64 bytes from 192.168.1.8: icmp_seq=1 ttl=64 time=3.44 ms
64 bytes from 192.168.1.8: icmp_seq=2 ttl=64 time=3.12 ms
64 bytes from 192.168.1.8: icmp_seq=3 ttl=64 time=14.1 ms
^C
--- 192.168.1.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 3.125/6.899/14.134/5.117 ms