설정을 가져와 연결까지는 되지만 웹 페이지 로딩이 늦거나 다운로드가 멈추고 백그라운드에서 연결이 끊기는 경우에 적합합니다. 테스트 대상을 고정한 뒤 노드와 네트워크를 비교하고, 프록시 진입점과 라우팅, DNS를 확인하세요. 한 번에 한 항목만 바꾸고 로그와 반복 요청으로 원인을 판단합니다. 노드 목록의 지연 시간만으로 실제 전송 속도를 단정하지 마세요.
1. 연결 지연·전송 지연·백그라운드 끊김 구분하기
‘속도가 느리다’는 말만으로는 문제를 정확히 파악하기 어렵습니다. 웹 페이지를 처음 열 때 오래 걸린다면 DNS 조회나 연결 수립 단계에 문제가 있을 수 있습니다. 페이지는 열리지만 파일 전송이 계속 멈춘다면 네트워크 혼잡이나 서버의 외부 회선을 확인해야 합니다. 휴대폰 화면을 끈 뒤 연결이 끊기는 경우에는 백그라운드 제한을 먼저 살펴보세요. 증상을 구분하면 모든 문제를 노드 탓으로 돌리는 일을 피할 수 있습니다.
테스트 전에 다른 다운로드와 클라우드 동기화를 일시 중지하고, 같은 기기·대상 페이지·네트워크를 사용하세요. 평소 안정적으로 접속되며 본인이 이용 권한을 가진 사이트를 대상으로 삼고, 한 사이트의 일시적인 오류만으로 전체 회선 상태를 판단하지 마세요. 클라이언트 버전, 코어, 노드 이름, 발생 시간을 기록하세요. 클라이언트나 코어 업데이트도 변수 변경이므로 라우팅 설정 변경과 동시에 하지 마세요.
| 관찰되는 증상 | 우선 점검 항목 | 비교 방법 |
|---|---|---|
| 처음 열 때는 느리지만 이후에는 정상 | DNS, 핸드셰이크, 대상 사이트 응답 | 첫 요청과 반복 요청 비교 |
| 페이지는 열리지만 전송이 계속 멈춤 | 노드의 외부 회선, 접속 회선, 기기 부하 | 같은 네트워크에서 노드를 바꿔 재시험 |
| 특정 앱만 느림 | 앱의 프록시 진입점, 앱별 규칙 | 브라우저 로그와 해당 앱 로그 비교 |
| 화면을 끄면 끊기고 켜면 복구 | 절전 설정, 백그라운드 네트워크 권한 | 앱을 전면에 둔 상태로 비교 |
노드 목록의 TCP 지연 시간은 보통 포트에 연결하는 데 걸리는 시간만 나타냅니다. ‘실제 연결 지연’도 클라이언트에서 선택한 테스트 대상에 영향을 받습니다. 어느 쪽도 지속적인 전송 성능을 직접 보여 주지는 않습니다. 한 번의 시간 초과는 테스트 대상이 응답하지 않았기 때문일 수 있고, 지연 시간이 낮다고 해서 노드의 외부 회선에 여유가 있다는 뜻은 아닙니다.
2. 노드 점검: 연결 가능 여부와 서버 상태 비교
같은 네트워크에서 노드 A와 B를 비교하고, 가능하면 서버 주소나 외부 회선이 서로 다른 설정을 선택하세요. 이름이 다르다고 실제 경로도 다르다는 뜻은 아닙니다. 구독에 포함된 여러 노드가 같은 진입점을 공유할 수 있습니다. 여러 노드를 동시에 측정한 뒤 바로 결론 내리지 마세요. 동시 테스트 자체가 대역폭과 연결 리소스를 사용합니다.
- 구독이 유효한지 확인하세요. v2rayN의 ‘구독 그룹’에서 해당 그룹을 업데이트하고, 업데이트 실패·만료·트래픽 한도 초과 알림이 있는지 확인하세요. 업데이트한 뒤에는 테스트할 노드를 다시 선택하고, 교체된 이전 항목을 계속 사용하지 마세요.
- 노드 설정을 확인하세요. 서비스 제공자가 안내한 설정에 따라 주소, 포트, 인증 정보, TLS, 서버 이름, 전송 설정을 확인하세요. VMess와 VLESS는 프로토콜 유형이지 속도 등급이 아닙니다. 프로토콜 이름만 바꾼 채 다른 유형의 설정을 재사용해서는 안 됩니다.
- 서버 지표를 확인하세요. 서버를 직접 관리한다면 CPU, 메모리, 외부 대역폭, 연결 수, 서비스 로그를 살펴보세요. 서비스 제공자가 관리하는 서버라면 발생 시간과 개인정보를 가린 오류 기록을 전달하고, 사용량 제한이나 외부 회선 문제가 있는지 문의하세요.
- 시간대를 바꿔 다시 테스트하세요. 같은 설정이 특정 시간대에만 느려진다면 노드 부하나 상위 네트워크 혼잡이 원인일 수 있습니다. 테스트 조건을 그대로 유지해 다시 확인하고, 곧바로 클라이언트를 재설치하지 마세요.
정리: 먼저 문제 노드를 좁히고 로컬 설정은 나중에 확인하세요
같은 기기와 네트워크에서 노드 A만 계속 문제가 있고 노드 B는 정상이라면, 먼저 A의 설정과 서버 상태를 확인하세요. 이 결과만으로 서버 부하와 해당 서버까지의 네트워크 경로 문제를 구분할 수는 없습니다.
v2rayNG는 Xray 코어를, v2flyNG는 V2Fly 코어를 사용합니다. 각 코어가 특정 전송 방식과 보안 옵션을 지원하는지는 버전에 따라 다릅니다. 가져온 설정에 지원되지 않는 항목이 있거나 시작에 실패하면 먼저 호환성을 확인하세요. 연결 수를 늘려 해결할 수 있는 문제가 아닙니다.
3. 네트워크 경로 점검: 노드를 고정하고 접속 네트워크 바꾸기
노드 비교를 마쳤다면 노드 A를 그대로 둔 채 집 네트워크와 다른 사용 가능한 네트워크를 비교하세요. 휴대폰에서 Wi-Fi와 모바일 데이터를 전환할 때는 클라이언트가 다시 연결된 것을 확인한 뒤 같은 대상에 접속하세요. 컴퓨터는 휴대폰 핫스팟으로 비교할 수도 있지만 데이터 사용량에 유의하세요.
- 특정 Wi-Fi에서만 문제가 생김: 공유기 가까이 이동하거나 유선 연결을 사용하세요. 먼저 무선 신호, 공유기 부하, 다른 기기의 네트워크 사용량을 확인한 뒤 상위 회선 문제인지 판단하세요.
- 같은 노드가 다른 네트워크에서는 정상: 접속 네트워크에서 노드까지의 경로를 먼저 의심하세요. 서버가 고장 났다고 단정하기는 어렵습니다.
- 네트워크를 바꿔도 특정 대상만 느림: 대상 사이트 상태, 지역별 외부 회선 차이, 라우팅 규칙 적용 결과를 확인하세요.
- UDP 기반 서비스만 문제: 앱 진입점과 코어 설정, 접속 네트워크가 해당 트래픽을 지원하는지 확인하세요. 브라우저 페이지가 정상이라고 해서 모든 전송이 정상인 것은 아닙니다.
전송 방식은 서버 설정과 일치해야 합니다. 예를 들어 서버에서 WebSocket을 사용한다면 경로와 Host가 정확해야 합니다. TLS를 사용하는 경우에는 서버 이름과 인증서 검증도 설정 요건에 맞아야 합니다. 전송 계층 설정이 잘못되면 핸드셰이크 실패나 재시도가 발생하고, 사용자에게는 오랜 대기 시간으로 나타날 수 있습니다.
일반 ping은 프록시의 실제 연결과 다른 트래픽을 사용합니다. 서버가 ping에 응답하지 않아도 프록시 포트는 사용할 수 있으며, ping이 정상이어도 앱 요청이 완료된다는 뜻은 아닙니다. 네트워크 경로는 실제 요청과 코어 로그를 함께 확인해야 합니다. 지연 시간 하나만으로 판단하지 마세요.
4. 로컬 설정 점검: 프록시 진입점과 라우팅 규칙 확인
v2rayN의 ‘시스템 프록시’와 ‘라우팅’은 서로 다른 역할을 합니다. 시스템 프록시는 시스템 설정을 따르는 앱에 요청을 어느 로컬 진입점으로 보낼지 알려 줍니다. 라우팅은 코어가 받은 요청을 프록시로 보낼지, 직접 연결할지, 차단할지 결정합니다. 시스템 프록시를 켰다고 모든 앱이 이를 사용하는 것은 아니며, 모든 대상이 프록시를 통해 나가는 것도 아닙니다.
- 수신 포트를 확인하세요. ‘설정’ → ‘매개변수 설정’에서 로컬 수신 관련 항목을 확인하거나 시작 로그를 살펴보세요. 아래에서는 HTTP 프록시를 제공하는
127.0.0.1:10808을 예로 듭니다. 실제 포트와 진입점 유형은 현재 설정을 따르세요. - 시스템 프록시를 확인하세요. 메인 화면의 ‘시스템 프록시’에서 ‘시스템 프록시 자동 설정’을 선택하세요. 문제를 진단하는 동안에는 로컬 진입점을 명시한 요청으로 비교하고, 브라우저 확장 프로그램의 별도 프록시 설정이 간섭하지 않도록 하세요.
- 라우팅 결과를 확인하세요. 현재 라우팅 모드와 사용자 지정 규칙을 살펴보세요. 특히 먼저 적용되는 도메인, IP, 앱 규칙을 확인해야 합니다. 테스트할 때는 대상을 프록시로 보내는 규칙을 임시로 사용하고, 완료 후 원래 모드로 되돌리세요.
- 다른 진입점도 확인하세요. TUN을 사용 중이라면 현재 상태를 기록한 다음 일반 로컬 프록시 진입점과 따로 비교하세요. 여러 프록시 프로그램이 동시에 시스템 프록시나 가상 네트워크 진입점을 관리하지 않도록 하세요.
Windows 터미널에서 아래 요청을 실행하면 앱이 시스템 프록시 설정을 읽는지 여부에 따른 변수를 제외할 수 있습니다. 명령어의 example.com은 공개 예시 도메인입니다. 이 요청은 요청 경로가 완료되는지 확인할 뿐, 대역폭 측정용은 아닙니다. 현재 진입점이 SOCKS만 지원한다면 HTTP 진입점 명령어를 그대로 복사하지 말고 해당 SOCKS 옵션을 사용하세요.
curl.exe --proxy http://127.0.0.1:10808 --connect-timeout 10 --max-time 30 --head https://example.com
netstat -ano | findstr ":10808"
첫 번째 명령어는 연결 대기를 10초, 전체 대기를 30초로 제한합니다. 시간 초과는 해당 테스트에서 관찰된 결과일 뿐, 서버 부하를 직접 입증하지 않습니다. 두 번째 명령어로 포트 관련 연결을 확인하고, 해당 포트가 수신 대기 중인지와 PID를 살펴보세요. 명시적 프록시 요청은 정상이지만 브라우저에 문제가 있다면 브라우저 프록시 확장 프로그램, 오래된 자동 설정 스크립트, 앱 자체 네트워크 설정을 먼저 확인하세요.
5. DNS와 안드로이드 앱별 설정: 요청이 코어에 도달하는지 확인
DNS 문제는 첫 접속에 오래 걸리거나 일부 도메인만 실패하는 형태로 나타나는 경우가 많습니다. 노드에 연결하기 전 서버 주소를 조회하는 과정과 대상 웹사이트에 접속할 때 도메인을 조회하는 과정을 구분해야 합니다. 전자가 실패하면 노드 연결에 영향을 주고, 후자가 실패하면 일부 대상에만 문제가 생길 수 있습니다. 두 과정이 반드시 같은 DNS 경로를 사용하는 것은 아닙니다.
- 먼저 오류가 발생한 도메인을 확인하세요. 노드 주소와 대상 사이트 도메인 중 어느 쪽에서 실패했는지 확인하세요. 로그를 공유할 때는 개인 도메인, 구독 주소, 인증 정보를 가리세요.
- DNS와 라우팅 설정이 맞는지 확인하세요. v2rayN의 ‘설정’에서 DNS 관련 페이지를 확인하세요. 메뉴 이름은 버전에 따라 다를 수 있습니다. DNS 서버에 연결할 수 있는지, 해당 서버에 직접 연결해야 하는지 프록시를 거쳐야 하는지 확인하세요.
- 앱 자체의 DNS 설정도 확인하세요. 브라우저의 보안 DNS, 앱 내장 DNS, 시스템 DNS는 서로 다른 경로를 사용할 수 있습니다. 한 번에 한 곳만 변경하고 관련 앱을 재시작한 뒤 다시 테스트하세요.
- 출처가 불분명한 설정을 그대로 적용하지 마세요. 원격 DNS가 프록시에 의존하고 노드 주소도 해당 DNS를 통해야만 확인된다면 설정에 따라 시작 단계에서 의존성 문제가 생길 수 있습니다. 먼저 노드 주소를 초기 조회할 수 있는지 확인하세요.
안드로이드에서는 테스트할 앱이 VPN 터널을 통과하는지도 확인해야 합니다. v2rayNG의 ‘설정’ → ‘앱별 프록시’에서 기능 활성화 여부, 선택한 앱, ‘우회 모드’ 상태를 점검하세요. 앱별 프록시를 켜고 우회 모드를 끄면 선택한 앱이 프록시를 사용합니다. 우회 모드를 켜면 선택한 앱은 프록시를 우회합니다. 변경 후 연결을 중지했다가 다시 연결하고 같은 앱으로 테스트하세요.
화면을 잠근 뒤에만 문제가 생긴다면 시스템 ‘설정’ → ‘앱’ → ‘v2rayNG’의 배터리 또는 백그라운드 관리 메뉴에서 백그라운드 활동을 허용하세요. 메뉴 이름은 기기마다 다를 수 있습니다. VPN 권한이 유효한지, 다른 VPN 연결로 대체되지 않았는지도 확인하세요. v2flyNG도 시스템 VPN과 백그라운드 권한을 확인해야 하지만, 앱 내 메뉴가 v2rayNG와 완전히 같다고 가정하지 마세요.
정리: 앱 요청이 코어에 도달하지 않는다면 먼저 진입점을 확인하세요
필요한 수준의 연결 로그를 켰는데도 테스트 요청에 해당 기록이 없다면 시스템 프록시, VPN, 앱별 설정부터 확인하세요. 이 경우 원격 노드를 바꿔도 앱이 프록시를 우회하는 문제는 해결되지 않습니다.
6. 로그 오류 확인: 대기 시간이 멈춘 단계를 찾아보세요
클라이언트 로그에서 요청 직전과 직후의 기록을 남기고, 가장 안쪽에 나타난 오류와 대상 주소를 확인하세요. 같은 오류 문구라도 발생 단계에 따라 의미가 다를 수 있습니다. 로컬 프록시 연결 거부와 원격 서버 연결 거부는 해결해야 할 위치가 완전히 다릅니다. 다음은 자주 나타나는 오류 일부입니다. 전체 로그에는 보통 시간, 프로토콜 스택, 주소도 포함됩니다.
오류: connection refused
원인 및 해결: 대상 포트에서 연결을 거부했거나 해당 포트에 대기 중인 서비스가 없습니다. 주소가 로컬인지 원격인지 먼저 확인하세요. 로컬 주소라면 코어 시작 상태와 포트를 확인하고, 원격 주소라면 노드 포트와 서비스 상태를 확인하세요.
오류: i/o timeout
원인 및 해결: 네트워크 읽기 또는 쓰기 단계에서 대기 시간이 초과되었습니다. 이전과 이후 로그를 확인해 DNS 조회, 연결, 응답 중 어느 단계에서 발생했는지 파악하세요. 노드를 고정하고 네트워크를 바꿔 비교하되, 이 문구만으로 노드가 작동하지 않는다고 판단하지 마세요.
오류: address already in use
원인 및 해결: 수신하려는 주소와 포트가 이미 사용 중입니다. 포트 조회로 해당 프로세스를 찾고, 중복 실행을 종료하거나 수신 포트를 바꾸세요. 시스템 프록시와 앱 진입점도 새 포트에 맞춰 변경해야 합니다.
오류: x509: certificate has expired or is not yet valid
원인 및 해결: 인증서 유효 기간 검증에 실패했으며 기기의 날짜와 시간이 잘못된 경우도 있습니다. 먼저 시스템 날짜와 시간대를 동기화하세요. 그래도 실패하면 서버 인증서를 확인하고, 일반적인 해결 방법으로 인증서 검증을 끄지는 마세요.
필요한 경우 로그 상세도를 잠시 높여 재현한 다음 평소 수준으로 되돌리세요. 접속 정보가 과도하게 기록된 상태를 오래 유지하지 않는 것이 좋습니다. 서비스 제공자에게 문의할 때는 클라이언트와 코어 버전, 발생 시간, 접속 네트워크 유형, 노드 비교 결과, 개인정보를 가린 오류를 함께 전달하세요. ‘속도가 느리다’고만 알리는 것보다 문제를 파악하기 쉽습니다.
7. 자주 묻는 질문과 최종 점검 순서
노드 지연 시간은 낮은데 웹 페이지가 계속 로딩되는 이유는 무엇인가요?
지연 시간 테스트는 웹 페이지 요청 전체를 측정하지 않습니다. 먼저 로컬 프록시를 명시한 요청으로 연결 경로를 확인하세요. 그다음 브라우저가 같은 진입점을 사용하는지, 대상 도메인이 예상한 경로로 나가는지 확인하고 다른 사이트와도 비교하세요.
전역 프록시로 바꾸니 해결됐는데 계속 사용해야 하나요?
우선 라우팅 비교 결과로만 받아들이세요. 원래 모드로 되돌린 다음 해당 도메인에 적용되는 직접 연결 규칙, IP 규칙, 규칙 순서를 확인하고 정확한 규칙만 조정하세요. 전역 프록시는 DNS나 네트워크 경로 문제를 모두 해결하는 만능 설정이 아닙니다.
컴퓨터는 정상인데 휴대폰만 느립니다. 휴대폰의 노드가 호환되지 않는 건가요?
먼저 두 기기를 같은 Wi-Fi와 같은 노드 설정으로 연결하세요. 그런 다음 휴대폰의 VPN 권한, 앱별 프록시, 절전 제한을 확인하세요. 지원되지 않는 항목이나 핸드셰이크 오류가 나타날 때만 코어 버전과 설정 호환성을 추가로 확인하세요.
DNS, 포트, 라우팅을 바꾼 뒤 연결이 안 됩니다. 어떻게 해야 하나요?
변경 내역을 따라 항목별로 되돌리고, 먼저 시작에 성공했던 원래 설정을 복원하세요. 수신 포트와 프록시 진입점이 일치하는지 확인한 다음 원래 라우팅과 DNS 설정을 복구하세요. 단계마다 다시 연결해 테스트하고 변경 사항을 계속 추가하지 마세요.
- 증상과 테스트 조건을 기록하고 클라이언트 코어가 정상적으로 시작되는지 확인하세요.
- 같은 네트워크에서 노드 두 개를 비교한 뒤, 노드를 고정하고 네트워크 두 곳을 비교하세요.
- 시스템 프록시 또는 VPN 진입점을 확인해 테스트 앱의 요청이 실제로 코어에 도달하는지 확인하세요.
- 라우팅, DNS, 전송 설정을 확인하고 로그로 문제가 발생한 단계를 찾으세요.
- 효과가 확인된 변경은 유지하고 효과가 없던 테스트는 되돌리세요. 증거가 서버나 네트워크 경로를 가리킬 때만 해당 점검 기록을 전달하세요.