Schnittstellen-Setup

Schnittstellen-Setup

Ich habe mit Alpine Linux einen sehr einfachen Hypervisor eingerichtet und meine VM sieht, dass der gesamte Datenverkehr von der IP des Hypervisors kommt.

Das bedeutet auch, dass fail2ban, wenn es versucht, Angriffe zu blockieren, immer die IP des Hypervisors blockiert.

Wie kann ich erreichen, dass die VM die echten IP-Adressen und nicht nur die IP des Hypervisors sieht?

Schnittstellen-Setup

Auf dem HV ( 192.168.5.5) habe ich eine gebrückte Schnittstelle br0, die einwandfrei funktioniert

# tun1 setup script on Hypervisor
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables -P FORWARD ACCEPT
ip tuntap add dev tap1 mode tap user root
ip link set dev tap1 up
ip link set tap1 master br0

qemu-system-x86_64 [..non related parameters removed ..] \
-device virtio-net-pci,netdev=network0,mac=02:1f:ba:26:d7:56 \
-netdev tap,id=network0,ifname=tap1,script=no,downscript=no

Die VM hat Internetzugang, aber der gesamte Datenverkehr kommt von der IP des Hypervisors.

VM sieht nur HV-IPs

Jemand versucht sogar, meinen Server für einen DNS-Amplification-Angriff zu verwenden (ausgehende Verbindungen werden allerdings von meiner PFSense-Firewall blockiert) DNS-Amplification-Angriffe

Fail2ban blockiert auch die falsche IP Fail2ban-Protokoll zeigt blockierte HV-IP

Antwort1

Der Grund hierfür ist die Postrouting-IPtable-Regel.

Nach dem Entfernen iptables -t nat -A POSTROUTING -o br0 -j MASQUERADEmit dem Befehl iptables -t nat -D POSTROUTING -o br0 -j MASQUERADEfunktioniert es.

verwandte Informationen