V2Ray 연결됨으로 표시되지만 웹페이지가 열리지 않을 때: 시스템 프록시·DNS·라우팅 규칙 점검

연결은 됐지만 인터넷이 안 될 때 시스템 프록시, 로컬 포트, DNS와 라우팅 모드 충돌, 시스템 시간을 차례로 확인해 원인을 좁혀 보세요.

이 글의 핵심

v2rayN이 실행 중이고 노드도 선택했지만 브라우저에서 계속 시간 초과가 발생하는 경우에 적합한 점검 순서입니다. 먼저 프록시를 명시한 요청으로 로컬 연결 지점과 노드 경로를 확인한 뒤 시스템 프록시, DNS, 분할 라우팅 규칙, TLS 시간 조건을 살펴보세요. Android에서는 VPN 권한과 앱별 프록시 설정도 확인해야 합니다. 한 번에 한 항목만 바꾸고 결과를 기록하세요. 노드, 포트, DNS 설정을 동시에 변경하면 원인을 파악하기 어렵습니다.

1. ‘실행 중’과 ‘접속 가능’을 구분하세요

클라이언트에 실행 아이콘이 표시되고 코어 로그가 출력되기 시작했다면 대개 로컬 프로세스가 실행된 상태입니다. 지연 시간 테스트에 성공해도 원하는 사이트에 접속된다는 뜻은 아닙니다. TCP 탐색, 실제 HTTP 요청, 브라우저 접속은 각각 다른 단계를 확인합니다. V2Ray/Xray는 코어이고 v2rayN은 설정 및 관리 인터페이스입니다. 브라우저 요청도 올바른 로컬 연결 지점으로 전달되어야 합니다.

현재 노드, 라우팅 모드, 시스템 프록시 상태, 로컬 수신 포트를 먼저 기록한 뒤 평소 접속 가능한 HTTPS 페이지를 하나 선택해 테스트하세요. 아래 세 포트 번호는 각 포트의 역할을 설명하기 위한 예시이며 모든 버전의 기본값을 의미하지 않습니다. 「설정」→「매개변수 설정」에 표시된 실제 포트와 시작 로그의 수신 주소를 기준으로 확인하세요.

10808
이 글에서 사용하는 SOCKS 연결 포트 예시
10809
이 글에서 사용하는 HTTP 연결 포트 예시
443
HTTPS 목적지에 흔히 사용되는 포트

2. 프록시를 명시한 요청으로 문제 구간 찾기

프록시를 명시하면 브라우저가 시스템 프록시를 사용 중인지에 대한 의문을 배제할 수 있습니다. 아래 명령은 Windows PowerShell에서 실행하세요. 동명의 명령 별칭과 충돌하지 않도록 curl.exe를 사용합니다. 예시에서는 https://example.com/을 요청합니다. 접속 가능 여부를 확인한 다른 페이지로 바꿔도 됩니다. 10초는 연결 대기 시간 제한이고 20초는 전체 요청 시간 제한이며, 속도 측정값이 아닙니다.

# 먼저 이 글의 예시 포트가 수신 대기 중인지 확인합니다
Get-NetTCPConnection -State Listen -LocalPort 10808,10809 -ErrorAction SilentlyContinue

# 10808이 SOCKS 또는 혼합 연결 포트로 확인된 경우에만 실행합니다
curl.exe --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -v -o NUL https://example.com/

# 10809가 HTTP 또는 혼합 연결 포트로 확인된 경우에만 실행합니다
curl.exe --proxy http://127.0.0.1:10809 --connect-timeout 10 --max-time 20 -v -o NUL https://example.com/

현재 버전에서 혼합 포트 하나만 사용한다면 두 명령 모두 실제 포트 번호로 바꾸세요. 예시를 그대로 따라 하기 위해 포트를 추가로 열 필요는 없습니다. socks5h는 목적지 도메인 처리를 프록시 측에 맡기지만, 코어가 라우팅 정책에 따라 주소를 조회할 수도 있습니다. 따라서 성공 여부는 로그와 함께 확인해야 합니다.

