IPsec 和私人 IP

IPsec 和私人 IP

我正在建立一個 IPsec / L2TP 網絡,我想要一台伺服器和多個客戶端。

在每個用戶端上,讓 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的客戶端,所以它不再運作了。並且不要認為嘗試輸入此客戶端的公共 IP 是一個好主意,因為我可以擁有多個具有相同 IP 的用戶端。

我至少可以看到兩種解決方案。如果我手動為客戶端上的傳出介面提供虛擬IP,我可以輕鬆避免向多個客戶端提供相同的IP,但這需要手動操作,並且某些客戶端不允許我提供新位址(嵌入式硬體) )。

另一個解決方案是配置 ipsec 來分配虛擬 IP,但在這種情況下,我感覺就像在 L3 VPN 中設定 L2 VPN,我將擁有兩個相互重疊的 IP 網路。

我很困惑,我錯過了什麼嗎?使用 L2TP 設定 IPsec 的正確方法是什麼?

謝謝

相關內容