基于UDP端口的IPsec隧道select

我有2个Linux主机,每个有2个服务,X和Y.
X服务在UDP端口x上进行通信。
Y服务在UDP端口y上进行通信。
我想encryption通信。

我知道如何在两台主机之间用ipsec-toolsbuild立一个UDP封装的IPsec隧道(我的networking不允许在IP上使用IPSec)。

但是,我如何设置2个不同的SPI和密钥的IPsec隧道 – 一个用于X服务,另一个用于Y服务?

我不知道如何使用ipsec-tools来configuration它,但是使用strongSwan,您可以使用left|rightprotoport选项来指定要保护的单个UDP端口。

示例ipsec.conf文件:

 conn base right=ip.of.other.host forceencaps=yes ... (other options) auto=start conn serviceX also=base leftprotoport=udp/x rightprotoport=udp/x conn serviceY also=base leftprotoport=udp/y rightprotoport=udp/y 

xy是你服务的端口。 使用forceencaps UDP封装是强制执行的。