libvirtフックを介したポート転送が外部NATトラフィックを傍受するのはなぜですか?

libvirtフックを介したポート転送が外部NATトラフィックを傍受するのはなぜですか?

NATゲートウェイとして機能し、KVM仮想マシンをホストするUbuntuボックスがあります。 libvirt qemuフックを使用してポートをKVM仮想マシンの1つに転送するためのガイドに従いましたが、これはすべてのNATボックスからこれらのポートへの接続を傍受するようです。

eno0 = 192.168.70.1 = NATゲートウェイの内部インターフェイス

eno1 = 10.240.45.45 = NATゲートウェイの外部インターフェイス

virbr0 = 192.168.122.1 = KVM 仮想マシン用ブリッジ

KVMゲストIP = 192.168.122.81

/etc/libvirt/hooks/qemu:

if [ "${1}" = "myvm" ]; then

   GUEST_IP=192.168.122.81

   if [ "${2}" = "stopped" ] || [ "${2}" = "reconnect" ]; then
        /sbin/iptables -D FORWARD -o virbr0 -d  $GUEST_IP -j ACCEPT
        /sbin/iptables -t nat -D PREROUTING -p tcp -d 10.240.45.45 --dport 443 -j DNAT --to $GUEST_IP:443
   fi
   if [ "${2}" = "start" ] || [ "${2}" = "reconnect" ]; then
        /sbin/iptables -I FORWARD -o virbr0 -d  $GUEST_IP -j ACCEPT
        /sbin/iptables -t nat -A PREROUTING -p tcp -d 10.240.45.45 --dport 443 -j DNAT --to $GUEST_IP:443
   fi
fi

これにより、10.240.45.45を指す外部ホストからのトラフィックが正しく転送されます。しかし、次のようなHTTPSページにアクセスしようとするとhttps://google.com)NATの背後にあるシステムでハイジャックされ、外部ホストに移動するのではなく、仮想マシンにリダイレクトされます。

-d パラメータを無視する理由は何ですか。10.240.45.45 へのトラフィックのみを転送するにはどうすればよいですか。

ベストアンサー1

おすすめ記事