Раньше у меня был гипервизор с libvirt / KVM и IPtables, чтобы виртуальные машины были доступны через NAT по IPv4 (пересылка и маскировка в iptables) и напрямую по IPv6 (маршрутизируемая сеть, настроенная в libvirt), согласно эта коллекция руководств (Пример 1).
Поскольку я хотел перейти на CentOS 7, которая теперь поставляется с firewalld по умолчанию, я подумал, что было бы разумно использовать firewalld вместо iptables.
Могу ли я использовать firewalld в качестве «замены» для этой цели, или есть ограничения или проблемы с libvirt?
Когда запускается libvirtd, он автоматически проверяет, доступен ли firewalld. Если он запущен, то libvirtd будет использовать API-интерфейсы firewalld DBus вместо прямого запуска iptables. Итак, это с точки зрения обзора: все, что libvirt делает по правилам брандмауэра, должно продолжать «просто работать», если у вас включен firewalld.
Если вы сами добавляете собственные правила брандмауэра, отдельно от тех, которые добавляет libvirtd, вы можете использовать firewall-cmd --direct
вариант, который по существу допускает прямой сквозной режим - почти все варианты, которые вы использовали бы с iptables
команда действительна для firewall-cmd --direct