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 はインターネットにアクセスできますが、VM が受信するすべてのトラフィックはハイパーバイザーの IP から送信されます。
VM は HV IP のみを認識する
誰かが私のサーバーを DNS 増幅攻撃に利用しようとしている (ただし、PFSense ファイアウォールで送信はブロックされている)
答え1
その理由は、ルーティング後の iptable ルールにあります。
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
コマンドを使用して削除するとiptables -t nat -D POSTROUTING -o br0 -j MASQUERADE
動作します。