저장된 Mac VPN 프로파일 뒤에 있는 프로토콜은 무엇인가?
Mac의 연결 이름은 VPN 유형에 대해 아무것도 말해 주지 않습니다. 페이로드의 VPNType 필드를 읽고, 그다음 게이트웨이와 세션을 따로 확인하세요.
누군가 Mac 연결을 „사무실 VPN“이라고 부르고, 그 라벨은 두 번의 서버 이전을 견디며, 프로토콜이 바뀐 한참 뒤에도 모두가 계속 사무실 VPN이라고 부릅니다. 이름은 구성 옆에 저장된 별명일 뿐이며, Mac이 무엇을 협상하는지에 대한 증거가 아닙니다. 선언된 유형을 읽는 데는 필드 하나가 필요하고, 그 저장된 유형을 살아 있는 세션과 분리하는 데는 한 단계가 더 필요합니다. 추측을 피하는 순서는 다음과 같습니다.
라벨은 별명이고, 유형을 선언하는 것은 페이로드다
macOS VPN 서비스는 표시 이름, 소유 클라이언트, 형식화된 설정 집합을 가진 시스템 구성 항목입니다. 표시 이름은 자유 텍스트로, 항목을 만든 사람 누구나 편집할 수 있으며, 사용자가 메뉴 막대에서 보는 부분이 바로 이것입니다. 설정은 어떤 연결 유형인지, 어떤 게이트웨이인지, 어떤 인증 방식인지 하는 사실을 담습니다. 둘을 동기화해 주는 것은 없으므로 „L2TP 사무실“이라는 프로파일이 IKEv2 서비스일 수 있습니다.
개인이 만든 연결의 경우 소유 앱이나 시스템 자체의 VPN 패널이 그 설정을 보여 줍니다. 관리되는 Mac에서는 프로파일이 관리자에게 속하며, 올바른 행동은 관리되는 페이로드를 편집하는 대신 비밀이 아닌 요약을 요청하는 것입니다. 두 경우는 메뉴 막대에서는 비슷해 보이지만 그 아래에서는 전혀 다르게 동작합니다. 하나는 당신이 검사하고 바꿀 수 있는 것이고, 다른 하나는 배포되어 다음 체크인 때 복원됩니다.
이 구분이 중요한 이유는 관리되는 구성과 개인 구성이 다르게 통제되기 때문입니다. 관리가 설치한 프로파일은 교체되거나 다시 적용되므로 로컬 편집은 실패하거나 조용히 되돌아갑니다. 통제하지 않는 파일을 리버스 엔지니어링하는 대신 소유자에게 유형, 게이트웨이 신원, 인증 방법을 물으세요.
페이로드의 다른 무엇보다 먼저 VPNType을 읽으세요
Apple의 관리되는 VPN 페이로드 스키마는 연결 유형을 VPNType 키에 선언하며, 그것은 PayloadType이 com.apple.vpn.managed인 사전 안에 있습니다. 값은 IKEv2, IPsec, L2TP 또는 VPN 같은 짧은 토큰이며, 페이로드의 나머지 전부는 그 토큰에 따라 해석됩니다.
<key>PayloadType</key>
<string>com.apple.vpn.managed</string>
<key>VPNType</key>
<string>IKEv2</string>
<key>IKEv2</key>
<dict>
<key>RemoteAddress</key>
<string>vpn.head-office.example</string>
<key>RemoteIdentifier</key>
<string>ikev2.head-office.example</string>
</dict>이 조각은 예시일 뿐 설치할 수 없으며, 실제 배포에 필요한 프로파일 메타데이터와 자격 증명을 걷어낸 페이로드 배열의 한 항목입니다. 내용이 아니라 형태를 위해 읽으세요. 또한 RemoteAddress와 RemoteIdentifier는 배포가 같은 문자열을 주더라도 역할이 다른 별개의 필드입니다.
레거시 값, 예를 들어 PPTP는 현재 macOS가 새 구성에 제공하는 선택지가 아니더라도 오래된 파일에 여전히 나타날 수 있습니다. 저장된 프로파일에서 토큰을 찾는 것은 무엇이 기록되었는지를 증명할 뿐, 운영체제가 여전히 무엇을 받아들일지는 증명하지 않습니다.
사용자 정의 유형에는 VPNSubType과 소유 앱이 필요하다
만약 VPNType이 VPN일 때 페이로드는 VPNSubType도 담아야 하며, 이것이 연결을 구현하는 플러그인이나 Network Extension 제공자를 식별합니다. 이 식별자가 연결을 특정 클라이언트로 보내므로, 잘못된 하위 유형은 설치된 뒤 시작을 거부하는 프로파일을 만듭니다.
앱 확장 기반 제공자에서는 식별자가 추측한 확장 이름이 아니라 그것을 포함하는 앱에 속하며, 이것이 사람들이 프로파일을 손으로 편집할 때 흔히 틀리는 세부 사항입니다. 올바른 하위 유형조차 클라이언트를 설명할 뿐, 전선 프로토콜이나 인증 방법 또는 그 클라이언트가 사용할 원격 접근 정책을 설명하지는 않습니다.
따라서 사용자 정의 페이로드는 어떤 소프트웨어가 연결을 소유하는지와 그 밖의 몇 가지만 알려 줍니다. 무엇을 협상하는지 알려면 그 제공자의 자체 문서와 구성된 설정을 읽으세요. 다른 조직의 프로파일에서 하위 유형을 복사하는 것은 구성 기법이 아니라 우연히 파싱되는 추측입니다.
Mac이 실제로 구성한 것을 나열하세요
어떤 파일이든 읽기 전에 시스템에 어떤 서비스가 있고 어떤 상태인지 물으세요. 명령줄 보기는 패널을 클릭하는 것보다 빠르고 각 항목 옆에 유형을 출력합니다.
scutil --nc list scutil --nc show "Office VPN"
첫 번째 명령은 구성된 VPN 서비스를 현재 상태와 함께 나열하고, 두 번째는 선택한 서비스의 설정을 유형과 연결할 서버 주소까지 포함해 출력합니다. 폐기된 호스트를 가리키는 오래된 항목이 흔한 상속 문제이므로, 그 주소를 예상하라고 들은 게이트웨이와 비교하세요.
이 명령들은 구성과 상태를 보여 줄 뿐, 터널이 트래픽을 나르는지 증명하지 않습니다. 서비스가 끊겨 있으면 출력은 작동하는 세션이 아니라 의도를 설명합니다. 트래픽 없이 연결된 서비스는 또 다른 문제이며, 보통 프로토콜 유형이 아니라 라우팅이나 DNS입니다. 이 세 가지 관찰을 분리해 두지 않으면 진단이 다시 추측으로 되돌아갑니다.
저장된 설정을 살아 있는 세션과 분리하세요
저장된 프로파일은 의도 선언입니다. 게이트웨이가 그 서비스를 아직 제공하는지, 이 프로파일이 활성인지, 세션이 성공적으로 협상되었는지는 보여 주지 않습니다. 그것들은 세 가지 별개의 질문이며 각각 고유한 증거가 있습니다.
소유자의 상태 보기나 진단 도구를 사용해 활성 연결과 게이트웨이가 제시한 신원을 식별하세요. 포트 스캔이나 무관한 사이트에서 본 인증서는 두 질문 어느 것에도 답하지 않으며, 인증서의 일반 이름은 기대되는 원격 식별자와 같지 않습니다.
저장된 유형이 게이트웨이가 지원하는 것과 더 이상 맞지 않으면 그 소유자에게 대체 프로파일을 받으세요. 유형 문자열을 바꾸는 것은 프로토콜 간에 자격 증명을 번역하지 않으며 한 인증 방식을 다른 방식으로 만들지도 않습니다. 승인된 지원 경로로도 요약을 공유하세요, 내보낸 구성은 지원 요청이 전혀 필요로 하지 않았던 자격 증명과 개인 키를 담을 수 있기 때문입니다.