ikev1에 대해 2개의 터널이 있고 왼쪽과 오른쪽 서브넷이 겹칩니다. 전송되는 패킷이 어떤 터널로 전달되는지 어떻게 알 수 있습니까? first_4a010003 그게 무엇이며 패킷이 어떤 터널로 전달될지 어떻게 결정합니까? 내 구성은 다음과 같습니다
# cat /etc/ipsec.conf
conn %default
keyexchange=ikev1
authby=secret
type=tunnel
include ipsec.*.conf
conn second_4a010001
left=50.50.50.11 #
leftsubnet=20.20.20.0/28
right=50.50.50.50
rightsubnet=30.30.30.0/28
esp=aes128gcm64-aes128gcm128-aes128gcm96-modp2048
lifetime=9999s
lifebytes=313032704
auto=route
conn first_4a010003
left=10.10.10.11
leftsubnet=20.20.20.0/24
right=10.10.10.10
rightsubnet=30.30.30.0/24
esp=aes128-sha1-modp2048
lifetime=8000s
lifebytes=313032704
auto=route
패킷은 언제 30.30.30.30으로 전송되며 어느 터널에 도착합니까?
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.17.235.1 0.0.0.0 UG 1 0 0 eth0
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
20.20.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth5
50.50.50.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
# ip route
default via 172.17.235.1 dev eth0 proto none metric 1 notify
10.10.10.0/24 dev eth2 proto kernel scope link src 10.10.10.11
20.20.20.0/24 dev eth5 proto kernel scope link src 20.20.20.20 linkdown
50.50.50.0/24 dev eth1 proto kernel scope link src 50.50.50.11
172.17.235.0/24 dev eth0 proto kernel scope link src 172.17.235.236
답변1
이는 아웃바운드 IPsec 정책과 해당 우선순위에 따라 결정됩니다. 명령을 사용하여 이러한 내용을 볼 수 있습니다 ip xfrm policy
. 이러한 정책을 설치할 때 StrongSwan은 보다 구체적인 정책에 대해 더 높은 우선순위(낮은 값)를 사용합니다. 예를 들어 주소가 지정된 패킷은 30.30.30.1
해당 주소에 대해 생성된 SA를 사용합니다.두 번째_4a010001연결(소스 주소가 있는 한 20.20.20.0/28
) /28
서브넷이 /24
서브넷보다 우선순위가 높기 때문입니다.
그러나 주소가 지정된 패킷은 주소가 서브넷의 일부가 30.30.30.30
아니기 때문에 다른 연결을 통해 생성된 SA를 사용합니다 ./28