介面設定

介面設定

我使用 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。

虛擬機器僅看到 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可以了。

相關內容