我有一个站点到站点IPsec隧道,并且在strongswan
(v5.2.0)实例(站点A)和RouterOS
路由器(站点B)之间运行。一切正常,站点A(10.10.0.0/16
)和B(10.50.0.0/16
)的两个专用子网中的主机可以相互通信。
我不明白的是ip xfrm policy
站点A的路由器的以下输出(混淆了公共IP)。这些政策是由创建的strongswan
,我没有手动安装或修改它们:
ip xfrm policy
src 10.50.0.0/16 dst 10.10.0.0/16
dir fwd priority 2947 ptype main
tmpl src <PUBLIC_IP_B> dst <PUBLIC_IP_A>
proto esp reqid 1 mode tunnel
src 10.50.0.0/16 dst 10.10.0.0/16
dir in priority 2947 ptype main
tmpl src <PUBLIC_IP_B> dst <PUBLIC_IP_A>
proto esp reqid 1 mode tunnel
src 10.10.0.0/16 dst 10.50.0.0/16
dir out priority 2947 ptype main
tmpl src <PUBLIC_IP_A> dst <PUBLIC_IP_B>
proto esp reqid 1 mode tunnel
每个输入和输出都有一个策略,但只有一个策略可以转发(从站点B到站点A)。但我仍然可以ping通,例如,10.50.4.11
来自10.10.0.89
:
ping -R 10.50.4.11
PING 10.50.4.11 (10.50.4.11): 56 data bytes
64 bytes from 10.50.4.11: icmp_seq=0 ttl=62 time=10.872 ms
RR: 10.10.0.89
10.50.0.1
10.50.4.11
10.50.4.11
10.50.4.11
10.10.0.2
10.10.0.89
关于此路由跟踪的有趣部分是,站点A的路由器(10.10.0.2
)仅显示在从ping目标返回的路由上,而站点B的路由器(10.50.0.1
)仅在传出路由中列出。
这似乎可以确认实际上站点A的路由器上不需要通过IPsec隧道转发10.10.0.0/16
到的转发策略10.50.0.0/16
,但是我不明白为什么。
感谢您的任何解释!