У меня гостевая Windows, работающая на виртуальной машине QEMU/KVM virt-manager.
Мой основной сетевой eno1
находится в мосте br1
который настроен с помощью конфигурации IP-адреса моего хоста. Эта виртуальная машина подключена к указанному мосту.
Брандмауэр моего хоста находится в конфигурации по умолчанию: Зона по умолчанию: FedoraWorkstation
Если я остановлю firewalld
(а iptables
покажет пустые правила брандмауэра), гость будет работать правильно. Без остановки брандмауэра мой гость не сможет связаться с внешней сетью. (Он может пинговать, но не делать DNS-запросы или TCP-соединения.)
Как настроить брандмауэр, чтобы разрешить полный доступ к гостю?
В этом сообщении на форуме был предложен следующий сценарий Bash с использованием iptables
:
#!/bin/sh
# If I put bridge0 in trusted zone then firewalld allows anything from
# bridge0 on both INPUT and FORWARD chains !
# So, I've put bridge0 back into the default public zone, and this script
# adds rules to allow anything to and from bridge0 to be FORWARDed but not INPUT.
BRIDGE=bridge0
iptables -I FORWARD -i $BRIDGE -j ACCEPT
iptables -I FORWARD -o $BRIDGE -j ACCEPT
Я подтвердил, что это работает, но я ищу постоянную настройку брандмауэра для достижения этой цели. В идеале это было бы сделано с помощью встроенных инструментов FirewallD .