테스트 결과설명다음 단계
로컬 연결이 즉시 거부됨로컬 연결 포트가 수신 대기 중이 아니거나 포트 번호가 잘못됨코어 시작 로그와 포트 사용 상태 확인
프록시 요청에서 목적지의 HTTP 응답을 받음이번 요청은 프록시 경로를 정상적으로 통과함브라우저와 시스템 프록시 확인
CONNECT 200이 표시된 뒤에도 실패함HTTP 프록시 터널만 연결된 상태TLS 핸드셰이크와 이후 응답 확인
로컬 연결은 성공한 뒤 시간 초과됨노드, DNS 조회 또는 아웃바운드 라우팅이 원인일 수 있음같은 시각의 코어 로그와 대조

요약: 프록시를 명시한 요청이 성공했다면 먼저 프록시 연결 지점을 확인하세요

같은 목적지에 프록시를 명시한 요청은 응답을 받는데 브라우저에서 실패한다면 시스템 프록시와 브라우저의 개별 프록시 설정부터 바로잡으세요. 이 경우 VMess, VLESS 또는 전송 방식을 바꾸는 것은 대개 첫 번째 해결책이 아닙니다.

3. 시스템 프록시와 로컬 수신 포트 확인

Windows 시스템 프록시는 해당 설정을 따르는 프로그램에서 주로 사용되며 모든 트래픽을 자동으로 처리하지는 않습니다. 브라우저 확장 프로그램, 앱 자체 프록시 설정, 터미널 환경 변수 등이 시스템 프록시보다 우선할 수 있습니다. 문제를 확인하는 동안 다른 프록시 설정 프로그램을 종료하고 TUN을 일시적으로 끄는 등 트래픽 처리 방식 하나만 남겨 두세요. 현재 네트워크에서 다른 VPN을 통해 사내망에 접속 중이라면 먼저 작업을 저장하고 변경 영향을 확인하세요.

  1. 수신 포트 확인

    v2rayN의 「설정」→「매개변수 설정」에서 로컬 수신 포트를 확인하세요. 버전에 따라 SOCKS, HTTP 또는 혼합 포트로 표시될 수 있습니다. 설정을 바꿨다면 코어를 다시 시작하고 시작 로그에 오류가 없는지 확인하세요.

  2. 프록시 설정

    v2rayN 메인 화면의 「시스템 프록시」 메뉴에서 「시스템 프록시 자동 설정」을 선택하세요. 「시스템 프록시 지우기」를 선택하면 브라우저 트래픽도 계속 프록시를 통과할 것이라고 생각해서는 안 됩니다.

  3. Windows 설정 확인

    Windows 「설정」→「네트워크 및 인터넷」→「프록시」→「수동 프록시 설정」을 여세요. 주소는 대개 127.0.0.1이어야 하며, 포트는 SOCKS만 지원하는 연결 포트가 아니라 HTTP 또는 혼합 연결 포트와 일치해야 합니다.

  4. 다른 설정의 우선 적용 여부 확인

    브라우저 프록시 확장 프로그램을 잠시 비활성화하세요. 브라우저에 별도의 네트워크 설정이 있다면 시스템 프록시 사용을 선택합니다. 테스트 페이지를 닫았다가 다시 연 뒤 프록시를 명시한 명령의 결과와 비교하세요.

프로그램이 SOCKS5를 지원한다면 해당 프로그램에 실제 SOCKS 포트를 입력할 수 있습니다. Windows 수동 프록시에 노드 서버 주소와 원격 포트를 입력하지 마세요. 여기에 필요한 것은 구독에 포함된 서버 정보가 아니라 이 컴퓨터의 로컬 연결 지점입니다. netsh winhttp show proxy는 WinHTTP 프록시를 보여 주므로 브라우저의 시스템 프록시가 올바른지 단독으로 판단할 수는 없습니다.

4. 시스템 DNS와 코어 DNS를 따로 확인

DNS 문제는 적어도 두 가지로 나뉩니다. 노드 서버 도메인을 조회할 수 없는 경우와 대상 사이트 도메인을 조회할 수 없는 경우입니다. 전자는 코어가 노드에 연결하지 못하게 하고, 후자는 일부 사이트에만 영향을 줄 수 있습니다. 브라우저의 보안 DNS, Windows DNS, 코어 DNS는 서로 다른 경로를 사용할 수 있으므로 nslookup에 성공했다고 해서 프록시 경로의 도메인 조회까지 정상이라는 뜻은 아닙니다.

