使用 Strongswan VTI 进行站点到站点的隧道路由。标记

使用 Strongswan VTI 进行站点到站点的隧道路由。标记

过去我配置过几个站点到站点 GRE 隧道。但现在我需要配置 VTI 类型的隧道,因为 AWS VPC 仅支持该类型。

根据 Strongswan 文档,一切都很清楚:我们需要在创建隧道时使用 MARK:https://wiki.strongswan.org/projects/strongswan/wiki/RouteBasedVPN标识哪些流量应该通过隧道传输。一个标记位于 ipsec.conf 上,另一个标记在创建 vti 隧道时指定:

$IP link add ${VTI_INTERFACE} type vti local ${PLUTO_ME} remote ${PLUTO_PEER} okey ${PLUTO_MARK_OUT_ARR[0]} ikey ${PLUTO_MARK_IN_ARR[0]}
$IP addr add ${VTI_LOCALADDR} remote ${VTI_REMOTEADDR} dev ${VTI_INTERFACE}
$IP link set ${VTI_INTERFACE} up mtu 1436

这确实有效。但许多其他指南表明,我们需要在 iptables 中创建一些具有相同标记的条目:

$IPTABLES -t mangle -I INPUT -p esp -s ${PLUTO_PEER} -d ${PLUTO_ME} -j MARK --set-xmark ${PLUTO_MARK_IN}

这很有趣 - 这真的是必要的吗?在站点到站点 VTI 配置中?因为我看到没有这个 mangle 条目一切都正常工作。为什么其他人要使用它?谢谢

答案1

以前可能有必要strongSwan 5.5.2早期版本始终在入站 SA 上设置标记,因此必须标记流量以匹配它,即使 IP、SPI 和协议的三元组通常足够独特,可以正确识别 SA(如果由于某种原因情况并非如此,可以选择在入站 SA 上再次设置标记,因为strongSwan 5.6.1)。

相关内容