Strongswan의 2개 SA에서 서브넷이 겹치는 데 사용할 터널을 결정하는 방법은 무엇입니까?

Strongswan의 2개 SA에서 서브넷이 겹치는 데 사용할 터널을 결정하는 방법은 무엇입니까?

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

관련 정보