여러 올바른 서브넷에 대한 Openswan 연결이 작동하지 않습니다.

여러 올바른 서브넷에 대한 Openswan 연결이 작동하지 않습니다.

Openswan(버전 2.6.37)을 사용하여 로컬 네트워크에서 원격 사이트로 IPsec VPN을 연결하려고 합니다. 원격 사이트의 단일 서브넷에만 연결하려고 하면 모든 것이 잘 작동합니다. 그런데 원격 사이트에 액세스하려는 추가 서브넷이 있습니다.

내 구성은 다음과 같습니다.

conn myConn
        type=tunnel
        left=192.168.139.14
        leftsubnet=192.168.139.0/24
        leftxauthclient=yes
        right=X.X.X.X
        rightsubnet=172.16.1.0/24
        keyexchange=ike
        auth=esp
        authby=secret
        phase2alg=3des-sha1
        pfs=yes

rightsubnet으로 바꾸면 rightsubnets다음과 같습니다.

rightsubnets={172.16.1.0/24 192.168.3.0/24}

...그러면 연결이 성공적으로 생성되지만 목록의 마지막 서브넷만 사용할 수 있습니다. 172.16.1.0서브넷에서 ping을 시도하면 실패합니다. 서브넷 순서를 바꾸면 ping을 할 수 있지만 172.16.1.X다른 서브넷에서는 아무 것도 ping할 수 없습니다. 이는 Openswan이 목록의 마지막 서브넷만 사용하여 연결을 생성하는 것과 같습니다.

내가 여기서 뭔가 잘못하고 있는 걸까요?

언급하지 않은 몇 가지 추가 정보(관련성이 있는지는 확실하지 않지만): 내 Openswan 클라이언트는 NAT를 사용하는 라우터 뒤에 있으며 nat_traversal=yes해당 정보가 내 파일에 있습니다.ipsec.conf

답변1

평소와 똑같아 보여여러 서브넷의 구분 기호는 쉼표입니다., 그러나 최소한 openswan-2.6.32도 공백을 사용할 수 있습니다.

/var/log/secure작동하지 않는 이유에 대한 단서를 포함할 수 있는 흥미로운 정보를 기록해야 합니다 . 또한 ip x s sh및 의 출력을 게시합니다 ip x p sh.

답변2

conn터널의 양쪽 끝점에서 각 서브넷에 대해 부분 구성을 수행합니다. 그 중 하나만(첫 번째 시작) SA 협상을 시작하고, 두 번째(또는 그 이상)는 다른 서브넷에 대한 새 SPD만 생성합니다.

답변3

제대로 작동하려면 서브넷 목록 끝에 추가 쉼표가 필요한 OpenSwan에 버그가 있는 것 같습니다. 노력하다:

rightsubnets={172.16.1.0/24,192.168.3.0/24,}

끝에 추가 쉼표를 기록해 두십시오.

답변4

이렇게되어야합니다

rightsubnets={172.16.1.0/24,192.168.3.0/24}

,항목을 구분하려면 공백 대신 쉼표( )를 사용하세요 .

관련 정보