# 시스템 DNS 확인자가 테스트 도메인에 보내는 응답을 확인합니다
nslookup example.com

# Windows: 시스템 DNS를 변경한 뒤 시스템 캐시를 비웁니다
ipconfig /flushdns

# 위의 socks5h 테스트와 비교합니다. 이 명령은 먼저 로컬에서 목적지 도메인을 조회합니다
curl.exe --proxy socks5://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -v -o NUL https://example.com/

5. 라우팅 규칙이 요청을 잘못된 경로로 보내는지 확인

v2rayN의 「시스템 프록시」는 프로그램이 로컬 프록시에 연결되는 방식을 정하고, 「라우팅」은 코어가 요청을 받은 뒤 아웃바운드 경로를 선택하는 방식을 정합니다. 서로 다른 설정입니다. 브라우저가 로컬 포트를 제대로 사용하더라도 대상 도메인에 직결 또는 차단 규칙이 적용될 수 있습니다.

현재 라우팅 구성을 기록한 다음 메인 화면의 「라우팅」 메뉴에서 대상 요청을 프록시 아웃바운드로 보내는 테스트 구성을 임시로 선택하세요. 버전마다 구성 이름이 다를 수 있으므로 규칙 내용을 확인하고 ‘전역’이라는 이름만으로 판단하지 마세요. 필요한 로컬 네트워크 규칙은 유지하고 테스트가 끝나면 기존 구성으로 되돌리세요.

증상중점 확인 항목확인 방법
테스트 라우팅으로 바꾸면 정상 작동도메인 규칙, IP 규칙, 규칙 순서기존 구성으로 되돌린 뒤 의심되는 사용자 지정 규칙을 하나씩 비활성화
로그에 direct로 표시됨대상에 직결 규칙이 적용됐는지 확인해당 로그가 현재 테스트 요청에 해당하는지 확인
로그에 block으로 표시됨광고 차단 규칙 또는 사용자 지정 차단 규칙잘못 분류된 도메인인지 확인한 뒤 해당 규칙만 조정
프록시를 통해도 시간 초과됨노드 연결, 서버 상태, 프로토콜 매개변수라우팅은 그대로 두고 정상 작동이 확인된 다른 노드와 비교

로그 상세 수준이 부족하다면 잠시 높인 뒤 한 번만 재현하고, 점검을 마친 후 원래대로 돌리세요. 로그를 공유할 때는 구독 주소, UUID, 토큰, 서버의 민감한 정보를 가리세요. VMess와 VLESS의 인증 정보 및 전송 방식, TLS 서버 이름, REALITY에 필요한 매개변수는 서버 설정과 일치해야 합니다. 프로토콜을 무작정 바꾸는 것으로 문제를 해결할 수는 없습니다.

6. 오류 메시지 원문을 기준으로 포트·시간·TLS 확인

오류가 발생하면 발생 시각을 기록하고 오류 전후의 로그 몇 줄을 보관하세요. 아래 문구는 운영체제나 네트워크 오류에서 흔히 볼 수 있는 예시입니다. 실제 로그에는 대상 주소와 추가 정보가 함께 표시됩니다. 마지막에 ‘실패’가 보인다는 이유만으로 DNS 문제라고 단정하지 마세요.

오류: Address already in use

원인: 사용하려는 로컬 주소 또는 포트를 이미 다른 프로세스가 사용 중입니다. 해결 방법: 포트를 점유한 프로세스를 확인하고, 중복 실행된 클라이언트를 종료하거나 수신 포트를 바꾼 뒤 시스템 프록시 설정도 함께 갱신하세요. 정체를 알 수 없는 시스템 프로세스를 바로 종료하지 마세요.

오류: Connection refused

원인: 대상 포트에서 연결을 거부했습니다. 로컬 연결 지점이나 원격 서버에서 발생할 수 있습니다. 해결 방법: 먼저 오류에 표시된 주소를 확인하세요. 127.0.0.1이라면 수신 상태를 확인하고, 노드 주소라면 원격 포트와 서버 상태를 확인하세요.

오류: no such host

원인: 관련 도메인을 조회하지 못했습니다. 해결 방법: 오류에 나온 도메인이 노드 주소인지 대상 사이트인지 확인한 다음, 노드 주소 조회와 코어의 대상 도메인 조회를 각각 점검하세요. 모든 DNS 설정을 한꺼번에 바꾸지 마세요.

