我有以下 IPSEC 设置:
左 (IPsec) <===> 中 (PPP) <=ppp=> 右 (IPsec+PPP)
- 全部运行 Ubuntu 14.04 LTS。
- 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
- 尝试伪装
iptables
成ip rule
无论我做什么 - 包裹都会保留通过源端口 1 到达. 根据 IANA (保留端口列表) 这是一个服务多路复用端口(?)。
有人有想法吗?