转发数据包时保持相同的端口号

转发数据包时保持相同的端口号

我有以下 IPSEC 设置:

左 (IPsec) <===> 中 (PPP) <=ppp=> 右 (IPsec+PPP)

  1. 全部运行 Ubuntu 14.04 LTS。
  2. MID通过PPPoE与RIGHT进行通信(标记为ppp)。

现在...

  • IPsec 服务器正在尝试交换第一阶段韋斯克普键,但没有成功。
  • 从右到左的数据包从右开始韋斯克普端口 - UDP 500(如果使用 NAT-T 则为 4500),并通过同一端口到达 LEFT。
  • 从左到右的数据包从左到右离开韋斯克普港口,MID 接收数据包韋斯克普港口和取代他们端口 1。数据包被转发到源端口为 1 的 RIGHT,并按原样到达。
  • 贯穿始终 - 源和目标地址保持良好,并且除端口号之外,NAT 工作正常。

我尝试强制 MID 保留源端口:

  • iptables -t nat -A POSTROUTING -j SNAT -o ethX --to a.d.r.s -p udp --sport 500
  • iptables -t nat -A POSTROUTING -j SNAT -o ethX --to a.d.r.s:500 -p udp
  • 尝试伪装iptablesip rule

无论我做什么 - 包裹都会保留通过源端口 1 到达. 根据 IANA (保留端口列表) 这是一个服务多路复用端口(?)。

有人有想法吗?

相关内容