如何通过IPv6 IPSec(strongswan)网关redirectstream量?

我正在尝试build立到网关的IPSec安全连接。 有三个主机:

A: eth1 - fec0:1::1/64 B: eth1 - fec0:1::2/64 eth2 - fec0:2::2/64 which is gateway between A and C; forwarding is set to 1 in sysctl C: eth1 - fec0:2:3/64 

我想在A和B之间build立IPsec连接,这将在B和C之间不安全地转发。

ipsec.conf文件:

 config setup charondebug="ike 2, knl 2, cfg 1" ca strongswan cacert=ca.crt auto=add conn %default ikelifetime=60m keylife=20m rekeymargin=3m keyingtries=1 mobike=no keyexchange=ikev2 conn host-host left=fec0:1::1 leftcert=hostA.crt leftid=@hostA right=fec0:1::2 rightid=%any type=transport auto=add 

B的configuration看起来很相似。 我试图设置auto = route,但是我不能初始化任何连接。

使用这种configuration,只有发往B的stream量才能得到保护。 当我尝试从A发送一些东西到C时,整个path都是不安全的。

任何想法如何解决?

使用这种configuration,只有发往B的stream量才能得到保护。 当我尝试从A发送一些东西到C时,整个path都是不安全的。

这正是它应该如此。 您在A和B之间build立了传输模式IPsec SA,这意味着存在仅适用于这两个主机之间的stream量的IPsec策略。 如果要保护A和C之间的通信(在A和B之间的通路上),则必须使用通道模式并configuration适当的通信量select器/策略。

要么添加一个额外的连接:

 conn host-c also=host-host rightsubnet=fec0:2:3/128 type=tunnel 

或者改变现有的连接:

 conn host-host # or host-hosts left=fec0:1::1 leftcert=hostA.crt leftid=@hostA right=fec0:1::2 rightid=%any rightsubnet=fec0:1::2/128,fec0:2:3/128 type=tunnel auto=add 

B上的configuration必须相应地改变。