오류: x509: certificate has expired or is not yet valid

원인: 시스템 시간이 정확하지 않거나 서버 인증서의 유효 기간이 실제로 만료됐습니다. 해결 방법: 먼저 시스템 시간을 동기화하세요. 시간이 정확한데도 오류가 계속되면 인증서 문제를 서비스 제공자에게 문의하세요. 인증서 검증을 끄지 마세요.

Windows에서 「설정」→「시간 및 언어」→「날짜 및 시간」으로 이동해 시간 자동 설정을 켜고 「지금 동기화」를 클릭하세요. 날짜, 연도, 시간대도 확인하세요. 표시된 시간대가 잘못됐다고 해서 내부 시계까지 반드시 잘못된 것은 아니며, 시간을 직접 변경하면 실제 시간 오차가 생길 수 있습니다. 정확한 시간은 TLS 인증서 유효성 확인뿐 아니라 시간 기반 인증에도 중요합니다.

7. Android 및 기타 확인 사항

v2rayNG는 Xray 코어를, v2flyNG는 v2fly 코어를 사용합니다. Android 클라이언트가 VPN 인터페이스를 만든 뒤 알림 표시줄에 아이콘이 나타나도 VPN 서비스가 실행 중이라는 뜻일 뿐, 모든 앱의 트래픽이 처리된다는 보장은 없습니다. 먼저 시스템에서 VPN 권한을 허용했는지 확인한 뒤 클라이언트의 앱별 라우팅 목록을 살펴보세요. 시스템 설정의 명칭은 기기 제조사에 따라 다를 수 있습니다.

v2rayNG에 VPN 아이콘이 표시되는데 브라우저가 연결되지 않나요?

v2rayNG의 「설정」→「앱별 프록시」를 열어 브라우저가 제외되어 있는지 확인하고, 목록 설정이 ‘선택한 앱을 프록시로 연결’인지 ‘선택한 앱 우회’인지 확인하세요. 기존 설정을 기록한 뒤 앱별 프록시를 잠시 끄고 다시 연결해 같은 페이지를 테스트하세요.

컴퓨터 브라우저는 되는데 터미널 명령은 프록시를 사용하지 않나요?

터미널 도구는 Windows 시스템 프록시를 읽지 않을 수 있습니다. 먼저 이 글의 curl.exe --proxy로 프록시를 명시해 테스트한 다음, 도구 자체의 프록시 옵션과 HTTP_PROXY, HTTPS_PROXY, ALL_PROXY 환경 변수에 이전 포트가 남아 있는지 확인하세요.

TUN을 켠 뒤에만 인터넷이 끊기면 어떻게 하나요?

먼저 TUN을 끄고 로컬 수신 포트와 시스템 프록시만 사용하는 기본 상태에서 테스트하세요. 정상으로 돌아오면 가상 네트워크 어댑터, DNS 처리, 다른 VPN과의 라우팅 충돌을 집중적으로 확인하세요. 여러 트래픽 처리 방식을 동시에 켜서 겹쳐 테스트하지 마세요.

v2rayN을 종료한 뒤 일반 웹페이지도 열리지 않나요?

클라이언트를 다시 시작한 뒤 「시스템 프록시」에서 「시스템 프록시 지우기」를 선택하고 종료하세요. 클라이언트를 시작할 수 없다면 Windows 「설정」→「네트워크 및 인터넷」→「프록시」에서 남아 있는 수동 프록시를 끄세요. 회사나 기관에서 관리하는 프록시라면 먼저 관리자에게 문의하세요.

Android에서는 시스템 「설정」→「네트워크 및 인터넷」→「VPN」에 트래픽을 처리 중인 다른 연결이 있는지, ‘항상 켜짐 VPN’ 또는 ‘VPN 없이 연결 차단’ 설정으로 인해 연결을 끊은 뒤에도 접속할 수 없게 됐는지 확인하세요. 화면을 끈 뒤에만 문제가 발생한다면 배터리 최적화 설정도 살펴보세요. 앱을 실행하자마자 웹페이지가 열리지 않는 문제와는 원인이 다릅니다.

v2rayN 다운로드 플랫폼 및 설치 파일 선택