공식 매뉴얼 / 증상별 문제 해결
Shadowrocket 문제 해결 가이드
연결 상태부터 시작해 서버, 모드, 규칙과 DNS를 차례로 확인하세요. 한 번에 한 항목만 변경하고 같은 대상으로 다시 테스트하면 원인을 구분하기 쉽습니다.
처음 설정한다면 사용 설명서를 먼저 읽고, 빠른 시작 순서에 따라 가져오기와 연결을 완료하세요. 이 페이지는 연결 실패 후 참고하는 문제 해결 매뉴얼입니다. 기본 설정을 마친 경우 아래 목차에서 해당 증상을 바로 선택할 수 있습니다.
아래 절차는 사용자 본인의 구독 또는 서버 정보가 있다는 전제하에 안내합니다. 앱의 일회성 구매와 회선 요금제는 별개입니다. 이 사이트는 공식 웹사이트이자 공식 매뉴얼이며, 서버 노드·구독·서비스 제공업체를 제공하거나 판매 또는 추천하지 않습니다.
01 스위치가 켜지지 않음: VPN 구성 권한 확인
Home에서 스위치를 켜도 유지되지 않는다면 우선 이 기기에서 연결을 설정하는 단계의 문제인지 확인하세요. 웹페이지가 열리지 않는 증상과는 다릅니다. 스위치를 누른 뒤 시스템 권한 요청이 나타나는지, 곧바로 꺼지는지, 상태 문구만 바뀌는지 관찰하세요. 세 가지 상황을 구분해 기록하면 다음 점검 방향을 정하기 쉽습니다. 이 단계에서 구독을 반복해서 업데이트해도 시스템 권한 문제는 해결되지 않는 경우가 많으며, DNS부터 변경할 필요도 없습니다.
기본 네트워크와 시스템 권한 요청 확인
먼저 Shadowrocket 연결을 끄고 Safari에서 현재 네트워크로 접속할 수 있는 페이지를 여세요. 공용 Wi-Fi에서 로그인이 필요하다면 네트워크 인증을 먼저 완료한 뒤 앱으로 돌아오세요. 기본 네트워크가 연결되지 않은 상태에서는 VPN 스위치가 잠시 켜져도 원격 서비스가 정상이라는 뜻이 아닙니다. 셀룰러 데이터를 사용할 때는 시스템 설정에서 앱의 셀룰러 데이터 권한도 확인하세요. Wi-Fi에서만 사용할 수 있는 상태인지 점검할 수 있습니다.
처음 연결할 때 시스템에서 VPN 구성을 추가할지 묻는 메시지가 나타날 수 있습니다. 요청한 앱이 Shadowrocket인지 확인한 뒤 시스템 안내에 따라 허용하고, 기기에서 요구하는 인증을 완료하세요. 이전에 요청을 취소했다면 Home으로 돌아가 다시 연결을 시도하고 시스템 메시지가 다시 나타나는지 확인하세요. 메시지가 표시되지 않는다고 권한이 이미 부여된 것은 아닙니다. 시스템 설정의 VPN 관리 영역에서 해당 구성이 있는지 확인하세요.
시스템 메뉴 이름과 위치는 시스템 언어 및 버전에 따라 달라질 수 있으므로 설정에서 VPN을 검색하세요. 정해진 메뉴 경로만 찾기보다 구성이 존재하는지, 활성화할 수 있는지, 기기에 제한이 있는지 확인하는 것이 중요합니다. 조직에서 관리하는 기기는 새 VPN 추가가 제한될 수 있습니다. 이 경우 기기 관리자에게 확인해야 하며, 서버 항목을 수정해 기기 정책을 우회할 수는 없습니다.
연결 충돌을 확인한 뒤 필요한 구성만 다시 설정하세요
기기에 다른 VPN 연결도 저장되어 있다면 현재 네트워크를 어떤 구성이 처리하는지 먼저 확인하세요. VPN 통로를 사용하는 다른 기능을 일시 중지한 뒤 Shadowrocket만 따로 테스트합니다. 일부 네트워크 필터 기능도 관련 시스템 기능을 사용하므로, 설정을 한꺼번에 모두 끄지 말고 하나씩 비활성화해 확인하세요. 특정 기능을 끈 뒤 정상화되면 해당 기능을 다시 켜서 재시험해야 충돌 여부를 확인할 수 있습니다.
스위치를 껐는데 다시 연결된다면 On Demand를 확인하세요. 네트워크 조건에 따라 자동 연결이 실행되면 수동으로 연결을 끊은 뒤에도 통로가 다시 설정될 수 있습니다. 문제를 확인하는 동안 조건을 기록하고 On Demand를 일시적으로 끈 뒤 수동 스위치로 전체 과정을 테스트하세요. 요청 시 자동 재연결되는 현상을 스위치 고장으로 오해하지 말고, 조건을 기록하기 전에 자동 연결 설정을 바로 삭제하지 마세요.
시스템에 Shadowrocket 구성이 있는데 활성화할 때마다 즉시 실패한다면, 현재 연결을 끊고 기기를 재시동한 뒤 한 번 더 테스트하세요. 문제가 계속 재현될 때만 해당 시스템 VPN 구성을 제거하고 앱에서 다시 추가를 요청하는 방법을 고려하세요. 작업 전에 앱 내 Config와 서버 정보를 저장하세요. 시스템 VPN 구성, Config 파일과 구독 목록은 서로 다른 항목이므로 다른 자료까지 함께 삭제하지 마세요.
이 단계의 점검이 완료됐는지 확인하는 방법
스위치가 켜진 상태로 유지되고 시스템 VPN 상태와 앱 표시가 일치하면 이 기기에서 통로가 설정된 것입니다. 다만 서버 인증, 도메인 조회 및 대상 접속까지 성공했다는 뜻은 아닙니다. 다음 단계로 ‘연결 후 인터넷이 되지 않음’을 확인하세요. 여전히 곧바로 연결이 끊긴다면 오류가 발생한 위치와 원문을 기록하고, 권한 승인 전인지 후인지 또는 네트워크 전환 중인지 함께 적어 두세요. 이런 정보가 단순히 ‘연결 안 됨’이라고 기록하는 것보다 원인을 찾는 데 도움이 됩니다.
02 연결됐지만 인터넷이 되지 않음: 모드와 규칙 구분
VPN 표시가 나타난 것은 기기에 로컬 통로가 설정되었다는 뜻이지, 모든 연결이 대상까지 정상적으로 전달된다는 뜻은 아닙니다. 선택한 서버, Global Routing 모드, 현재 Config와 DNS가 결과에 영향을 줍니다. 원래 접속할 수 있어야 하는 테스트 대상 두 개를 준비하세요. 하나는 로컬 네트워크 확인용, 다른 하나는 기존 서버의 전달 여부 확인용입니다. 두 대상 모두 익숙한 일반 페이지를 사용하고, 특정 앱의 콘텐츠 로딩만으로 판단하지 마세요.
서버를 고정한 뒤 세 가지 모드를 비교하세요
Home으로 돌아가 SERVER에서 실제 선택된 항목을 확인하세요. 목록에 표시된다고 선택된 것은 아니며, 구독 업데이트 후 항목 순서가 바뀌어 잘못 선택했다고 착각할 수도 있습니다. 선택된 항목에서 Connectivity Test를 실행하고 결과를 기록하세요. 테스트에 수치가 나타나도 해당 경로에서 응답을 받았다는 뜻일 뿐, 모든 웹사이트와 전송 방식, DNS 조회가 정상이라는 의미는 아닙니다.
이어서 Global Routing을 확인하세요. Config 모드는 현재 Config에 따라 트래픽을 처리하고, Proxy 모드는 현재 서버를 통한 접속을 확인하며, Direct 모드는 로컬 네트워크 경로와 비교할 때 사용합니다. 문제를 찾기 위한 임시 전환은 장기적인 해결책이 아닙니다. 기존 모드를 기록한 뒤 전환하고, 매번 같은 테스트 대상을 사용하세요. 테스트가 끝나면 원래 모드로 복원합니다.
| 모드 | 점검 목적 | 결과 해석 |
|---|---|---|
| Config | 현재 규칙과 정책 확인 | 이 모드에서만 실패하면 규칙 일치 여부부터 확인 |
| Proxy | 현재 서버 경로 확인 | 실패하면 서버와 DNS 조회를 계속 확인 |
| Direct | 기본 네트워크와 비교 | 실패하면 먼저 로컬 네트워크 조건 확인 |
Proxy에서는 접속되지만 Config에서는 되지 않는다면 비밀번호를 계속 확인할 상황은 아닙니다. Config에서 현재 활성화된 파일을 확인하고, 대상이 REJECT에 일치했는지, 존재하지 않거나 올바르게 설정되지 않은 정책으로 지정됐는지 살펴보세요. Direct는 정상이지만 Proxy가 실패하더라도 곧바로 규칙 문제라고 단정할 수는 없습니다. 서버 시간 초과와 DNS 항목을 확인해 원인을 더 구분하세요.
실제로 일치한 결과를 바탕으로 규칙 순서 확인
규칙은 보통 순서대로 일치하므로 앞쪽의 포괄적인 규칙이 연결을 먼저 처리할 수 있습니다. DOMAIN-SUFFIX는 지정된 도메인과 하위 도메인에 적용되고, IP-CIDR은 IP 주소 대역에 적용되며, FINAL은 앞에서 일치하지 않은 연결을 처리합니다. 문제를 찾을 때는 파일에서 관련 있어 보이는 규칙만 찾지 말고 실제 대상과 규칙 일치 결과를 확인하세요. 한 웹페이지도 여러 하위 도메인에 요청을 보낼 수 있으므로, 메인 페이지가 열린다고 이미지와 로그인 API까지 정상이라는 뜻은 아닙니다.
[Rule]
DOMAIN-SUFFIX,ads.example.com,REJECT
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
위 내용은 규칙 순서의 예시이며 모든 네트워크에 적용되는 완전한 설정은 아닙니다. 더 구체적인 ads.example.com을 포괄적인 example.com보다 앞에 두어야 앞의 접미사 규칙이 먼저 처리하지 않습니다. GEOIP는 주소의 지역 정보를 사용하므로 모든 도메인 규칙을 대신할 수 없습니다. 이 예시를 현재 사용하는 Config에 통째로 덮어쓰지 마세요. Config를 복사한 뒤 문제가 확인된 규칙 하나만 수정하세요.
앱 문제와 네트워크 문제 구분
Safari에서는 접속되는데 특정 앱만 실패한다면 해당 앱이 별도 도메인, 실시간 통신 또는 추가 전송 방식을 사용하는지 확인하세요. 앱을 다시 열면 새 연결을 만들 수 있지만 로그인 정보를 바로 삭제하지는 마세요. 페이지 콘텐츠가 캐시에서 제공되면 오래된 내용이 보여도 테스트가 성공한 것은 아닙니다. 새로고침해 새 요청이 완료됐는지 확인한 뒤 연결 기록에서 해당 시각과 대상을 확인하세요.
규칙을 하나 수정할 때마다 같은 요청을 다시 보내 오류가 사라졌는지 확인하세요. 네트워크를 바꾼 뒤에만 정상화된다면 그 조건을 기록하고 로컬 네트워크와 DNS 조회를 계속 확인하세요. 우연히 복구된 현상을 마지막으로 한 무관한 수정의 결과로 보지 마세요. 더 짧은 점검 목록은 스위치는 켜졌지만 인터넷이 안 될 때 단계별 점검을 확인하세요. 처음 연결하는 방법은 사용 설명서를 참고하세요.
03 서버 시간 초과: 전송·TLS·인증 구분
‘시간 초과’는 제한 시간 안에 특정 단계가 완료되지 않았다는 뜻이지, 비밀번호가 틀렸다는 뜻은 아닙니다. 도메인 조회 실패, 주소에 연결할 수 없음, 포트 연결 실패, TLS 핸드셰이크 중단, 서버 무응답 등 여러 원인이 기다린 뒤 실패하는 증상으로 나타날 수 있습니다. 먼저 네트워크, 서버 항목과 오류 문구를 기록한 뒤 주소와 포트, 전송 매개변수, TLS, 인증 순서로 확인하세요. 처음부터 모든 항목을 동시에 변경하지 마세요.
같은 항목으로 네트워크를 바꿔 비교 테스트
같은 SERVER 항목을 유지한 채 사용 가능한 Wi-Fi와 셀룰러 데이터에서 각각 테스트하세요. 한 네트워크에서만 실패한다면 해당 네트워크의 접속 조건, DNS 조회, 주소 체계 또는 전송 제한이 원인일 수 있습니다. 이 결과만으로 항목을 바로 삭제하지 마세요. 같은 네트워크에서 사용자가 이미 보유한 다른 항목은 정상이라면 현재 서버, 포트 또는 프로토콜 매개변수로 범위를 좁힐 수 있습니다. 앱 전체의 문제로 볼 필요는 없습니다.
서버 주소에 불필요한 공백, 줄 바꿈 또는 복사할 때 붙은 문자가 있는지 확인하세요. 서비스 제공업체가 안내한 대로 주소와 포트를 각 항목에 나눠 입력해야 하며, 전체 웹 주소를 호스트명 항목에 넣지 마세요. 도메인을 사용하는 경우 예상한 주소를 계속 가리키는지 확인하세요. 제공업체가 접속 지점을 변경했다면 사용자 본인의 최신 설정을 기준으로 해야 합니다. 익숙한 포트 번호라고 임의로 바꾸지 말고 서버에서 실제로 수신하는 포트와 일치시켜야 합니다.
Connectivity Test의 테스트 방식은 실제 서비스 이용 방식과 다를 수 있습니다. 특정 항목에서 결과가 나오지 않는다고 모든 요청이 반드시 실패하는 것은 아닙니다. 반대로 결과가 나와도 TLS, 인증과 모든 전송 방식이 정상이라는 뜻은 아닙니다. 실제 페이지 요청도 해 보고 오류가 어느 단계에서 멈추는지 확인하세요. 지연 시간 테스트만 반복해도 진단에 필요한 정보가 충분히 늘어나지는 않습니다.
일반 값을 적용하지 말고 프로토콜 매개변수를 하나씩 확인하세요
Add Server 또는 항목 편집 화면에서 프로토콜 유형부터 확인하세요. Shadowsocks의 암호화 방식과 비밀번호, VMess 또는 VLESS의 UUID, Trojan 인증 정보는 서버 설정과 일치해야 합니다. 서로 다른 프로토콜의 항목을 혼용할 수 없습니다. TLS라고 표시되어 있어도 전송 경로, 호스트명과 포트를 그대로 적용할 수 있는 것은 아닙니다. 사용자가 보유한 원래 매개변수와 항목별로 대조하세요.
| 항목 그룹 | 확인할 내용 | 자주 혼동하는 부분 |
|---|---|---|
| 주소와 포트 | 대상 호스트, 수신 포트 | 관리 페이지 주소를 서버 주소로 입력 |
| 인증 | UUID, 비밀번호 또는 키 | 복사 중 공백이 포함됨, 이전 인증 정보 사용 |
| TLS | 서버 이름, 인증서, 기기 시간 | 연결 주소와 인증서 이름을 반드시 같게 설정 |
| 전송 | 유형, Host, 경로 등 | 경로 앞의 슬래시를 빠뜨리거나 대소문자 변경 |
TLS 서버 이름은 인증서 확인과 핸드셰이크에 사용되며 연결 주소와 다를 수 있습니다. Host와 경로는 전송 계층에서 요구하는 항목일 수 있으므로 서버 도메인으로 임의 대체할 수 없습니다. 인증서 오류가 나타나면 먼저 시스템 날짜와 시간이 올바른지 확인한 뒤 이름과 인증서의 유효성을 점검하세요. 인증서 검증을 끄는 것은 정상적인 해결 방법이 아닙니다. 이름 불일치나 잘못된 연결 대상을 감출 수 있습니다.
서버 측 확인이 필요한 범위 구분
항목이 모두 일치하고 여러 네트워크에서 실패하지만 기본 네트워크는 정상이라면, 사용자는 본인의 서비스 제공업체에 접속 지점의 유효성, 인증 정보 변경 여부와 서버의 수신 상태를 확인해야 합니다. 발생 시각, 프로토콜, 오류 유형과 완료한 비교 테스트는 전달할 수 있지만 공개 기록에 인증 정보를 전부 올리지 마세요. 클라이언트에서 DNS를 바꿔도 응답을 멈춘 원격 서버를 복구할 수는 없습니다.
WireGuard는 핸드셰이크와 실제 데이터 전송 여부를 따로 확인해야 합니다. Hysteria2는 현재 네트워크에서 UDP를 실제로 사용할 수 있는지도 고려해야 합니다. ‘모든 환경에서 호환’되도록 옵션을 전부 켜지 마세요. 각 프로토콜에는 서버에서 명시적으로 요구한 매개변수만 설정하세요. 필요하다면 VMess와 VLESS 항목 안내에서 항목의 의미를 먼저 확인한 뒤 수정 여부를 결정하세요.
04 구독 업데이트 실패: 가져오기와 내용 해석 구분
구독을 가져오려면 최소 두 단계가 필요합니다. 주소에서 내용을 받아온 다음, 그 내용을 서버 항목으로 해석해야 합니다. 주소가 열려도 유효한 구독 내용이 반환된다는 뜻은 아니며, 항목을 가져와도 현재 연결할 수 있다는 뜻은 아닙니다. 주소 조회, 반환 내용, 항목 해석, 서버 연결 중 어느 단계에서 실패했는지 먼저 확인하세요. 기존 서버를 사용할 수 없을 때 문제를 무조건 구독 업데이트 탓으로 돌리지 마세요.
주소와 계정 상태부터 확인
사용자 본인의 서비스 제공업체에서 구독 주소를 다시 복사한 뒤 시작 부분, 끝 부분과 쿼리 매개변수가 완전한지 확인하세요. 계정을 식별하는 인증 정보가 포함된 주소는 문자 하나만 빠져도 접속 거부가 반환될 수 있습니다. 복사할 때 안내 문구, 따옴표 또는 끝의 문장 부호가 주소 항목에 들어가지 않도록 하세요. 길어 보이는 쿼리 매개변수도 임의로 삭제하지 마세요. 긴 주소는 비공개 환경에서 확인하고 공개 게시판에 붙여 넣지 마세요.
페이지에서 먼저 로그인하라고 하거나 계정 관련 안내를 반환한다면, 바로 읽을 수 있는 구독 내용과는 다른 접근 방식입니다. 서비스 제공업체가 클라이언트용으로 안내한 구독 주소를 사용하고 관리 페이지 주소를 대신 쓰지 마세요. 구독 내용은 여러 인코딩이나 형식을 사용할 수 있으므로 브라우저에 텍스트가 보인다는 이유만으로 오류라고 판단할 수 없습니다. 웹페이지 본문을 저장해 Config 파일처럼 가져오지 마세요.
사용자가 이미 이용 중인 서비스의 유효 기간과 사용 제한도 확인하세요. 앱의 일회성 구매와 원격 서비스 요금은 별개이며, 앱을 한 번 구매해도 회선 요금제가 포함되지는 않습니다. 앱 구매에 성공해도 서버 정보가 자동 생성되지는 않습니다. 이 사이트는 가져오기와 점검 방법만 안내하며 구독 주소를 제공하지 않습니다. 계정 상태나 주소 유효성은 사용자가 본인의 서비스 제공업체에 확인해야 합니다.
반환 결과에 따라 다음 단계를 결정하세요
업데이트 중 네트워크 시간 초과가 발생하면 기본 네트워크를 확인한 뒤 구독 도메인의 조회 및 접속 경로를 점검하세요. 인증 오류라면 주소가 만료되었는지, 인증 정보가 재설정되었는지 먼저 확인하세요. 해석 실패가 나타나면 반환 내용이 구독 형식인지, 로그인 페이지나 안내 페이지 또는 빈 내용으로 바뀌지 않았는지 확인합니다. 모든 오류를 ‘서버 노드 문제’로 단정하지 마세요. 서버 목록을 가져오기도 전에 실패하는 경우도 있습니다.
사용 가능한 연결이 이미 있을 때는 현재 연결 상태, 라우팅과 DNS 조회가 구독 요청에 영향을 줄 수 있습니다. 주소는 그대로 둔 채 연결을 끊은 상태와 현재 연결이 사용 가능한 상태에서 각각 한 번씩 시도하고 차이를 기록하세요. 이 테스트는 주소에 접속하는 경로를 확인하기 위한 것이지 특정 모드를 계속 사용하라는 뜻이 아닙니다. 두 상태 모두 실패하면 기본 네트워크를 바꿔 재시험하세요. 새로고침만 계속하는 방식으로 비교를 대신하지 마세요.
짧은 시간 동안 업데이트를 반복하면 원격 요청 제한이 걸릴 수 있습니다. 제한 안내가 나타나면 서비스 제공업체가 안내한 조건에 따라 기다리고, 같은 주소를 계속 삭제하고 다시 추가하지 마세요. 다시 가져오기 전에 구독 기록을 수정해야 한다면 기존 기록 이름과 필요한 설정을 먼저 저장하고, 이전 항목을 다른 Config에서 참조하는지 확인하세요. 무턱대고 목록을 비우면 정상적으로 사용할 수 있던 선택 관계까지 함께 깨질 수 있습니다.
가져온 뒤 목록과 선택된 항목 확인
업데이트가 끝나면 항목 수와 이름이 예상한 대로인지 확인한 뒤 현재 선택된 SERVER를 살펴보세요. 이전 항목이 삭제되거나 이름이 바뀌면 기존 선택이 원하는 접속 지점을 가리키지 않을 수 있습니다. 사용자가 보유한 항목 하나를 선택해 Connectivity Test를 실행한 뒤 실제 페이지를 요청하세요. 목록 업데이트, 올바른 항목 선택, 연결 성공의 세 단계가 모두 통과해야 업데이트 목적을 달성했다고 볼 수 있습니다.
구독으로 생성된 항목을 직접 수정하면 다음 업데이트 때 변경 내용이 덮어써질 수 있습니다. 차이를 유지해야 한다면 별도로 기록하고, 필요하면 원래 구독에 영향을 주지 않는 복사본에서 확인하세요. 구독은 보통 서버 정보를 관리하고 Config는 규칙과 기타 설정을 제어하므로, 둘은 서로를 자동으로 대체하지 않습니다. 서버를 가져온 뒤에도 기존 사용 방식에 맞는 Config와 Global Routing인지 확인해야 합니다.
05 속도가 느림: 지연 시간·전송량·특정 사이트 응답 구분
‘느리다’는 증상을 먼저 관찰 가능한 형태로 나눠 보세요. 페이지 로딩이 시작되기까지 오래 걸리는지, 로딩 후 콘텐츠 다운로드가 느린지, 동영상이 반복해서 버퍼링되는지, 특정 사이트만 응답이 늦는지 확인합니다. 각 증상은 서로 다른 단계와 관련될 수 있습니다. Connectivity Test 수치는 주로 테스트 경로의 응답을 비교하는 데 쓰이며 다운로드 속도로 바로 환산할 수 없습니다. 테스트 수치가 낮은 서버도 현재 시간대에 더 높은 처리량을 제공한다고 단정할 수 없습니다.
비교 가능한 테스트 조건 설정
같은 기기, 같은 Wi-Fi 위치, 같은 서버와 같은 대상 파일을 사용하고 먼저 기기의 대용량 네트워크 작업을 일시 중지하세요. 클라우드 동기화, 시스템 업데이트와 동영상 재생이 네트워크를 함께 사용하면 테스트 결과를 비교하기 어렵습니다. 한 번의 테스트에서 서버와 네트워크를 동시에 바꾸지 마세요. 결과가 달라져도 어느 요인이 영향을 줬는지 알 수 없습니다. 한 번에 하나씩 비교하고 대략적인 시간도 기록하세요.
먼저 연결을 끈 상태에서 일반 페이지가 안정적으로 열리는지 확인한 뒤 연결을 켜고 같은 대상을 테스트하세요. 연결을 끈 상태에서도 확연히 느리다면 Wi-Fi 신호, 라우터 부하 또는 네트워크 접속 문제부터 해결해야 합니다. 셀룰러 데이터의 신호와 네트워크 혼잡도 달라질 수 있으며, 신호 막대 수만으로 전송 품질을 완전히 판단할 수 없습니다. 프로토콜을 바로 수정하기보다 신호가 안정적인 곳으로 이동해 다시 테스트하세요.
짧은 시간에 대용량 파일 테스트를 여러 번 반복하지 마세요. 속도 테스트는 사용자의 네트워크 데이터를 소모하고 기기를 뜨겁게 만들 수 있습니다. 확인할 것은 안정성, 첫 응답까지 걸리는 시간과 전송이 지속되는 양상이지 특정 숫자가 아닙니다. 처음 접속할 때만 오래 기다리고 이후 요청은 정상이라면 서버 대역폭 부족으로 단정하기 전에 DNS, 첫 핸드셰이크와 캐시를 확인하세요.
영향 범위에 따라 점검 방향 선택
여러 대상이 느리지만 Direct 연결은 정상이라면 현재 서버 경로, 원격 서버 부하와 프로토콜 전송을 중점적으로 확인하세요. 특정 사이트만 느리다면 사이트 자체, 콘텐츠 배포 위치 또는 해당 도메인의 분기 결과가 원인일 수 있습니다. 규칙을 조정하기 전에 연결 기록에서 실제 대상에 어떤 정책이 적용됐는지 확인하세요. 모든 도메인을 Proxy로 바꾸면 오류를 감출 수는 있어도 원래 문제를 개선하지 못할 수 있습니다.
이미지는 빠르지만 동영상이 버퍼링되거나 웹페이지는 정상인데 실시간 통신이 불안정하다면 연결 유형의 차이를 고려하세요. 일부 기능은 UDP에 의존하고, 일부는 오래 유지되는 연결을 사용합니다. TCP 테스트만 통과했다고 모든 앱 사용 상황이 정상이라는 뜻은 아닙니다. 사용자가 본인의 서비스 제공업체에 해당 항목이 필요한 전송 방식을 지원하는지 확인하고 로컬 네트워크 조건을 살펴보세요. 지연 테스트 하나로 프로토콜의 전체 기능을 판단하지 마세요.
Wi-Fi와 셀룰러 데이터 사이를 전환해도 같은 서버에서 느린 증상이 계속되면 서버나 원격 경로를 우선 확인해야 합니다. 한 네트워크에서만 문제가 나타난다면 서버 항목은 그대로 두고 로컬 연결, 주소 체계와 네트워크 접속 조건을 살펴보세요. 같은 네트워크에서 사용자가 보유한 다른 항목은 정상이라면 그 증거도 기록해 불필요한 설정 변경을 줄이세요.
MTU와 재시도는 신중하게 점검
작은 요청은 정상이지만 큰 요청에서 멈추는 경우에는 일부 환경에서 경로 MTU와 관련될 수 있습니다. 하지만 이는 후속 점검 항목이지 일반적인 첫 단계는 아닙니다. 먼저 패킷 손실, 서버 부하와 대상 사이트 문제를 제외하세요. 현재 프로토콜과 설정에서 해당 매개변수를 실제로 제공하고 원래 값을 저장해 둔 경우에만 알려진 네트워크 조건을 바탕으로 하나씩 테스트하세요. 출처를 알 수 없는 공통 값을 복사하거나 모든 속도 문제를 MTU 탓으로 돌리지 마세요.
계속 연결을 끊었다가 다시 연결하면 핸드셰이크와 DNS 조회 비용이 늘어나고 유지 중인 장시간 연결도 끊길 수 있습니다. 요청을 적절한 시간 동안 관찰하고 새 연결 설정이 느린 경우와 이미 설정된 연결의 전송이 느린 경우를 구분하세요. 재연결 직후 잠시 정상화됐다가 데이터 사용량이 많을 때 다시 느려진다면 그 양상을 기록하세요. 반복 재연결을 해결책으로 삼지 마세요. 이런 조건은 원격 제한, 경로 혼잡 또는 기기 온도 상태를 판단하는 데 도움이 됩니다.
성공 기준은 같은 조건에서 대상 작업이 안정적으로 복구되는 것이지 테스트 수치가 우연히 좋아지는 것이 아닙니다. 원인을 찾은 뒤 원래 목적에 맞는 Global Routing으로 복원하고 근거가 없는 테스트 매개변수는 되돌리세요. 예외 규칙을 유지해야 한다면 대상과 이유를 기록하세요. 임시 설정을 잊으면 다음 점검에서 설명할 수 없는 변수가 늘어납니다.
06 DNS 문제: 도메인 조회와 연결을 따로 확인
DNS는 도메인을 주소로 변환합니다. 서버 지연 테스트 결과는 있지만 웹페이지에서 호스트를 찾을 수 없다고 표시되거나 로딩이 오래 걸리고 일부 리소스가 보이지 않는다면 도메인 조회를 별도 단계로 확인하세요. 브라우저의 인증서 오류와 도메인 조회 실패는 서로 다른 문제라는 점도 기억하세요. 구체적인 도메인, 오류 문구와 발생 당시 연결 모드를 기록한 뒤 요청이 주소를 받았는지, 어떤 유형의 주소를 받았는지 확인하세요.
현재 Config와 조회 경로부터 확인
Config에서 실제로 활성화된 파일을 확인하고 DNS에 영향을 주는 설정을 찾으세요. 활성화되지 않은 파일만 수정하면 실제 동작은 바뀌지 않습니다. 사용자 지정 DNS 서비스, Host 매핑 또는 기타 DNS 관련 재정의가 있다면 원래 값을 먼저 기록하고 현재 요청을 어떤 계층에서 처리하는지 구분하세요. 시스템, 라우터와 앱 내 설정이 함께 관여할 수 있으므로 매번 같은 DNS 경로를 사용한다고 가정하지 마세요.
문제가 발생한 전체 도메인 하나를 정상 도메인 하나와 비교하세요. 앱에서 사용할 수 있는 진단 기능과 연결 기록을 통해 DNS 결과가 있는지, 시간 초과가 발생했는지, 후속 연결이 진행되는지 살펴봅니다. 도메인이 주소를 받았지만 이후 TCP 또는 TLS에서 실패한다면 문제는 이미 네트워크와 핸드셰이크 단계로 넘어간 것입니다. DNS를 반복해서 바꾸면 대상 주소만 달라질 뿐 실제 장애는 해결되지 않을 수 있습니다.
사용자 지정 DNS 서비스에도 네트워크 연결이 필요합니다. 해당 주소를 조회하는 과정이 아직 완료되지 않은 DNS 조회에 의존한다면 시작 단계에서 의존성 문제가 발생할 수 있습니다. 설정에서 DNS 요청이 실제로 어디로 향하는지, 연결 전후에 동작이 달라지는지 확인하세요. DNS 서비스 변경, Global Routing 수정과 규칙 삭제를 동시에 진행하면 어느 단계에서 조회 경로가 바뀌었는지 알 수 없습니다.
Host, IPv6와 네트워크 차이 확인
오래된 Host 매핑은 도메인을 예전 주소로 고정해 정상적인 DNS 변경을 가릴 수 있습니다. 먼저 Config 복사본에서 문제 도메인과 관련된 매핑을 비활성화한 뒤 다시 요청하세요. 콘텐츠 배포를 사용하는 사이트는 주소를 고정하면 현재 네트워크에 맞는 접속 위치를 선택하지 못할 수도 있습니다. 우연히 작동한 주소를 계속 고정하지 말고, 직접 주소에 접속한 결과를 도메인 전체 접속 테스트 대신 사용하지 마세요.
일부 네트워크는 IPv6 주소를 반환해도 IPv6 연결이 안정적이지 않을 수 있습니다. 특정 네트워크에서만 문제가 발생한다면 실패한 연결이 실제로 IPv4와 IPv6 중 어느 쪽을 사용했는지 확인하고 기본 네트워크 테스트 결과와 함께 살펴보세요. 특정 유형의 주소가 반환됐다는 이유만으로 DNS 오류라고 단정하지 마세요. 주소 체계 관련 설정을 임시로 조정한다면 원래 값을 기록하고 네트워크를 바꾼 뒤에도 다시 확인하세요. 한 환경의 문제를 해결하면서 다른 환경을 망가뜨리지 않도록 해야 합니다.
로컬 네트워크 기기 이름, 내부 도메인과 공용 도메인에는 서로 다른 DNS 경로가 필요할 수 있습니다. 공용 DNS 서비스는 로컬 기기 이름을 알지 못할 수 있으며, 회사나 가정의 내부 리소스는 현재 네트워크의 DNS 정보에 의존할 수 있습니다. 내부 리소스만 실패하면 로컬 네트워크와 접속 경로를 먼저 확인한 뒤 해당 도메인이 원격으로 잘못 전달되는지 살펴보세요. 모든 도메인을 같은 DNS 서비스로 보내는 것이 항상 맞는 방법은 아닙니다.
도메인 규칙과 주소 규칙의 차이 이해
DOMAIN과 DOMAIN-SUFFIX는 도메인에 직접 적용되고 IP-CIDR과 GEOIP는 주소를 대상으로 합니다. 일부 주소 규칙은 DNS 결과를 바탕으로 판단하므로 규칙 일치와 DNS는 완전히 독립적이지 않습니다. 점검할 때는 먼저 구체적인 도메인 규칙으로 정책을 확인하고 주소 규칙이 결과를 바꾸는지 살펴보세요. 대상 도메인을 확인하기도 전에 범위가 넓은 키워드 규칙을 계속 추가하면 관련 없는 요청까지 영향을 받을 수 있습니다.
[Rule]
DOMAIN,portal.example.com,DIRECT
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,10.0.0.0/8,DIRECT
FINAL,PROXY
이 예시는 구체적인 규칙을 포괄적인 규칙보다 먼저 배치해야 한다는 점을 설명할 뿐, 실제 네트워크 구성 방법을 대신하지 않습니다. portal.example.com은 설명용 도메인이며 실제 서비스 주소가 아닙니다. 수정한 뒤 새 연결에서 새 결과가 적용되도록 요청을 다시 보내세요. 시스템과 앱의 캐시 때문에 이전 결과가 한동안 유지될 수 있습니다. 저장 직후 변화가 없다고 설정이 적용되지 않았다고 단정하지 마세요.
DNS 조회가 정상이라고 판단하려면 도메인에서 적절한 주소를 얻고, 요청이 예상한 정책을 따르며, 실제 페이지가 로드되어야 합니다. 자세한 내용은 DNS 설정 및 조회 실패 점검을 참고하세요. 용어가 익숙하지 않다면 먼저 용어 빠른 확인을 읽고 현재 문제가 발생한 도메인으로 돌아와 점검하세요. DNS 설정 전체를 한 번에 다시 작성할 필요는 없습니다.
07 배터리 소모와 발열: 활동을 확인한 뒤 재연결 점검
VPN이 계속 켜져 있으면 통로를 지나는 데이터 처리가 관련 시스템 활동으로 집계됩니다. 하지만 배터리 화면의 비율이 별도의 전력 측정값인 것은 아닙니다. 다른 앱의 활동이 줄어든 시간대에는 Shadowrocket 비율이 올라갈 수도 있습니다. 이상 여부를 판단할 때는 전체 배터리 감소량, 화면 사용 시간, 네트워크 트래픽, 기기 온도와 반복 재연결 여부를 함께 살펴보세요. 하나의 비율만으로 앱에 문제가 있다고 단정할 수 없습니다.
동일한 조건으로 관찰 시간 설정
시스템 배터리 화면에서 선택한 시간대를 확인하고 화면이 켜져 있을 때와 꺼져 있을 때의 소모를 구분하세요. 관찰 시간 동안 동영상 시청, 파일 전송, 내비게이션 또는 클라우드 동기화가 있었는지 기록합니다. 대용량 네트워크 작업이 VPN을 통과하면 관련 처리량이 늘어나는 것은 자연스러운 일입니다. 이는 대기 중 계속 깨어 있는 문제와는 다릅니다. 사용 습관이 비슷한 두 시간대를 선택하고, 바빴던 하루와 기기를 거의 사용하지 않은 하루를 비교하지 마세요.
네트워크 유형과 신호 상태도 함께 기록하세요. 셀룰러 신호가 약하면 기기가 전송을 유지하는 데 더 많은 에너지를 쓸 수 있고, Wi-Fi 신호가 약한 곳에서도 재시도가 잦아질 수 있습니다. 특정 위치에서만 기기가 뜨거워진다면 규칙부터 수정하지 말고 네트워크가 안정적인 곳으로 이동해 관찰하세요. 충전 중 대용량 작업을 할 때만 온도가 올라간다면 작업을 멈추고 기기가 정상 온도로 돌아온 뒤 비교 테스트를 이어가세요.
대규모 시스템 업데이트 직후 또는 기기를 복원한 직후에는 백그라운드 정리와 동기화가 배터리에 영향을 줄 수 있습니다. 관련 활동이 안정될 때까지 기다린 뒤 연결이 지속적인 추가 소모를 유발하는지 판단하세요. 기기가 뜨거울 때 속도 테스트를 반복하지 마세요. 부하가 늘어 배터리 소모를 키우고 후속 성능 데이터의 비교도 어렵게 만듭니다. 시스템에서 온도 이상을 알리면 안내에 따라 먼저 조치하세요.
On Demand와 반복 연결 설정 확인
연결 기록을 열어 짧은 시간에 연결이 끊겼다가 반복해서 다시 설정되는지 확인하세요. 재연결할 때마다 DNS 조회, 핸드셰이크와 인증이 필요할 수 있으므로 연결을 안정적으로 유지할 때보다 추가 작업이 늘어납니다. Wi-Fi와 셀룰러 데이터 전환 시 재연결된다면 네트워크 안정성을 확인하세요. 특정 항목에서만 발생한다면 서버 시간 초과 항목으로 돌아가 필드와 원격 서버 상태를 점검하세요. 자동 재연결 횟수가 많다고 연결이 ‘더 안정적’이라는 뜻은 아닙니다.
On Demand 조건이 너무 자주 바뀌면 예상과 다르게 연결될 수 있습니다. 조건을 기록하고 통제된 환경에서 자동 연결을 일시적으로 끈 뒤 수동 연결로 반복 설정이 발생하는지 확인하세요. 끈 상태에서 안정적이라면 조건을 하나씩 복원해 어떤 조건에서 차이가 생기는지 찾아보세요. 스위치를 계속 수동으로 끄는 것을 장기적인 해결책으로 삼지 마세요. 자동 연결을 사용해야 한다면 명확하고 설명 가능한 조건을 설정하세요.
일부 프로토콜에는 네트워크 매핑이나 연결 상태를 유지하기 위한 연결 유지 설정이 있습니다. 간격이 너무 짧으면 네트워크 활동이 늘 수 있지만, 함부로 끄면 특정 네트워크에서 연결할 수 없게 될 수도 있습니다. 사용자가 원래 보유한 설정에 해당 매개변수가 명시되어 있고 용도를 이해하는 경우에만 조정하세요. 다른 프로토콜의 값을 그대로 복사하거나 대기 중 배터리 수치를 낮추기 위해 필요한 연결 기능을 희생하지 마세요.
백그라운드 작업과 진단 활동 줄이기
문제 해결 중에는 광범위한 Connectivity Test를 계속 실행하지 말고 진단 기록을 필요 이상으로 높은 상세 수준으로 유지하지 마세요. 테스트와 기록 자체도 처리 및 저장 작업을 발생시킵니다. 충분한 근거를 수집한 뒤 일상적으로 필요한 설정을 복원하고 일반적인 사용 중 배터리 변화를 관찰하세요. 사용자 Config에 추가 처리 작업이 있다면 복사본에서 하나씩 비활성화해 확인하고 내용을 이해하지 못한 채 바로 삭제하지 마세요.
연결 중 특정 앱이 계속 실패한 요청을 다시 보내는지도 확인하세요. 어떤 대상이 REJECT 처리된 뒤 일부 앱이 반복해서 요청할 수 있으며, DNS 오류도 비슷한 동작을 일으킬 수 있습니다. 이때 테스트 빈도만 낮추기보다 규칙이나 DNS 경로를 수정해야 합니다. 연결 기록에서 반복적으로 나타나는 대상을 당시 실행 중인 앱과 대조하면 백그라운드 트래픽과 통로 자체의 유지 활동을 구분하는 데 도움이 됩니다.
‘같은 네트워크에서 특정 항목만 계속 재연결될 때 기기가 뜨거워짐’처럼 재현할 수 있는 결론을 기록하세요. ‘켜면 배터리가 소모됨’처럼 막연하게 남기지 마세요. 대용량 작업을 중지하고 네트워크를 안정화한 뒤 필요한 설정을 복원해도 이상이 뚜렷하다면 민감 정보를 가린 기록과 배터리 관찰 조건을 저장해 추가로 문의하세요. 확인을 위해 기기를 계속 뜨겁게 두지 말고 초기화를 이 문제의 일반적인 해결 방법으로 사용하지 마세요.
08 업데이트 후 문제와 iPad: 기기별 차이 확인
업데이트 후 문제가 발생했다면 먼저 어느 단계에서 변화가 있었는지 확인하세요. 앱 업데이트, 시스템 업데이트, 구독 새로고침, Config 교체 또는 네트워크 변경이 원인일 수 있습니다. 같은 날 발생했다고 해서 원인이 같다고 단정할 수는 없습니다. 마지막으로 정상 사용했을 때의 서버, 모드와 네트워크를 기록하고 현재 상태와 비교하세요. 목표는 동작 차이를 찾아내는 것이지, 검증하지 않은 이전 Config로 모든 설정을 덮어쓰는 것이 아닙니다.
자료를 보존한 뒤 최소 범위로 다시 테스트
먼저 현재 Config, 사용자 지정 규칙과 필요한 서버 정보를 저장하세요. 어떤 정보가 구독에서 가져온 것이고 어떤 항목을 직접 입력했는지 확인해 재구성 후 복구할 수 있도록 합니다. 그런 다음 앱을 재시동하고 기존 설정으로 테스트하세요. 필요하다면 기기도 재시동해 시스템 네트워크 상태를 다시 설정합니다. 문제가 계속되면 Config 복사본을 만들어 필요한 규칙과 사용자가 보유한 서버 하나만 남겨 비교하세요. 정상적인 자료부터 지우지 마세요.
최소 Config는 정상인데 원래 Config에서 실패한다면 기존 규칙과 설정을 그룹별로 복원해 차이를 찾으세요. 복원할 때마다 같은 대상으로 다시 테스트하고 모든 내용을 한꺼번에 되돌리지 마세요. 두 Config 모두 실패하면 시스템 VPN 권한, 기본 네트워크와 서버 매개변수를 확인하세요. 오류 문구가 Config 문법을 가리킨다면 수정한 줄만 보지 말고 오류 근처의 구분자, 정책 이름과 항목을 먼저 확인하세요.
업데이트 기록과 시스템 요구 사항은 App Store 페이지의 표기를 기준으로 확인하세요. 앱을 확인하려면 정품 확인 안내를 참고해 개발자 Shadow Launch Technology Limited, 공식 아이콘과 앱 ID 932747118이 일치하는지 확인하세요. Shadowrocket은 Apple 플랫폼 전용 폐쇄형 상용 앱이며 업데이트와 재다운로드는 App Store를 통해 진행됩니다. 앱을 다시 구매하는 것은 네트워크 설정 문제의 해결 방법이 아닙니다.
iPad와 iPhone의 차이를 항목별로 확인
같은 서버 정보를 iPhone에서는 사용할 수 있지만 iPad에서는 사용할 수 없다면 두 기기가 실제로 같은 네트워크에 연결되어 있는지 먼저 확인하세요. iPhone은 셀룰러 데이터를 사용하는데 iPad는 Wi-Fi에 연결되어 있을 수 있습니다. 네트워크 이름이 비슷해 보여도 실제 연결을 확인해야 합니다. iPad에서 Wi-Fi만 사용할 수 있다면 다른 사용 가능한 네트워크에서도 다시 테스트하세요. 현재 기기에서 사용할 수 없는 셀룰러 데이터 점검 절차를 그대로 적용하지 마세요.
앱 구매 기록만으로 두 기기의 로컬 설정이 모두 같다는 것을 확인할 수는 없습니다. 두 기기에서 선택한 SERVER, Global Routing, 활성화된 Config, DNS 관련 항목과 On Demand 조건을 확인하세요. 직접 입력한 항목은 특히 하나씩 대조해야 합니다. Config를 복사할 때 현재 사용하는 파일을 복사했는지, 이전에 저장한 파일을 복사한 것은 아닌지 확인하세요. 항목 이름만 비교해서는 충분하지 않습니다. 이름이 같아도 주소와 매개변수는 다를 수 있습니다.
iPad에서는 화면 방향, 창 크기 또는 멀티태스킹 상태에 따라 레이아웃이 달라질 수 있습니다. 목록과 편집 영역이 함께 표시될 수도 있으므로 버튼이 화면의 왼쪽이나 오른쪽에 있는지만 보고 찾지 말고 Home, Config, Settings 같은 화면 이름으로 현재 위치를 확인하세요. 긴 주소를 입력할 때 키보드가 공백이나 문장 부호를 자동으로 넣지 않았는지 확인하고 저장 전에 내용을 다시 검토하세요.
절전 후 복귀, 로컬 네트워크와 재설치 범위
iPad를 오랫동안 대기 모드로 둔 뒤에만 문제가 발생한다면 먼저 깨어난 후 네트워크가 복구됐는지 확인하고 연결을 한 번 끊었다가 다시 연결하세요. 다시 연결한 뒤 정상화된다면 네트워크 전환이나 On Demand 조건 변화가 함께 있었는지 기록하고 재연결과 DNS 조회를 계속 확인하세요. 깨어날 때마다 모든 Config를 다시 만드는 것을 정해진 절차로 삼지 마세요. 실제 복구 시점 문제를 가리고 점검 자료도 잃기 쉽습니다.
로컬 네트워크 기기, 가정 내 페이지 또는 프린터 기능만 작동하지 않는다면 관련 시스템 권한과 대상 트래픽이 예상대로 Direct를 사용하는지 확인하세요. 내부 주소 대역, 내부 도메인과 공용 인터넷 대상에는 서로 다른 처리 조건이 적용되므로 실제 주소와 DNS 결과를 바탕으로 판단해야 합니다. 로컬 대상 하나를 해결하기 위해 모든 트래픽을 계속 Direct로 바꾸거나, 범위가 지나치게 넓은 주소 규칙을 추가해 다른 연결에 영향을 주지 마세요.
재설치가 꼭 필요하다면 Config 백업을 읽을 수 있는지, 직접 추가한 항목을 복구할 수 있는지, 사용자 본인이 구독 주소를 어디에 저장했는지 먼저 확인하세요. 구입 항목 복원과 일반적인 구매 가능 여부는 App Store 페이지의 표기를 기준으로 확인하세요. 자세한 내용은 iPad 이용 안내와 기기 변경 후 복원 안내를 참고하세요. 구입 항목 복원은 앱을 다시 받는 절차일 뿐 사용자가 보유한 서버와 규칙을 자동으로 복원하지 않습니다.