Ich habe hier zwei Server im Einsatz, einer ist ein Qemu-VM-Host, der andere ist eine Art Speicherbox.
Es handelt sich um Hetzner-Maschinen und ich habe sie über einen vSwitch verbunden.
Server1 vSwitch-Schnittstelle:
3: local@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 10:7b:44:b1:5b:7d brd ff:ff:ff:ff:ff:ff
inet 192.168.100.1/24 brd 192.168.100.255 scope global local
valid_lft forever preferred_lft forever
Server1 (VM-Host) IP-Route:
default via <redacted-public-ip> dev eth0 proto static metric 100
<redacted-public-ip> dev eth0 proto static scope link metric 100
192.168.10.0/24 dev virbr0 proto kernel scope link src 192.168.10.254 metric 425 <-- virbr0 network
192.168.10.253 via 192.168.100.2 dev local <-- srv02 IP to fit in virbr0 net space
Server2 vSwitch-Schnittstelle:
3: local@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue state UP group default qlen 1000
link/ether 08:60:6e:44:d6:2a brd ff:ff:ff:ff:ff:ff
inet 192.168.100.2/24 brd 192.168.100.255 scope global local
valid_lft forever preferred_lft forever
inet 192.168.10.253/24 brd 192.168.10.255 scope global local
valid_lft forever preferred_lft forever
Server2-IP-Route:
default via <redacted-public-ip> dev eth0 proto static metric 100
<redacted-public-ip> dev eth0 proto static scope link metric 100
192.168.10.0/24 dev local proto kernel scope link src 192.168.10.253 <-- to access virbr0 via vSwitch
Ich gehe davon aus, dass ich die Routen richtig eingerichtet habe, da bei ausgeschaltetem Firewalld-Dienst alles einwandfrei funktioniert.
Wenn ich es jedoch einschalte, beginnen die Probleme.
Dies sind die Firewall-Zonen auf Server1 (auf dem alles funktioniert, wenn ich Firewall deaktiviere)
libvirt (active)
target: ACCEPT
icmp-block-inversion: no
interfaces: virbr0
sources:
services: dhcp dhcpv6 dns ssh tftp
ports:
protocols: icmp ipv6-icmp
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule priority="32767" reject
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 local
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Ich habe versucht, Masquerade auf jedem dieser Server gleichzeitig einzuschalten, aber ohne Erfolg. Ich „teste“ dies mit einem einfachen Ping von Server2 zu einer der VMs auf virbr0.
Gibt es hier irgendetwas Offensichtliches, das ich übersehe?
Vielen Dank an alle im Voraus.
Antwort1
Ich konnte dieses Problem beheben, indem ich die folgenden beiden Regeln auf dem QEMU-Host verwendete
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -o local -i virbr0 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -o virbr0 -i local -j ACCEPT