Всем привет!
История в том, что для удобства администрирования хочу отказаться от встроенных файрволов в сами гостевые ОС и вместо них централизованно использовать файрвол встроенный в сам проксмокс. Начал с изучения документации и простейших тестов. Фактически эксперименты показывают поведение отличное от того, что написано в документации.
Прошу отозваться опытных в этом деле людей и объяснить что к чему. Конкретный затык вот в чем:
Есть официальная дока по файрволу и её русскоязычный перевод.
https://pve.proxmox.com/wiki/Firewall
http://onreader.mdl.ru/MasteringProxmox.2ed/content/Ch08.html
Собственно правило можно повесить на датацентр, ноду или конкретную вм. В документации сказано, что правила каскадируются. Т.е. если повесить какое-то правило на датацентр, то оно сработает на всех нодах и на всех вм. Если вешать правило на ноду, то оно сработает на всех вм этой ноды.
У меня вышло так:
1. На датацентр повесил правило разрешающие icmp (без указания адресов источника и назначения). Общая политика - DROP, т.е. блокировать все, что явно не разрешено.
Для ноды это правило сработало. Для вм нет.
2. Повесил это же правило на саму ноду - для вм не сработало.
3. icmp пошел только тогда, когда явно задал его для конкретной вм.
Т.е. в моем случае правила не каскадируются. Почему? Что я упустил? Не могу осознать почему результаты идут в разрез с докой.
Удобно было бы, если бы был каскад - можно одним правилом разрешить какой-то типовой трафик для десятков вм. Но не выходит.
Как раз из-за таких вещей я всегда использую нативные правила iptables, которые понятны, везде работают одинаково и без проблем переносятся в другие проекты. Нет необходимости изучать разные продукты, которые в основе все равно имеют iptables.
Если инфраструктура небольшая, iptables работают на самом гипервизоре. Если большая - делается отдельная виртуальная машина в качестве шлюза для гипервизора и других vm.