界面设置

界面设置

我已经使用 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

VM 可以访问互联网,但它看到的所有流量都来自虚拟机管理程序的 IP。

VM 仅看到 HV IP

有人甚至试图使用我的服务器进行 DNS 放大攻击(尽管我的 PFSense 防火墙阻止了传出攻击) DNS 放大攻击

Fail2ban 也阻止了错误的 IP fail2ban 日志显示 HV ip 被阻止

答案1

造成这种情况的原因是后路由 iptable 规则。

iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE使用命令删除后,iptables -t nat -D POSTROUTING -o br0 -j MASQUERADE它就可以正常工作了。

相关内容