Shadowrocket의 On Demand(필요 시 연결)는 시스템이 VPN 연결을 시작하거나 끊을 시점을 결정하며, 연결 후 트래픽을 나누는 규칙을 대신하지 않습니다. 이미 사용할 수 있는 연결과 구성이 있는 사용자를 대상으로, 먼저 지정한 Wi-Fi와 셀룰러 네트워크에서 동작을 설정하고, 도메인 조건이 특정 웹페이지를 열기만 하면 반드시 연결된다는 뜻이 아닌 이유를 설명합니다. 마지막으로 항목별 확인 방법으로 규칙 우선순위와 자동 재연결 문제를 점검합니다.
1. On Demand와 연결 후 트래픽 규칙 구분하기
설정 전 핵심부터 확인하세요. 네트워크 환경에 따라 자동 연결하려면 Settings → On Demand를 확인합니다. 연결은 되어 있지만 특정 웹사이트의 경로가 예상과 다르면 Home → Global Routing과 Config에서 현재 활성화된 구성을 확인하세요. 두 기능은 서로 다른 단계에서 작동합니다. 구성에 도메인 라우팅 규칙을 추가해도 시스템의 On Demand 트리거 조건이 만들어지는 것은 아닙니다.
On Demand는 Apple 시스템의 VPN 주문형 연결 기능을 사용합니다. 시스템은 현재 네트워크와 저장된 조건을 바탕으로 연결 여부를 판단하고, 연결이 완료된 뒤 Shadowrocket이 선택한 라우팅 방식에 따라 트래픽을 처리합니다. 네트워크 전환이나 이름 해석 요청 등의 이벤트가 평가에 반영될 수 있지만, 포그라운드 웹페이지를 계속 감시하는 기능은 아니며 앱을 열고 닫는 시간에 따라 작동하는 스위치도 아닙니다.
Proxy(프록시): 프록시 라우팅 모드를 사용합니다. 구성의 규칙을 하나씩 적용해 트래픽을 나누는 것과는 다릅니다.Direct(직접 연결): 직접 연결 라우팅 모드를 사용합니다. VPN이 연결된 것으로 표시되더라도 실제 요청이 프록시를 거쳐 나간다는 뜻은 아닙니다.Config(구성): 현재 활성화된 구성의 규칙에 따라 요청의 경로를 결정합니다. 도메인별 라우팅을 확인할 때 사용합니다.Scene(시나리오): 상황별 라우팅을 선택하는 기능입니다. 현재 시나리오 설정도 함께 확인하세요. On Demand의 연결 동작은 아닙니다.
예를 들어 구성의 DOMAIN-SUFFIX,example.com,DIRECT는 도메인 접미사가 일치하면 직접 연결한다는 뜻입니다. FINAL,DIRECT는 앞선 규칙에 일치하지 않을 때 적용되는 최종 경로입니다. 이 규칙만으로 시스템 VPN이 자동으로 시작되지는 않습니다. GEOIP(IP의 지리적 위치 기준 매칭)와 IP-CIDR(IP 대역 기준 매칭)도 트래픽 처리 단계의 규칙이며, Wi-Fi나 셀룰러 네트워크 조건을 대신할 수 없습니다.
2. 설정 전 진입 경로·연결·복구 방법 확인하기
먼저 수동 연결이 정상적으로 되는지 확인한 뒤 자동화를 설정하세요. 이 글은 주로 iPhone과 iPad의 설정 과정을 설명합니다. 시스템 요구 사항은 App Store 페이지에 표시된 내용을 기준으로 확인하세요. 시스템 버전과 앱 화면에 따라 선택할 수 있는 항목이 다를 수 있으므로, 실제 저장 가능한 조건은 현재 Settings → On Demand 화면에서 확인해야 합니다. 시스템 동작 이름이 모든 화면에 반드시 버튼으로 표시되는 것은 아닙니다.
Home에서 이미 보유한 사용 가능한 연결을 선택하고 연결 스위치를 수동으로 켭니다. VPN 구성을 추가하라는 시스템 안내가 처음 표시되면 앱 정보를 확인하고 시스템 절차에 따라 승인하세요.- 평소 접속할 수 있는 페이지를 열어 네트워크가 정상인지 확인합니다. 수동 연결도 실패한다면 먼저 연결 매개변수, 네트워크 접근성 또는 구성 문제를 해결하세요.
- 현재
Global Routing모드와Config에서 활성화된 구성을 기록해 두세요. 테스트 중 설정을 바꾼 뒤 원래 상태로 되돌리는 것을 잊지 않도록 합니다. Settings → On Demand로 이동해 기존 조건과 정렬 순서를 먼저 기록합니다. 이번에 확인할 항목 하나만 변경하고, 구독을 업데이트하거나 연결을 바꾸지는 마세요.- 시스템의
설정 → 일반 → VPN 및 기기 관리 → VPN에서 해당 VPN 구성의 위치를 확인해 두세요. 시스템에 ‘주문형 연결’ 관련 옵션이 표시되면 그 상태도 함께 확인합니다.
핵심: 수동 연결이 되는 기준 상태부터 만들기
같은 네트워크에서 먼저 수동 연결을 확인한 다음 On Demand 조건만 변경하세요. 문제가 생겨도 트리거가 실행되지 않은 것인지, 트리거 후 연결 자체가 실패한 것인지 구분하기 쉽습니다.
3. Wi-Fi 이름별로 연결 또는 해제 설정하기
Wi-Fi 이름 조건은 일반적으로 SSID(무선 네트워크 이름)를 기준으로 합니다. 공유기 브랜드나 웹사이트 도메인을 식별하는 조건이 아닙니다. 아래에서는 가상의 이름 Home-WiFi를 사용해 ‘지정한 Wi-Fi에서는 연결 해제, 셀룰러 네트워크에서는 연결’하는 설정 목표를 설명합니다. 특정 네트워크에서 연결을 해제할지는 실제 사용 목적에 따라 결정해야 합니다. 네트워크 이름이 ‘집’이라고 해서 안전하다고 단정할 수는 없습니다.
- 시스템 Wi-Fi 설정에서 현재 연결된 네트워크의 전체 이름을 확인하세요. 실제 SSID의 공백, 기호, 대소문자를 그대로 사용하고 ‘집 네트워크’ 같은 별칭으로 대신하지 마세요.
Settings → On Demand로 이동해 Wi-Fi 조건을 편집하고, 일치시킬 네트워크 이름에 실제 SSID를 입력합니다. 여기서 사용하는Home-WiFi는 설명을 위한 예시일 뿐입니다.- 해당 네트워크에서 이 VPN 연결을 유지하지 않으려면 일치 시 동작으로
Disconnect(연결 해제)를 설정하세요. 연결이 필요하다면Connect(연결)를 선택합니다. 현재 화면에서 제공하는 방식으로 저장하세요. - 모든 Wi-Fi에 적용되는 포괄적인 조건이 있는지 확인하세요. 특정 SSID의 예외 조건은 이를 덮어쓸 수 있는 일반 조건보다 먼저 배치해야 합니다.
- 해당 Wi-Fi 연결을 끊었다가 다시 연결해 VPN 상태를 확인하세요. 기존 네트워크에서 저장한 직후 웹페이지를 한 번 열어 본 결과만으로 성공 여부를 판단하지 마세요.
지정한 Wi-Fi의 설정 목표
- 경로
- Settings → On Demand
- 네트워크 종류
- Wi-Fi
- SSID
- Home-WiFi(가상 예시)
- 동작
- Disconnect: 이 네트워크에서 연결 해제
이 내용은 설정 목표를 설명하기 위한 것으로, 바로 가져올 수 있는 구성 텍스트가 아닙니다. 실제 네트워크의 SSID로 바꿔 입력하세요.
셀룰러 네트워크 설정 목표
- 경로
- Settings → On Demand
- 네트워크 종류
- Cellular: 셀룰러 네트워크
- SSID
- 해당 없음. SSID는 Wi-Fi 조건입니다.
- 동작
- Connect: 이 네트워크에서 연결
셀룰러 데이터를 지원하고 활성화한 기기에서만 테스트하세요. 연결 성공 여부는 기존 연결을 정상적으로 사용할 수 있는지에 달려 있습니다.
Disconnect는 이 VPN 연결을 끊는다는 뜻이지, 기기의 Wi-Fi를 끄거나 모든 네트워크 트래픽을 차단한다는 뜻이 아닙니다. 집에서 특정 도메인만 직접 연결하려는 경우에는 보통 VPN 연결을 유지하고 Config에서 라우팅 규칙을 설정해야 합니다. 집 Wi-Fi 전체에서 연결을 해제하는 방식과는 적용 범위가 다릅니다.
4. 셀룰러 네트워크 자동 연결과 규칙 우선순위
셀룰러 데이터를 지원하는 기기에서는 Cellular(셀룰러 네트워크) 조건에 Connect를 설정할 수 있습니다. 지정한 Wi-Fi를 벗어나 셀룰러 데이터로 전환되면 시스템이 해당 조건을 평가합니다. 전환 과정에는 네트워크 연결 가능 여부, VPN 터널 설정, 이후 요청 처리 단계가 포함됩니다. 따라서 On Demand를 기존 연결이 모두 끊김 없이 유지되는 기능으로 이해하면 안 됩니다.
| 평가 순서 | 조건 | 동작 | 확인할 사항 |
|---|---|---|---|
| 우선 적용할 예외 | Wi-Fi, SSID: Home-WiFi | Disconnect | 실제 연결된 네트워크와 이름이 일치하는지 |
| 네트워크 종류 | Cellular | Connect | 기기가 실제로 셀룰러 데이터를 사용 중인지 |
| 마지막의 일반 조건 | 그 밖에 연결이 필요한 네트워크 | Connect | 화면에서 지원하고 실제로 필요한 경우에만 추가 |
시스템은 On Demand 규칙을 순서대로 평가하며, 먼저 일치하는 적용 가능 규칙의 동작을 실행합니다. 가장 앞에 있는 일반 연결 조건이 모든 Wi-Fi에 적용되면 뒤에 있는 특정 SSID의 연결 해제 조건이 실행되지 않을 수 있습니다. Shadowrocket 화면에서는 네트워크 종류별로 조건이 묶여 표시될 수 있으므로 페이지상의 순서와 조건의 적용 범위를 모두 확인하세요. 스위치가 켜져 있는지만 확인해서는 안 됩니다.
- 범위가 좁은 예외를 먼저 배치한 뒤 범위가 넓은 기본 조건을 설정하세요. 일반 조건이 예외보다 먼저 적용되는 상황을 방지할 수 있습니다.
- 일치하는 조건이 없을 때 시스템이 반드시 연결하거나 해제한다고 가정하지 마세요. 나머지 네트워크에서 필요한 동작을 명시적으로 설정하고 실제로 확인해야 합니다.
- 수동으로 연결을 끊어도 자동 연결이 취소되는 것은 아닙니다. 이후 네트워크 이벤트가 다시
Connect조건을 충족하면 시스템이 연결을 재설정할 수 있습니다. - 연결을 계속 수동으로 제어하려면 먼저 On Demand를 끄고 시스템의 주문형 연결 상태를 확인한 다음 연결 스위치를 조작하세요.
셀룰러 기능이 없는 iPad에서는 셀룰러 네트워크 전환을 테스트할 수 없습니다. Wi-Fi로 다른 기기의 개인용 핫스팟에 연결해도 이 기기는 Wi-Fi 인터페이스를 사용합니다. 핫스팟을 제공하는 기기의 인터넷 연결 방식이 아니라 현재 기기에 표시되는 네트워크 종류를 기준으로 판단하세요.
5. 도메인 On Demand 트리거와 DOMAIN-SUFFIX 라우팅은 다릅니다
‘도메인에 접속하면 연결’이라는 조건은 따로 이해해야 합니다. Apple의 주문형 연결 기능에서 EvaluateConnection(연결 평가)은 도메인 및 이름 해석 관련 조건을 바탕으로 VPN 연결 여부를 판단할 수 있습니다. 이는 연결 후 DOMAIN-SUFFIX 규칙을 적용하는 방식과 다르며, 브라우저 주소창을 감시하는 기능이라고 단정해서도 안 됩니다.
시스템의 도메인 평가에서 ConnectIfNeeded(필요한 경우 연결)는 보통 DNS 확인 실패나 필요한 DNS 서버에 연결할 수 없는 상황 등과 관련이 있습니다. NeverConnect(일치하는 도메인에서는 연결하지 않음)는 웹사이트 차단 규칙도 아닙니다. 이는 시스템 기능의 이름입니다. 현재 Shadowrocket 화면에서 해당 조건을 제공하는 경우에만 화면에 표시된 옵션을 설정할 수 있으며, 구성 파일에 붙여 넣는 키워드로 사용하면 안 됩니다.
- 먼저 필요한 동작을 구분하세요. ‘터널이 연결되지 않은 상태에서 내부 도메인에 접속할 때 연결이 필요한가?’ 아니면 ‘터널이 연결된 상태에서 특정 웹사이트의 경로를 지정하려는가?’ 후자는
Config에서 설정해야 합니다. Settings → On Demand에서 도메인 관련 조건과 선택 가능한 동작을 제공하는지 확인하세요. 현재 화면에 네트워크 종류 조건만 표시된다면 지원되는 기능에 맞게 설정하고, 없는 항목을 만들어 입력하지 마세요.- 화면에서 도메인 조건을 지원한다면, 접근 권한이 있고 해당 네트워크 환경에서 실제로 이름을 확인해야 하는 도메인으로 테스트하세요.
internal.example.com은 문법 설명을 위한 예시이며 실제 연결 확인에는 사용할 수 없습니다. - 항목의 용도에 맞춰 호스트 이름이나 도메인을 입력하고 전체 URL은 입력하지 마세요.
https://internal.example.com:443/path에서 프로토콜, 포트, 경로는 도메인 자체에 포함되지 않습니다. - 연결되지 않은 상태에서 먼저 DNS 결과를 기록한 다음 조건을 활성화해 테스트하세요. 일반 네트워크에서도 도메인을 확인할 수 있다면 ‘필요할 때 연결’이 반드시 실행되리라고 기대할 수 없습니다.
DNS 캐시, 브라우저에 이미 열린 연결, 앱 자체의 암호화 DNS 사용 여부에 따라 시스템이 새로운 이름 확인 요청을 감지하는 방식이 달라질 수 있습니다. 열려 있는 페이지를 새로고침해도 예상한 평가 이벤트가 발생하지 않을 수 있습니다. VPN 상태와 실제 DNS 확인 결과를 함께 살펴보고, 페이지가 열렸다는 사실만으로 On Demand가 작동했다고 판단하지 마세요.
필요한 동작이 ‘example.com은 직접 연결하고 나머지 요청은 기존 구성대로 처리’라면 활성 구성에 해당 도메인 규칙을 설정하고 Global Routing → Config를 선택하세요. 도메인 라우팅은 요청의 경로만 결정합니다. VPN 전체를 끊으면 다른 앱의 요청에도 영향을 미치므로 두 방식은 서로 대체할 수 없습니다.
6. 세 가지 상황으로 설정 확인하기
한 번에 변수 하나만 바꾸세요. 동일한 기존 연결과 활성 구성, 같은 테스트 페이지를 유지합니다. 아래 내용은 확인 과정에서 기록할 항목이며, 정해진 소요 시간이나 실제 성능을 보장하는 수치가 아닙니다. 시스템 평가와 터널 설정에는 시간이 걸릴 수 있으니 상태가 안정된 뒤 판단하세요.
| 테스트 상황 | 조작 방법 | 확인할 현상 | 문제가 있으면 먼저 확인할 항목 |
|---|---|---|---|
| 지정한 Wi-Fi 연결 | 예외로 설정한 SSID에 다시 연결 | VPN이 Disconnect 설정대로 해제되는지 | SSID와 일반 조건의 적용 범위 |
| 셀룰러 데이터로 전환 | Wi-Fi를 끄고 셀룰러 데이터를 사용할 수 있는지 확인 | VPN 연결이 시작되고 정상 연결되는지 | Cellular 조건, 기존 연결의 사용 가능 여부 |
| 내부 DNS 확인이 필요한 도메인에 접속 | 적용 가능한 도메인 조건에서 새 이름 확인 요청 실행 | 평가 및 연결이 실행되는지, 연결 후 이름을 확인할 수 있는지 | DNS 캐시, 이름 확인 경로, 도메인 조건 |
상태가 이미 연결됨으로 표시되는데 페이지가 열리지 않는다면 문제는 연결 후 처리 단계에 있습니다. Global Routing, 활성 Config, DNS, 대상에 접근할 수 있는지 확인하세요. Wi-Fi 이름 조건을 반복해서 수정할 필요는 없습니다. 연결 동작 자체가 실행되지 않았다면 먼저 On Demand 스위치, 현재 인터페이스 종류, 규칙 우선순위를 확인하세요.
- 공용 Wi-Fi에서 웹 인증이 필요하다면 먼저 네트워크 로그인을 완료한 뒤 테스트하세요. Wi-Fi에 연결되었다고 해서 인터넷에 접속할 수 있는 상태라는 뜻은 아닙니다.
- On Demand를 잠시 끄고 같은 네트워크에서 수동 연결을 시도하세요. 그래도 실패한다면 자동 트리거 조건보다 연결 자체를 먼저 확인해야 합니다.
- 테스트 중에는 구독을 업데이트하거나 연결을 바꾸지 마세요. 연결 매개변수가 달라지면 트리거 결과를 판단하기 어려워집니다.
- 테스트가 끝나면 필요한 라우팅 모드와 조건으로 복원하세요. 테스트용 전역 직접 연결이나 일반 연결 조건을 일상 설정에 남겨 두지 않도록 합니다.
7. 자동 재연결·이름 일치·배터리 관련 자주 묻는 질문
수동으로 연결을 끊었는데 왜 다시 연결되나요?
먼저 Settings → On Demand에서 현재 네트워크에 적용되는 Connect 조건이 남아 있는지 확인한 다음, 시스템 VPN 설정에서 주문형 연결 상태를 확인하세요. 자동 연결을 잠시 중지하려면 주문형 기능을 끈 뒤 연결을 해제하세요. Home의 연결 스위치만 반복해서 조작하지 마세요.
집 Wi-Fi에서 연결 해제를 설정했는데 집에 오면 여전히 연결되는 이유는 무엇인가요?
시스템 Wi-Fi 화면에서 전체 SSID를 다시 확인하고, 실제로 이름이 다른 주파수 대역 네트워크에 연결된 것은 아닌지 살펴보세요. 그런 다음 모든 Wi-Fi에 적용되는 일반 Connect 조건이 먼저 적용되는지 확인하세요. 라우터가 같다는 이유만으로 SSID 조건도 같다고 판단하지 마세요.
지정한 도메인을 열어도 트리거되지 않는데, 도메인 규칙을 잘못 입력한 건가요?
먼저 설정한 항목이 On Demand의 도메인 조건인지, Config의 DOMAIN-SUFFIX 규칙이 아닌지 확인하세요. 해당 도메인이 이미 캐시되어 있는지, 일반 네트워크에서도 조회되는지, 요청이 시스템에서 평가할 수 있는 DNS 조회 경로를 거치는지도 확인하세요. 페이지가 열렸다는 사실만으로 새 연결 트리거가 발생했다고 볼 수는 없습니다.
On Demand 연결은 계속 연결해 두는 것보다 배터리를 꼭 절약하나요?
연결 스위치만 보고 판단할 수는 없습니다. 먼저 시스템의 설정 → 배터리에서 같은 사용 시간대의 활동 내역을 비교하세요. 네트워크 전환이 잦아 터널을 반복 설정하게 된다면 불필요한 조건 전환을 줄이세요. 실제 연결 필요에 맞춰 설정하고, 테스트를 위해 반복해서 연결을 끊고 다시 연결하지 마세요.
마지막 점검 순서는 일정하게 유지하세요. 먼저 네트워크 사용 가능 여부를 확인하고, 다음으로 시스템이 연결을 트리거했는지 확인한 뒤, 마지막으로 연결 후 라우팅과 DNS를 점검합니다. 이 세 단계를 나눠 기록하면 On Demand, 구독, 구성을 동시에 수정하는 것보다 원인을 찾기 쉽습니다. 기본 조작법은 이 사이트의 다른 가이드에서도 확인할 수 있습니다.