IPSec 터널링 모드 vs 전송 모드 vs 전송+L2TP

IPSec 터널링 모드 vs 전송 모드 vs 전송+L2TP

많은 문서에 따르면 전송 모드는 호스트 간 IPSec에서 사용해야 하며 터널링은 게이트웨이를 연결하는 데 사용되고 L2TP는 원격 액세스에 사용됩니다.

하지만 게이트웨이 간 전송 모드를 사용하는 것을 방해하는 것은 없습니다. 그렇죠? 하나의 게이트웨이는 ESP(또는 AH)를 읽고 제거한 후 베어 IP 패킷을 해당 네트워크로 라우팅할 수 있습니다.

또한 내 PC와 데이터베이스 서버 간에 터널링 모드를 사용할 수도 있습니다. 각 패킷을 별도의 UDP로 래핑하는 것은 아마도 중복되지만 사용할 수 있습니다.

그리고 내 PC의 유일한 사용자인 경우 원격 액세스를 위해 베어 IPSec(L2TP 제외)를 사용할 수 있습니다. IPCP 및 기타 PPP를 통한 회계, 네트워크 구성은 없지만 항상 필요한 것은 아닙니다.

결국 L2TP를 사용하여 2개의 게이트웨이를 연결할 수 있습니다.)

그렇다면 내 질문은 왜 이러한 모든 접근 방식이 존재하고 서로 복제되는 것입니까? 거의 항상 터널링으로 변경될 수 있고 그 반대의 경우도 가능하다면 IPSec 전송이 여전히 존재하는 이유는 무엇입니까? 이러한 방법 중 하나가 "사용할 수 있는 유일한 방법"인 상황의 예를 들어주실 수 있나요?

답변1

거의 항상 터널링으로 변경될 수 있고 그 반대의 경우도 가능하다면 IPSec 전송이 여전히 존재하는 이유는 무엇입니까?

현재 일반 네트워크 장치 사용자 집단에서는 전송 모드 IPSec가 사용되지 않습니다. 나는 그것이 보편적으로 배포될 만큼 충분한 추진력을 구축하지 못했다고 생각합니다. 소프트웨어 및 네트워크 공급업체는 원격 액세스가 필요한 기업 고객에게 터널 모드 구현(및 광범위한 백엔드)을 판매하려는 동기가 있었지만 누구에게도 전송 모드를 제공하지 않았습니다. 기능이 있었을 수도 있지만 사용 편의성은 여전히 ​​많이 부족합니다.

그렇다면 존재하지만 여전히 관련성이 있습니까? 역사적으로 운송 모드는 많은 수의 사용자가 접근할 수 없었습니다. 한 가지 예외는 자유 소프트웨어 사람들이었습니다.

IPsec에 대한 기회 암호화의 역사 및 구현 상태

위의 링크는 IPSec를 모든 곳에서 사용하려는 역사적 노력과 이러한 노력이 어떻게 좌절되었는지 설명합니다. 그 이유는 인터넷 인프라(예: DNS)의 불안정성과 이를 변경하는 데 관련된 사람들의 상대적인 안일함으로 요약될 수 있습니다.

왜 이러한 모든 접근 방식이 존재하고 서로 중복됩니까?

이러한 모든 접근 방식은 주로 거의 동일한 기간에 보안 원격 액세스에 대한 요구 사항을 독립적으로 식별하고 이에 대한 솔루션을 제공하기 위해 존재합니다. 질문의 약간 개선된 버전은 "이러한 모든 접근 방식이 왜 여전히 사용됩니까?"일 수 있습니다.

L2TP가 여전히 사용되는 이유(계정 및 구성)에 대한 질문에 답변하셨습니다. (PPTP와 같은 다른 프로토콜이 더 이상 사용되지 않는 이유를 살펴보는 것이 더 흥미로울 수 있습니다.) 많은 경우 계정 및 구성에 신경 쓰지 않더라도

다른 경우에는 대답이 명확하지 않습니다. 게이트웨이 간 사례를 살펴보겠습니다. 순수 터널 모드 IPSec를 사용하거나 IPSec를 통해 GRE 터널을 사용할 수 있습니다(사실 전송 모드 IPSec를 사용한다고 생각합니다). 익숙함 외에 어떤 이점이 있는지 모르겠습니다. 개인적으로 저는 Cisco 라우터에서 터널 모드 IPSec를 설정한 적이 없습니다. 저는 항상 암호화된 GRE를 수행해 왔습니다. 왜? 일반 GRE에 대해 내가 아는 모든 것이 암호화된 GRE에 적용되기 때문입니다. 그래서 그것은 나에게 친숙합니다.

OpenVPN 또는 Secure Shell과 같은 애플리케이션 수준 VPN/터널을 잊지 마세요. 이는 일반적으로 커널 또는 어플라이언스 수준 구현보다 성능이 떨어집니다. 그러나 일반적으로 사용하기 쉬웠고 프록시와 방화벽을 더 쉽게 통과할 수 있다는 장점이 있었습니다(적어도 심층 콘텐츠 검사가 출현하기 전까지). 또한 종속성이 적은 경우가 많습니다. IPSec를 지원하기 위해 커널을 다시 컴파일하는 것보다 기존 Linux 서버에서 OpenVPN을 컴파일하는 것이 훨씬 쉽습니다.

이러한 방법 중 하나가 "사용할 수 있는 유일한 방법"인 상황의 예를 들어주실 수 있나요?

네트워킹(컴퓨팅의 많은 부분과 마찬가지로)에서는 "사용하기에 적합한 유일한 것"을 결코 볼 수 없습니다. 대부분의 경우 실현 가능한 것이 무엇인지에 갇혀 있습니다. 예를 들어 모든 Android 장치는 L2TP 기반 VPN과 작동합니다. 따라서 구성이나 회계가 필요하지 않은 경우에도 가능합니다. Cisco 장치의 GRE 터널에 대해 잘 알고 있기 때문에 순수 터널 모드 IPSec보다 구현하기가 더 쉽습니다. 그리고 어떤 이유로든 업그레이드할 수 없는 오래된 Linux 서버에 OpenVPN 또는 SSH 기반 터널을 만들 수 있습니다.

답변2

  • IPsec 터널과 전송 모드
    • 터널 모드에는 오버헤드가 더 많습니다.
    • 전송 모드는 호스트 간에만 작동합니다. 래핑에는 추가 IP 주소 세트가 포함되지 않기 때문입니다.
  • 오버헤드가 문제인가?
    • 호스트가 통신 전에 서로 IPsec 연결을 설정하는 시간을 상상해 보십시오 ** IPsec은 어디에나 있을 것입니다 ** 터널 모드에서는 IP 주소가 각 패킷에서 두 배가 될 것입니다 → 리소스 낭비

관련 정보