ゲートウェイへのIPSecで保護された接続を設定しようとしています。 3つのホストがあります:
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の間に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の構成は似ています。 auto = routeを設定しようとしましたが、接続を初期化できません。
このような構成を使用すると、B宛てのトラフィックのみが保護されます。 AからCに何かを送信しようとすると、パス全体が保護されません。
それを解決する方法はありますか?
このような構成を使用すると、B宛てのトラフィックのみが保護されます。 AからCに何かを送信しようとすると、パス全体が保護されません。
まさにそうあるべきです。 AとBの間にトランスポートモードIPsec SAを確立しました。これは、これら2つのホスト間のトラフィックにのみ適用されるIPsecポリシーがあることを意味します。AとCの間のトラフィックを保護する場合( AとBの間のパス)トンネルモードを使用し、適切なトラフィックセレクタ/ポリシーを設定する必要があります。
接続を追加するか、次のようにします。
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の構成はそれに応じて変更する必要があります。