Добавление firewalld к существующей инфраструктуре с минимальным временем простоя

У меня смешанная инфраструктура на основе Ubuntu 16.04 / Ubuntu 18.04, и я хотел бы установить и настроить firewalld ] на хостах. Я собираюсь использовать для этого роль Ansible (у меня есть установка на основе Vagrant для тестирования роли Ansible).

Когда я запускаю Ansible playbooks, я только что установленный firewalld блокирует входящие соединения по умолчанию, хотя я никогда не указывал это явно:

[ 2161.574030] FINAL_REJECT: IN=enp0s8 OUT= MAC=08:00:27:f9:00:46:0a:00:27:00:00:00:08:00 SRC=172.16.137.1 DST=172.16.137.182 LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=36677 DF PROTO=TCP SPT=35098 DPT=455 WINDOW=29200 RES=0x00 SYN URGP=0
[ 4717.718425] FINAL_REJECT: IN=enp0s8 OUT= MAC=08:00:27:f9:00:46:0a:00:27:00:00:00:08:00 SRC=172.16.137.1 DST=172.16.137.182 LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=55673 DF PROTO=TCP SPT=47624 DPT=456 WINDOW=29200 RES=0x00 SYN URGP=0
[ 4719.682792] FINAL_REJECT: IN=enp0s8 OUT= MAC=08:00:27:f9:00:46:0a:00:27:00:00:00:08:00 SRC=172.16.137.1 DST=172.16.137.182 LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=60255 DF PROTO=TCP SPT=43836 DPT=457 WINDOW=29200 RES=0x00 SYN URGP=0
[ 4721.358343] FINAL_REJECT: IN=enp0s8 OUT= MAC=08:00:27:f9:00:46:0a:00:27:00:00:00:08:00 SRC=172.16.137.1 DST=172.16.137.182 LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=42733 DF PROTO=TCP SPT=51850 DPT=458 WINDOW=29200 RES=0x00 SYN URGP=0

Можно ли как-нибудь запустить firewalld в разрешающем режиме, затем настроить все, а затем применить конфигурацию одним выстрелом?

1
задан 2 February 2019 в 11:46
1 ответ

Недавно я преобразовал некоторые Ubuntu коробки из ufw в firewalld, и я использую Ansible почти исключительно, так что я также столкнулся с небольшой частью этого.

Во-первых, вы должны знать, что из коробки firewalld блокирует большую часть входящего трафика. В конфигурации по умолчанию на Ubuntu, никакие интерфейсы или источники не привязаны ни к одной из зон, поэтому firewalld считает весь трафик частью публичной зоны. Эта зона разрешает только входящий трафик ответа ssh и DHCP-клиента.

Есть несколько способов справиться с этим.

В моих собственных плейбуках и ролях, я настраиваю правила firewalld вместе с каждой службой. Итак, у меня есть роль, которая устанавливает nginx, и эта роль также открывает сервисы http и https в firewalld. Итак, как только веб-сервер установлен и запущен, брандмауэр также готов к работе. Когда я перешел с ufw на firewalld, я просто переписал весь плейбук и поменял только ufw и firewalld.

Если вы делаете одноразовую установку и вам нужно открыть много портов, или какую-то другую сложную конфигурацию, вы можете захотеть открыть порты в firewalld на пустой ВМ, а затем взять результирующий XML файл для этой зоны из каталога /etc/firewalld/zones. Затем вы можете скопировать: этот файл в любую систему и перезапустить firewalld, чтобы он использовал соответствующую конфигурацию.

.
1
ответ дан 3 December 2019 в 23:08

Теги

Похожие вопросы