저는 Alpine Linux를 사용하여 매우 간단한 하이퍼바이저를 설정했으며 내 VM은 하이퍼바이저의 IP에서 들어오는 모든 트래픽을 확인합니다.
이는 또한 Fail2ban이 공격을 차단하려고 시도하는 경우 항상 하이퍼바이저 IP를 차단함을 의미합니다.
VM이 하이퍼바이저의 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
VM은 인터넷에 액세스할 수 있지만 표시되는 모든 트래픽은 하이퍼바이저의 IP에서 발생합니다.
HV IP만 보는 VM
누군가가 DNS 증폭 공격을 위해 내 서버를 사용하려고 시도하고 있습니다(PFSense 방화벽에서는 나가는 것이 차단됨).
답변1
그 이유는 postrouting iptable 규칙 때문입니다.
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
명령을 사용하여 제거하면 iptables -t nat -D POSTROUTING -o br0 -j MASQUERADE
작동합니다.