vSwitch를 통한 두 호스트 간의 방화벽/IP 규칙 문제

vSwitch를 통한 두 호스트 간의 방화벽/IP 규칙 문제

여기에는 두 개의 서버가 있습니다. 하나는 Qemu VM 호스트이고 다른 하나는 일종의 저장 상자입니다.

그것들은 hetzner 머신이고 vSwitch를 통해 연결되어 있습니다.

Server1 vSwitch 인터페이스:

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 호스트) IP 경로:

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 인터페이스:

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 경로:

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

경로가 올바르게 설정되어 있는 것 같습니다. 방화벽 서비스가 꺼진 상태에서도 모든 것이 정상적으로 작동하기 때문입니다.

그러나 켜면 문제가 시작됩니다.

이것은 Server1의 방화벽 영역입니다(firewalld를 비활성화하면 모든 것이 작동합니다).

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: 

나는 동시에 두 가지 모두에서 가장 무도회를 켜려고 시도했지만 소용이 없었습니다. 나는 Server2에서 virbr0의 VM 중 하나를 향해 간단한 핑을 보내 이것을 "테스트"하고 있습니다.

내가 여기서 놓친 것이 분명합니까?

미리 감사드립니다.

답변1

QEMU 호스트에서 다음 두 가지 규칙을 사용하여 이 문제를 해결했습니다.

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

관련 정보