On Demand는 시스템이 VPN 연결을 언제 시작하거나 끊을지 처리하고, Rule은 연결된 뒤 요청을 어떻게 분기할지 결정합니다. 사용 가능한 구성을 이미 보유한 iPhone·iPad 사용자를 대상으로 Settings → On Demand 확인 경로, Wi-Fi와 셀룰러 조건의 순서, 도메인 트리거의 제한, 자동 연결을 끈 뒤 복구하는 방법을 차례로 설명합니다. 설정 전에는 수동 연결을 확인하고, 설정 후에는 네트워크 조건을 한 번에 하나씩만 변경하세요.
1. On Demand, Global Routing, Rule의 차이
On Demand는 프록시 분기 규칙이 아니라 시스템이 실행하는 자동 연결 정책입니다. 먼저 Home에서 기존 연결 구성이 수동으로 작동하는지 확인한 다음 Settings → On Demand에서 자동 연결을 점검하세요. 수동 연결부터 실패한다면 자동 트리거 조건을 추가해도 서버 주소, 인증 정보 또는 네트워크 연결 문제는 해결되지 않습니다.
Global Routing은 연결 내 라우팅 방식을 정합니다. Proxy, Direct, Config는 각각 프록시, 직접 연결, 구성에 따른 분기에 사용됩니다. Scene은 상황별 선택을 구성하는 기능이므로 특정 출구 방식 하나로 단정할 수 없습니다. 여기서 다루는 자동 연결 문제를 점검할 때는 우선 Config를 고정하고, Config에서 현재 선택된 파일을 확인하세요. Scene과 On Demand 조건을 동시에 바꾸지 않는 것이 좋습니다.
VPN에 연결되어 있다고 해서 모든 요청이 프록시를 거치는 것은 아닙니다. Config의 DIRECT 규칙에 해당하는 요청은 직접 연결될 수 있으며, 이때도 On Demand 연결은 유지됩니다. 반대로 터널이 아직 연결되지 않은 상태에서는 FINAL,PROXY가 On Demand를 대신해 연결을 시작할 수 없습니다. 문제를 확인할 때는 시스템 연결 상태와 요청에 적용된 정책을 따로 기록하세요.
2. 시작 전에 수동 연결 상태를 기준으로 기록
자동 연결 설정은 반복해서 재현할 수 있는 수동 테스트에서 시작해야 합니다. 변경 전에 현재 구성 이름, Global Routing 선택 항목, 기존 On Demand 상태를 기록하세요. 화면에 표시되는 구체적인 옵션은 설치된 버전에 따라 다를 수 있습니다. 시스템이 지원하는 모든 On Demand 정책이 현재 화면에 버튼으로 제공되는 것은 아닙니다.
- Home에서 기존 연결 구성을 선택하고 수동으로 연결을 켠 뒤, 정상 작동이 확인된 대상에 접속해 요청이 완료되는지 확인합니다.
- Config에서 현재 구성 파일을 확인합니다. 트래픽 분기를 점검할 때는 Global Routing을 Config로 고정하고 규칙 파일은 바꾸지 마세요.
- Settings → On Demand로 이동해 전체 스위치와 기존 조건을 확인합니다. 처음 설정할 때는 테스트 조건 하나만 추가하고 예외를 여러 개 한꺼번에 설정하지 마세요.
- 시스템 안내에 따라 VPN 구성 저장 또는 업데이트를 허용한 다음, 시스템 Settings → General → VPN & Device Management에서 현재 VPN 구성과 Connect On Demand 상태를 확인합니다. 시스템 화면의 세부 경로는 OS 버전에 따라 달라질 수 있습니다.
- Home으로 돌아가 연결 상태를 확인한 뒤 실제로 네트워크를 한 번 전환해 보세요. 설정 화면을 나가는 것만으로는 트리거가 작동하는지 확인할 수 없습니다.
3. Wi-Fi 이름과 셀룰러 조건 설정
네트워크 조건은 구체적인 예외를 먼저, 일반 조건을 나중에 배치하세요. 시스템은 On Demand 규칙을 순서대로 확인하므로 앞선 규칙이 일치하면 뒤의 조건이 실행되지 않을 수 있습니다. 예를 들어 집 Wi-Fi에서는 자동 연결을 피하고 다른 네트워크에서는 자동 연결하려면, 지정 Wi-Fi 예외를 먼저 설정한 다음 범위가 넓은 네트워크 조건을 배치하세요.
Wi-Fi 이름에는 라우터 모델명이나 기기 메모가 아니라 실제 SSID를 사용해야 합니다. 시스템 Settings → Wi-Fi에서 현재 이름을 확인한 뒤 Settings → On Demand에서 해당 조건을 점검하세요. 두 액세스 포인트가 같은 SSID를 사용하면 이름만으로 구분하기 어렵습니다. SSID 조건만으로 해당 네트워크가 안전하다고 판단할 수도 없습니다.
지정 Wi-Fi 예외 설정
- 확인 경로
- Settings → On Demand
- 대상
- Wi-Fi의 실제 SSID(예: Home-WiFi)
- 동작
- Disconnect — 화면에 해당 동작이 제공되는 경우에만 설정
- 순서
- 모든 Wi-Fi에 적용되는 일반 조건보다 앞에 배치
Home-WiFi는 이름 예시입니다. 저장할 때는 기기가 실제로 사용하는 SSID를 입력하세요.
셀룰러 연결 설정
- 확인 경로
- Settings → On Demand
- 대상
- Cellular 네트워크 조건(화면에 표시되는 옵션 기준)
- 동작
- Connect — 화면에 해당 동작이 제공되는 경우에만 설정
- 확인 방법
- Wi-Fi를 끄고 셀룰러 데이터가 사용 가능한지 확인한 뒤 새 요청을 보내세요
테스트 전에 기기에서 셀룰러 데이터를 사용할 수 있는지 확인하세요. Wi-Fi 전용 iPad에는 이 테스트를 적용할 수 없습니다.
확인할 때는 네트워크가 아직 사용 불가능한 상황과 On Demand 규칙이 일치하지 않은 상황을 구분해야 합니다. Wi-Fi에서 셀룰러로 전환한 뒤 시스템에서 실제로 데이터 연결이 되는지 확인하고, VPN 상태를 살펴본 다음 대상에 접속하세요. 공용 Wi-Fi에서 웹 인증이 필요하다면 먼저 인증을 완료해야 합니다. On Demand 설정을 반복해서 바꿔도 인증 절차를 대신할 수는 없습니다.
- 지정 Wi-Fi 테스트: 해당 SSID에 연결해 VPN이 예상대로 끊기거나 유지되는지 기록한 뒤 새 요청을 보냅니다.
- 다른 Wi-Fi 테스트: 다른 SSID에 연결해 범위가 넓은 Wi-Fi 조건이 잘못 일치하지 않는지 확인합니다.
- 셀룰러 테스트: Wi-Fi를 끄고 셀룰러 연결이 가능한지 확인한 뒤 연결 동작을 점검합니다. 이후 Wi-Fi로 돌아와 예외 조건도 다시 확인하세요.
- 현재 화면에 간단한 스위치만 있고 조건을 하나씩 편집하는 기능이 없다면, 같은 이름의 항목을 임의로 찾아 만들지 마세요. 실제로 제공되는 기능만 설정하세요.
4. 도메인 트리거와 DOMAIN-SUFFIX 분기는 다릅니다
도메인 트리거는 “특정 도메인에 접속할 때 연결을 시작해야 하는가”를 판단하고, DOMAIN-SUFFIX는 “규칙 처리를 거치는 요청에 어떤 정책을 적용할 것인가”를 판단합니다. Config의 Rule에 도메인을 추가해도 시스템 차원의 On Demand 조건이 자동으로 생성되지는 않습니다. 따라서 접미사 규칙을 추가하는 것만으로 연결이 끊긴 상태에서 자동 연결되도록 보장할 수 없습니다.
시스템의 On Demand 도메인 평가는 EvaluateConnection과 관련 연결 규칙으로 표현할 수 있으며, DNS 조회 또는 연결 가능성 판단을 바탕으로 연결 여부를 결정할 수도 있습니다. 모든 도메인 요청이 반드시 연결을 시작하는 단순한 스위치는 아닙니다. 현재 Shadowrocket 화면에 도메인 평가 설정이 실제로 제공되는 경우에만 해당 메뉴에서 설정하세요. 시스템 정책 이름을 앱의 고정 메뉴로 간주해서는 안 됩니다.
| 설정 또는 키워드 | 처리 대상 | 확인할 사항 |
|---|---|---|
| On Demand 도메인 조건 | 연결을 시작하기 전의 On Demand 판단 | 해당 기능 제공 여부, 평가 동작, DNS 및 연결 가능성 조건 |
DOMAIN-SUFFIX | 도메인 접미사에 일치하는 요청 | 도메인이 정확한지, 앞선 규칙이 해당 항목에 먼저 적용되는지 |
GEOIP | 대상 IP의 지리적 분류 | IP 분류와 현재 구성의 규칙 순서 |
IP-CIDR | 지정된 IPv4 주소 범위 | 네트워크 주소, 마스크, 대상 정책 |
FINAL | 앞선 규칙에 일치하지 않은 요청 | 최종 적용 정책이 예상과 맞는지 |
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
이 코드는 트래픽 분기 순서를 이해하기 위한 예시일 뿐, 완전한 구성이나 On Demand 설정 파일이 아닙니다. example.com과 하위 도메인은 첫 번째 규칙에 먼저 일치합니다. 이후 요청은 주소 범위와 GEOIP 기준으로 확인하며, 어디에도 일치하지 않으면 FINAL이 처리합니다. PROXY는 현재 사용할 수 있는 프록시 정책과 연결되어야 합니다. 예시를 붙여 넣는 것만으로 연결 구성이 완료되는 것은 아닙니다.
- 일반 네트워크를 사용해 테스트 도메인이 조회되는지 확인하고 현재 연결 상태를 기록합니다.
- 화면에 도메인 On Demand 조건이 제공된다면 저장한 뒤 기기의 연결을 끊고 테스트 도메인에 새 요청을 보냅니다.
- VPN 연결 여부, 요청 성공 여부, 연결 후 적용된 Rule을 각각 확인하세요. 세 결과를 하나로 묶어 판단하지 마세요.
- DNS 캐시, 기존 장기 연결 또는 브라우저 캐시가 결과에 영향을 준다면 새 테스트 요청을 사용하세요. 이미 열린 페이지가 계속 표시된다는 이유만으로 트리거가 작동하지 않았다고 판단하지 마세요.
5. 자동 재연결과 규칙 충돌을 순서대로 점검
문제가 발생하면 먼저 어느 계층에서 오류가 났는지 확인한 뒤 설정을 변경하세요. 연결이 자동으로 시작되지 않으면 On Demand 스위치와 조건을 점검하고, 연결은 됐지만 대상에 접속할 수 없다면 기존 연결 구성, DNS, 트래픽 분기를 확인하세요. 구독 업데이트, 프로토콜 변경, Global Routing 조정, On Demand 조건 수정을 한꺼번에 하면 어떤 변경이 결과에 영향을 줬는지 파악하기 어렵습니다.
Home에서 연결을 끈 뒤 왜 다시 자동으로 연결되나요?
먼저 Settings → On Demand에서 자동 연결을 일시 중지한 다음 수동으로 연결을 끊으세요. Home의 연결 스위치만 조작하면 아직 유효한 On Demand 조건이 해제되지 않을 수 있습니다. 다음 네트워크 이벤트나 요청에 시스템 연결이 다시 시작될 수 있습니다. 그다음 시스템 VPN 구성에서 Connect On Demand 상태를 확인하세요.
집 Wi-Fi로 돌아왔는데 왜 연결이 유지되나요?
먼저 실제 SSID를 확인한 뒤 지정 Wi-Fi 예외가 일반 Wi-Fi 조건보다 앞에 있는지 살펴보세요. Disconnect와 Ignore도 구분해야 합니다. Disconnect는 연결을 끊겠다는 의미이고, Ignore는 이미 연결된 상태를 강제로 끊는다는 뜻이 아닙니다. 실제로 선택할 수 있는 동작은 화면에 표시되는 항목을 기준으로 하세요.
셀룰러로 전환했는데 왜 바로 연결되지 않나요?
먼저 Wi-Fi를 끄고 셀룰러 데이터가 사용 가능한지 확인한 뒤 새 요청을 보내고 시스템 VPN 상태를 살펴보세요. 셀룰러 조건이 켜져 있는지, 더 앞에서 일치하는 조건이 있는지도 확인하세요. 수동 연결도 실패한다면 자동 규칙을 더 추가하지 말고 Home으로 돌아가 기존 구성을 점검하세요.
VPN에 연결됐는데 왜 대상 트래픽은 DIRECT로 처리되나요?
Home에서 Global Routing을 확인하고 Config에서 현재 Rule의 적용 순서를 살펴보세요. Direct 모드이거나 앞선 DIRECT 규칙이 먼저 적용되면 이런 현상이 나타날 수 있습니다. On Demand를 변경해도 이미 결정된 트래픽 분기가 자동으로 PROXY로 바뀌지는 않습니다.
연결 프로토콜과 트리거 조건도 따로 확인해야 합니다. 기존 구성에서 Shadowsocks, VMess, VLESS, Trojan, Hysteria2 또는 WireGuard를 사용하더라도 프로토콜 항목은 연결 방식을 결정하고, On Demand는 연결을 요청할 시점을 결정합니다. 자동 트리거는 작동했지만 핸드셰이크가 실패한다면 Wi-Fi 이름이 일치하지 않은 것으로 단정하지 말고 해당 구성에서 요구하는 주소, 포트, 인증 항목을 확인하세요.
6. On Demand를 끄고 수동 연결로 되돌리는 방법
자동 트리거를 껐다고 해서 연결이 즉시 끊기거나 Direct 모드로 바뀌는 것은 아닙니다. 먼저 Settings → On Demand에서 관련 자동 조건을 끄고 저장한 뒤 시스템 VPN 구성을 확인하세요. 현재 연결을 끊어야 한다면 Home으로 돌아가 수동으로 연결을 해제합니다. 이후에는 사용자가 직접 연결을 시작하고, Global Routing과 Config의 규칙을 각각 점검해야 합니다.
- 복구하기 쉽도록 기존 조건의 순서와 현재 구성 이름을 기록하고, 작동 중인 연결 항목은 서둘러 삭제하지 마세요.
- On Demand를 끈 뒤 현재 VPN 구성의 Connect On Demand 상태를 확인해 자동 조건이 계속 적용되지 않는지 살펴보세요.
- Home에서 수동으로 연결을 끊고 Wi-Fi 전환과 새 네트워크 요청을 각각 한 번씩 수행해 자동 연결이 다시 시작되는지 확인하세요.
- 자동 재연결이 계속되면 기기의 다른 VPN 구성이나 기기 관리 정책이 연결을 제어하는지 확인하세요. Home 스위치를 반복해서 바꾸는 것만으로 해결하려고 하지 마세요.
- 다시 사용할 때는 수동으로 연결하고 Global Routing을 확인하세요. On Demand를 다시 켤 때는 조건 하나부터 시작해 차례로 복원합니다.