IPsec とプライベート IP

IPsec とプライベート IP

IPsec / L2TP ネットワークを作成しており、1 台のサーバーと複数のクライアントを用意したいと考えています。

各クライアントで、IPsec を適切に動作させる唯一の方法は、トラフィックをホストするインターフェイスの IP を leftsourceip として設定することでした。このインターフェイスがパブリックの場合は問題ないようです。しかし、マシンが NAT の背後にあり、インターフェイスがプライベート IP を持っている場合は、少し間違っているようです。

以下はクライアントからの ipsec の設定例です。

config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no

conn ikev2-vpn
    auto=route
    compress=no
    type=tunnel
    keyexchange=ikev2
    fragmentation=yes
    forceencaps=yes
    dpdaction=clear
    dpddelay=300s
    esp=aes256-sha256-modp4096!
    ike=aes256-sha256-modp4096!
    rekey=no
    right=ipsec.server.url
    rightid=%any
    rightauth=pubkey
    rightprotoport=17/1701
    left=10.0.0.60
    leftsubnet=10.0.0.60/32
    leftid=%any
    leftauth=pubkey
    leftcert=my-cert.crt
    leftsendcert=always
    leftprotoport=17/1701
    leftsourceip=10.0.0.60

このクライアントの IP は 10.0.0.60 なので、ipsec は server/32 とこの ip/32 の間にトンネルを作成し、正常に動作しています。

しかし、これはプライベート IP なので、同じ IP を持つクライアントが 2 つ存在する可能性があり、機能しなくなります。また、同じ IP を持つクライアントが複数存在する可能性があるため、このクライアントのパブリック IP を設定することは良い考えではないと思います。

少なくとも 2 つの解決策が考えられます。クライアントの送信インターフェイスに仮想 IP を手動で付与すると、複数のクライアントに同じ IP を付与することを簡単に回避できますが、手動操作が必要であり、一部のクライアントでは新しいアドレスの付与が許可されません (組み込みハードウェア)。

他の解決策としては、仮想 IP を配布するように ipsec を構成することですが、その場合、L3 VPN 内に L2 VPN を設定し、2 つの IP ネットワークが重なり合うことになるように感じます。

混乱しています。何か見落としているのでしょうか? L2TP で IPsec を設定する正しい方法は何ですか?

ありがとう

関連情報