Брандмауэр — межсетевой экран, который позволяет фильтровать входящий и исходящий сетевой трафик. В ядро Linux встроен брандмауэр netfilter. Для управления им есть несколько фреймворков, в частности: iptables (управление пакетами IPv4), ip6tables (управление пакетами IPv6), ebtables (управление межсетевыми мостами — ethernet bridges).
Принципы работы
VMmanager использует стандартные правила ebtables, которые предустанавливаются с пакетом libvirt. При перезапуске libvirtd перезапускает все фреймворки для работы с netfilter.
При добавлении узла кластера VMmanager создаёт на нём директории /etc/vmmgr/iptables.rules.d и /etc/vmmgr/ip6tables.rules.d. В этих директориях VMmanager записывает файлы с правилами iptables и ip6tables. При перезапуске панели управления файлы перезаписываются. Правила загружаются в порядке, определённом первыми двумя символами названия (00-99). Если номер, например 123, то оно будет обработано двенадцатым по счёту. Если номер _21, то будет обработано, но уже после 99.
Имена файлов выглядят следующим образом:
NN_name.rule
Внутри файла содержатся правила iptables, которые будут применены поочерёдно.
Стандартные правила
cat /etc/vmmgr/iptables.rules.d/00_prepare.rule
# ISPsystem firewall rules
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-F INPUT
-F FORWARD
cat /etc/vmmgr/iptables.rules.d/20_vmmgr.rule
# ISPsystem firewall rules
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m multiport --dport 111,662,892,1515,2049,32803 -j ACCEPT
-A INPUT -p udp -m multiport --dport 662,892,2049,32769 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5900:6900 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 15900:16900 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 49152:49261 -j ACCEPT
cat /etc/vmmgr/ip6tables.rules.d/00_prepare.rule
# ISPsystem firewall rules
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-F INPUT
-F FORWARD
Добавление правил
Нажмите Настройки кластера → Брандмауэр → Создать для добавления собственных правил с помощью VMmanager. Либо добавьте их, создав файлы вручную.