QEMU VM с интерфейсом Tap видит все пакеты, поступающие от гипервизора, вместо реального IP-адреса источника

, я установил очень простой гипервизор с использованием Alpine Linux, и моя виртуальная машина видит весь трафик, поступающий с IP-адреса гипервизора.

Это также означает, что если fail2ban пытается заблокировать атаки, он всегда блокирует IP-адрес гипервизора

Как я могу заставить виртуальную машину видеть реальные IP-адреса, а не только IP-адрес гипервизора?

Настройка интерфейса

На HV ( 192.168.5.5 ) у меня есть мостовой интерфейс br0 , который работает нормально

# 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

У виртуальной машины есть доступ в Интернет, но весь трафик, который она видит, идет с IP-адреса гипервизора. .

ВМ видит только HV IP.

Кто-то даже пытается использовать мой сервер для атаки с усилением DNS (хотя исходящие сообщения заблокированы на моем брандмауэре PFSense) DNS amplification attacks

Fail2ban также блокирует неправильный IP-адрес. fail2ban log showing blocked HV ip

0
задан 29 July 2021 в 07:46
1 ответ

Причиной этого является правило постмаршрутизации iptable.

После удаления iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE с помощью команды iptables -t nat -D POSTROUTING -o br0 -j MASQUERADE все работает.

0
ответ дан 29 July 2021 в 08:09

Теги

Похожие вопросы