Není to problém iptables, je to tím, že defaultní bridge si vloží nějaká svoje pravidla do iptables a údajně to neumí inbound forwarding.
Takže v mém případě bylo nutné zrušit default network:
(vkládám před příkaz znak #, ten si odeberte, aby Vám příkaz za # vůbec něco udělal)
# virsh net-destroy default # virsh net-autostart --disable default
A v mém případě mi nefungovalo dummy network adapter, takže jsem v případě debianu 9 vložil do network konfigurace tohle:
auto virbr1 iface virbr1 inet static bridge_ports none bridge_stp off bridge_fd 10 bridge_hello 10 bridge_maxage 12 address 192.168.122.1 netmask 255.255.255.0 network 192.168.122.0
Veřejnou IP adresu serveru mám na br0, který má v bridge_ports eno1 rozhraní. Po restartu stroje vše funguje jak má. Nemusel jsem se ani otravovat se skripty na ruční vytváření bridge, zkrátka je to snadné a jednoduché.
A pomocí
virsh edit <názevVM>
změnit u všech virtuálek nastavení sítě z:
<interface type='network'> <mac address='52:54:00:d4:0b:a1'/> <source network='default'/> <model type='rtl8139'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/> </interface>
na:
<interface type='bridge'> <mac address='52:54:00:d4:0b:a1'/> <source bridge='virbr1'/> <model type='rtl8139'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/> </interface>