我正在使用两台内置 IPsec(Strongswan)的 Teltonika RUT955 路由器。为了进行测试,我有一条从 WAN 到 WAN 的电缆,两个路由器的静态 IP 分别为 172.16.1.1 和 172.16.1.2。我已建立隧道,并使用 RUT955 内置的内部 RS232 通信端口在路由器之间发送 ESP 数据包,实现双向通信。我在两台路由器的路由器、WAN/WAN 和 LAN/PC 的所有连接上都安装了网络分流器,因此我可以监控模拟网络中的所有流量。我可以从路由器上的 PC 的一个 LAN 端口(192.168.4.1/24)ping 到连接到第二个路由器的 LAN 端口(192.168.5.1/24)的另一台 PC。两台电脑在同一个子网中都有静态 IP(分别为 192.168.4.3/24 和 192.168.5.3/24)
我的问题的典型用途是,我有一台机器,它设计为使用通过路由器端口 (50345) 运行的 UDP 数据包与顶层计算机通信。在正常情况下,PC 和机器将连接到相同的路由器 LAN 端口,因此两台机器/PC 上都有相同的专用网络和开放子网/16。当 PC 想要与机器通信时,PC 会将 UDP 数据包发送到 255.255.255.255 端口 50345 到路由器的 LAN 端口,如果机器在网络上并听到 UDP 数据包/端口,机器将开始使用 UDP 数据包和端口 50345 将健康数据发送回 PC,将创建连接,UDP 数据包将来回飞行。PC 可以与机器通信,机器也可以使用 UDP 数据包与 PC 通信。
所以问题是,我如何通过 WAN/IPsec 隧道发送这些带端口的 UDP 数据包,因此路由器 1 的 LAN 上的 PC 和路由器 2 的 LAN 上的机器。我尝试过端口转发,但没有成功。我已成功通过 WAN(172.16.1.1 - 172.16.1.2)IPsec 隧道的端口 4500 转发了 50345 端口,这意味着我可以看到端口 50345 通过 LAN 发送,然后在端口 4500 处封装成 ESP 数据包,但一旦到达路由器二(172.16.1.2),它就不会被解封装并发送到 LAN 端口,因此机器看不到 UDP 数据包。我的假设是,无论我对路由器二做什么,机器都可以看到 UDP 数据包,我必须对另一个路由器也这样做才能进行双向通信。
TLDR;我正在尝试使用端口转发通过 IPsec 隧道发送 UDP 数据包,数据包被封装并通过 IPsec 隧道发送,但不会被转发到原始端口为 50345 的 LAN 端口。需要找到一种方法来完成数据传输。