Using such configuration only traffic addressed to B is secured. When I try to send something from A to C - it is on the whole path insecured.
É exatamente assim que deveria ser. Você estabeleceu uma SA IPsec do modo de transporte entre A e B, o que significa que há diretivas IPsec que se aplicam somente ao tráfego entre esses dois hosts. Se você deseja proteger o tráfego entre A e C (no caminho entre A e B), é necessário usar o modo de encapsulamento e configurar os seletores / políticas de tráfego apropriados.
Adicione uma conexão adicional:
conn host-c
also=host-host
rightsubnet=fec0:2:3/128
type=tunnel
Ou altere a conexão existente:
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
A configuração em B deve ser alterada de acordo.