私は、IPsec (Strongswan) が組み込まれた 2 台の Teltonika RUT955 ルーターを使用しています。テスト用に、両方のルーターの 172.16.1.1 と 172.16.1.2 に静的 IP を持つ WAN から WAN にケーブルを配線しています。トンネルは稼働しており、RUT955 に組み込まれた内部 RS232 COM ポートを使用して、ルーター間で ESP パケットを送信し、双方向通信を行っています。ルーターのすべての接続、WAN/WAN、および両方のルーターからの LAN/PC にネットワーク タップがあるため、モックアップ ネットワーク内のすべてのトラフィックを監視できます。ルーターの 1 つの LAN ポート (192.168.4.1/24) 上の PC から、2 番目のルーターの LAN ポート (192.168.5.1/24) に接続されている他の PC に ping を実行できます。両方の PC は同じサブネット内に静的 IP を持っています (それぞれ 192.168.4.3/24 と 192.168.5.3/24)
私の問題の典型的な使用法は、ルーターのポート (50345) を介して実行される UDP パケットを使用してトップサイド コンピューターと通信するように設計されたマシンがあることです。通常のシナリオでは、PC とマシンは同じルーターの LAN ポート、つまり両方のマシン/PC でサブネット/16 が開いている同じプライベート ネットワークに接続されます。PC がマシンと通信する場合、PC はルーターの LAN ポートの 255.255.255.255 ポート 50345 に UDP パケットを送信します。マシンがネットワーク上にあり、UDP パケット/ポートを受信すると、マシンは UDP パケットとポート 50345 を使用して PC にヘルス データを送信し始め、接続が作成され、UDP パケットが行き来します。PC はマシンと通信でき、マシンは UDP パケットを使用して PC と通信できます。
問題は、これらの UDP パケットをポートとともに WAN/IPsec トンネル経由で送信する方法、つまりルータ 1 の LAN 上の PC とルータ 2 の LAN 上のマシンに送信する方法です。ポート転送を試みましたが成功しませんでした。50345 ポートを WAN (172.16.1.1 - 172.16.1.2) の IPsec トンネルのポート 4500 経由で転送したところ成功しました。つまり、ポート 50345 が LAN 経由で送信され、ポート 4500 で ESP パケットにカプセル化されるのを確認できますが、ルータ 2 (172.16.1.2) に到達すると、カプセル化解除されずに LAN ポートに送信されないため、マシンは UDP パケットを確認できません。私の推測では、マシンが UDP パケットを確認できるようにルータ 2 に対して行う操作は、双方向通信のために他のルータに対して行う必要があります。
TLDR: ポート転送を使用して IPsec トンネル経由で UDP パケットを送信しようとしていますが、パケットはカプセル化されて IPsec トンネル経由で送信されますが、元のポート 50345 の LAN ポートに転送されません。データ転送を完了する方法を見つける必要があります。