iPhone VPN 도메인별: 거부가 어디서 일어나는지 결정하세요
NeverConnect는 VPN 시작을 막을 뿐 웹사이트를 차단하지 않습니다. 거부가 서비스 경계에 속하는지 관리 정책에 속하는지 결정하세요.
두 가지 요구 사항이 하나의 문장으로 적힌 뒤 전혀 다른 곳에서 구현됩니다. 이 사이트는 VPN을 통해서만 접근할 수 있어야 한다는 것은 입장에 대한 진술이며, 그 자연스러운 자리는 서비스 앞의 네트워크입니다. 이 iPhone은 그 도메인에 직접 연결해서는 안 된다는 것은 기기에 대한 진술이며, 관리형 클라이언트 정책만이 그것을 표현할 수 있습니다. 프로필 편집기를 열기 전에 실제로 어느 쪽인지 결정하세요.
똑같이 들리는 두 가지 요구 사항
예시 호스트 records.corp.example 를 생각해 보세요. 입장의 경우 VPN 뒤의 주소로만 게시하므로 셀룰러 망의 휴대폰에서 직접 시도하면 네트워크에서 실패하지만, 같은 요청이 터널을 통하면 성공하며 여전히 실제 계정 로그인을 요구합니다. 기기의 경우 휴대폰이 공용 인터넷에 도달할 수 있으므로 호스트는 누구에게나 확인되고 응답하며, 시도를 멈출 수 있는 유일한 곳은 기기입니다. 서비스는 자신에게 결코 도달하지 않는 요청에 규칙을 적용할 수 없습니다.
요구 사항을 잘못 읽으면 특정 배포로 나타납니다. 레코드는 여전히 공개되어 있고, 운영자는 VPN이 필수라고 믿으며, 셀룰러 시도 감사는 요청이 터널에 들어가지 않았음을 보여 줍니다. 아무것도 차단되지 않았기 때문에 로그에는 고장 난 것이 없어 보입니다.
평가 동작을 문자 그대로 읽으세요
온디맨드 메커니즘에는 두 개의 별개 동작 계층이 있으며, 이를 혼동하면 여기서 대부분의 혼란이 생깁니다. 외부 규칙 동작은 규칙이 일치할 때 터널에 무슨 일이 일어나는지 결정하고, 연결 평가 동작은 평가 규칙 안에서 호스트 이름 일치에 무슨 일이 일어나는지 결정합니다. Apple의 Never Connect 참조는 두 번째 계층만 설명합니다.
| Layer | Action | What it controls |
|---|---|---|
| Outer rule | connect | Bring the tunnel up when the rule matches |
| Outer rule | disconnect | Tear the tunnel down when the rule matches |
| Outer rule | evaluateConnection | Run a hostname evaluation instead of acting directly |
| Outer rule | ignore | Leave the current tunnel state alone |
| Connection evaluation | connectIfNeeded | Start the tunnel when the hostname cannot be resolved |
| Connection evaluation | neverConnect | Do not start the tunnel for that match |
neverConnect 는 이름이 차단을 연상시키기 때문에 가장 자주 잘못 읽히는 값입니다. 이것은 일치하는 호스트 이름에 대해 터널 시작을 제어하며, 휴대폰이 이름에 도달할 권한이 아니므로 Never Connect 항목은 도메인 차단이 아닙니다. 설계 문서에서 그렇게 부르는 것은 실제로 갖지 못한 시행 경계로 배포가 승인되는 방식입니다.
서비스를 소유한다면 경계에서 시행하세요
입장을 제한한다는 것은 VPN 경로가 도달할 수 있는 곳에만 이름을 게시하고, 의도한 경로가 작동하고 다른 경로는 작동하지 않는지 테스트하는 것입니다. 게시된 모든 레코드, 게시한다면 두 주소 체계, 그리고 앱이 사용하는 중간 또는 대체 이름을 모두 포함하세요. 공용 로드 밸런서를 여전히 가리키는 오래된 CNAME은 기본 레코드가 아무리 정돈되어 있어도 직접 경로를 살려 둡니다.
이것은 기기가 아니라 서비스를 보호합니다. 휴대폰이 DNS 쿼리를 보내는 것을 막지 않고, 앱이 시도하는 것도 막지 않습니다. 그런 시도가 허용된다면 경계에서의 시행이 더 저렴하고 오래가는 선택입니다. 구성한 클라이언트뿐 아니라 모든 클라이언트에 적용되기 때문입니다. 한 번도 등록되지 않은 휴대폰에서도 유지됩니다.
휴대폰이 시도조차 해서는 안 된다면 관리형 정책이 필요합니다
시도를 멈추려면 연결 전, 터널 장애 중, 네트워크 변경 후에 앱이나 목적지를 포괄하는 지원되는 시행 정책이 필요합니다. VPN 또는 기기 관리 공급자에게 그 정책의 이름을 말하고, 조직 관리가 필요한지 밝히고, 또 무엇에 영향을 주는지 설명해 달라고 요청하세요. 앱별 터널과 온디맨드 규칙은 같은 것이 아니며, 홈 화면의 연결 바로가기도 마찬가지입니다.
터널을 비활성화하고 요청이 나가는지 관찰하여 실패 사례를 테스트하세요. 나간다면 문서화한 경계는 배포한 경계가 아닙니다.
세 가지 질문으로 결정하세요
첫째, 서비스를 통제하는가, 아니면 휴대폰만 통제하는가? 둘째, 기기가 나머지 모든 것에 공용 인터넷을 정당하게 사용할 수 있는가? 셋째, 휴대폰이 관리되는가, 누구에 의해 관리되는가? 서비스를 소유하고 관리형 기기 집합이 있으면 어느 계층이든 사용할 수 있지만, 휴대폰만 소유하면 클라이언트 정책이 유일한 선택이 되며 그것이 지원되어야 합니다.
프로필을 건드리기 전에 그 세 가지에 답하세요. 그러면 구성은 Never라는 이름의 체크 상자가 무엇을 뜻하는지에 대한 추측이 아니게 됩니다.