여러 개의 오른쪽 서브넷에 연결하는 Openswan이 작동하지 않습니다


14

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

언제 교체 rightsubnetrightsubnets과 같이 :

rightsubnets={172.16.1.0/24 192.168.3.0/24}

... 연결이 성공적으로 생성되었지만 목록의 마지막 서브넷 만 사용할 수 있습니다. 172.16.1.0서브넷에서 아무것도 핑하려는 시도가 실패합니다. 서브넷 순서를 바꾸면 핑할 172.16.1.X수는 있지만 다른 서브넷에서는 아무것도 핑할 수 없습니다. 마치 Openswan이 목록의 마지막 서브넷 만 사용하여 연결을 만드는 것처럼 보입니다.

내가 여기서 잘못하고 있습니까?

내가 언급에 소홀히 추가 정보의 조금 (I 아니에요 있지만 확인은 관련이) : 내 Openswan 클라이언트가 NAT 사용 라우터 뒤에 내가 가지고 nat_traversal=yes내에서 ipsec.conf파일.


VLAN을 사용하십니까? 거의 똑같은 문제가 있었고 문제는 VLAN 오류였습니다.

각 서브넷마다 하나씩 두 개의 보안 연결을 시도 했습니까?
김 메수

@Tyke, 아니오 VLAN을 사용하지 않습니다. 내 OpenSwan 클라이언트는 NAT를 사용하는 라우터 뒤에 있습니다.이를 반영하기 위해 질문을 업데이트했습니다.
FixMaker

@gimmesudo : 새 연결 ( connection myConn2)에 대해 위의 구성을 복제하려고했지만을 제외한 모든 것이 동일합니다 rightsubnet. 사용하면 ipsec auto --up myConn172.168.1.X를 핑 (ping) 할 수 있습니다. 두 번째 연결 ( ipsec auto --up myConn2)을 표시 하려고하면 192.168.3.X를 핑 (ping) 할 수 있지만 첫 번째 연결은 완전히 종료됩니다.
FixMaker

Cisco와 같은 많은 IPSec 라우터에서 클라이언트로 연결하려면 vpnc! 를 사용하는 것이 더 간단합니다 .
F. Hauri

답변:


3

여러 서브넷 의 일반적인 구분 기호는 쉼표 이지만 적어도 openswan-2.6.32는 공백과도 작동합니다.

/var/log/secure왜 작동하지 않는지에 대한 힌트를 얻을 수있는 흥미로운 정보가 기록되어야합니다 . 또한 출력을 게시 ip x s sh하고 ip x p sh.


단일 호스트에서 다중 호스트로 전환하려는 경우 여러 서브넷의 키 rightsubnet*s*가 단수형이 아닌 복수형 ( ) 임을주의하십시오 .
mgarciaisaia 2016 년

1

conn터널의 양쪽 끝점에서 각 서브넷에 대한 섹션 구성을 만듭니다 . 이들 중 하나 (첫 번째 시작) 만 SA 협상을 시작하고 두 번째 (또는 그 이상)는 추가 서브넷의 새 SPD 만 만듭니다.


불행히도 원격 엔드 포인트는 타사 FortiGate 라우터 (OpenSwan을 실행하지 않음)이므로이 작업을 수행 할 수 없습니다. 라우터가 동일한 엔드 포인트 사이의 다중 터널에 대응할 수없는 문제와 관련이 있는지 궁금해졌습니다.
FixMaker

1

당신이 사용하는 경우 뿐만 아니라 rightsubnets사용해야 합니다. 해당 측면에 서브넷이 하나만 있어도. ipsec.conf 매뉴얼 페이지는 이것을 잘 설명하지 못하지만 거기에 있습니다.leftsubnetsleftsubnet

몇 달 동안 simmilar 문제가 있었고 방금 대답을 찾았습니다 : /server/571352/openswan-multiple-subnets-routing-issue


1
그렇지 않습니다. leftsubnets = {singletone}은 leftsubnet =과 동일해야합니다. (코드를 썼습니다)
mcr

이것이 libeswan 3.15를 사용하여 나를 위해 일한 솔루션이었습니다. 왼쪽에는 단일 서브넷이 있고 오른쪽에는 여러 서브넷이있었습니다. leftsubnet =을 사용하여 왼쪽과 rightsubnets = {}를 사용하여 오른쪽을 구성한 경우 마지막 rightsubnet 만 실제로 연결되었습니다. 하나의 서브넷에 leftsubnets = {}을 사용하도록 왼쪽을 구성하면 모두에 연결됩니다.
Adam Plumb

1

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

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

끝에 쉼표를 추가하십시오.


그렇지 않습니다. 테스트 사례 나 예제에는 추가 쉼표가 없습니다.
mcr

-3

이렇습니다

rightsubnets={172.16.1.0/24,192.168.3.0/24}

,공백이 아닌 쉼표 ( )를 사용하여 항목을 구분하십시오.


1
그것은 2 년 전의 대답이 말하는 것 같습니다.
G-Man, 'Reinstate
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.