2026-09-11 · 문제 해결 · 약 9분

v2rayN 로컬 포트 사용 중: 10808 충돌 확인 및 리스닝 포트 변경

시스템 명령으로 10808·10809 포트를 사용 중인 프로세스를 확인하고, v2rayN 설정에서 로컬 SOCKS·HTTP 포트를 변경한 뒤 시스템 프록시를 업데이트하세요.

이 글의 핵심

Windows에서 v2rayN이 리스닝에 실패하거나, 실행 후 브라우저가 로컬 프록시에 연결되지 않을 때 적용할 수 있습니다. 먼저 로그에서 오류 포트를 확인한 다음, 해당 포트를 사용하는 프로세스를 찾으세요. 중복 실행 중인 인스턴스를 종료할 수 있으면 포트를 확보하고, 그렇지 않다면 사용 가능한 포트로 변경합니다. 마지막으로 시스템 프록시와 앱 내 프록시 설정도 업데이트해야 커널은 정상화됐는데 앱이 이전 주소에 접속하는 문제를 막을 수 있습니다.

1. 로컬 리스닝 실패부터 확인하고, 노드는 바꾸지 마세요

v2rayN 메인 화면의 로그에서 이번 실행 기록을 확인하고 listen, bind, 127.0.0.1:10808 항목을 찾아보세요. 커널이 로컬 진입점을 만들지 못하면 요청은 노드까지 전달되지 않습니다. 이때 구독을 업데이트하거나 VLESS·VMess 서버 포트를 변경해도 PC의 리스닝 포트 충돌은 해결되지 않습니다.

오류: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

원인과 해결 방법: Windows에서 흔히 발생하는 주소 사용 중 오류로, 오류 코드 10048에 해당합니다. 먼저 로그에 표시된 포트를 사용하는 PID를 찾은 뒤 중복 프로세스를 종료할지 로컬 진입점을 변경할지 결정하세요.

오류: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

원인과 해결 방법: 오류 코드 10013에서 흔히 나타납니다. 포트 제외 범위나 보안 정책과 관련된 문제일 수 있으며, 다른 프로그램이 이미 리스닝 중이라는 뜻은 아닙니다. PID를 찾을 수 없다면 프로세스를 반복해서 종료하지 말고 제외 포트 범위를 확인하세요.

오류: No connection could be made because the target machine actively refused it.

원인과 해결 방법: 앱이 연결하려는 주소에 사용 가능한 리스닝 서비스가 없거나, 변경 전의 이전 포트를 계속 가리키고 있을 수 있습니다. 먼저 커널이 정상적으로 시작됐는지 확인한 다음 앱에서 실제로 사용하는 프록시 주소를 점검하세요.

오류 문구는 Windows 언어와 커널 버전에 따라 달라질 수 있으므로 로컬 주소, 포트, 오류 의미를 기준으로 판단하세요. 127.0.0.1은 PC 자체를 가리키는 루프백 주소이며 구독 서버 주소가 아닙니다. 0.0.0.0은 모든 IPv4 인터페이스에서 리스닝한다는 뜻으로, 이 포트의 사용 상태가 루프백 리스닝에도 영향을 줄 수 있습니다.

2. 현재 설정에서 10808·10809 포트의 용도 확인

「설정」→「매개변수 설정」을 열고 로컬 리스닝 관련 항목을 확인하세요. 구형 듀얼 진입점 구성에서는 SOCKS가 10808, HTTP가 10809인 경우가 많습니다. 혼합 진입점을 사용하면 HTTP와 SOCKS가 하나의 포트를 함께 사용할 수 있습니다. 오래된 안내만 보고 PC에 두 포트가 모두 리스닝 중이어야 한다고 단정하지 마세요.

10808
일반적인 SOCKS 또는 혼합 진입점 포트
10809
구형 듀얼 진입점에서 자주 사용하는 HTTP 포트
11808
이 글의 변경 예시 포트: 사용 전 점유 여부 확인
브라우저 요청 로컬 프록시 진입점 라우팅 규칙 원격 노드

로컬 포트는 앱이 클라이언트에 연결되는 방식을 정합니다. 라우팅 규칙은 연결 후 어떤 경로로 나갈지를 정하고, 원격 노드 포트는 커널이 연결할 대상을 정합니다. 이 세 가지를 혼동해 함께 변경하면 안 됩니다. 이 글의 11808·11809는 후보 포트일 뿐, 사용 가능하다고 보장된 고정값이 아닙니다.

3. netstat으로 포트를 사용하는 PID 찾기

Windows 시작 메뉴에서 「터미널」을 검색해 PowerShell 또는 명령 프롬프트를 열고 아래 명령 두 개를 실행하세요. 일반 권한으로도 연결 기록을 확인할 수 있습니다. 보호된 프로세스 정보를 확인해야 한다면 관리자 권한 터미널을 사용하세요.

netstat -ano -p tcp | findstr ":10808"
netstat -ano -p tcp | findstr ":10809"

로컬 주소 열과 LISTENING 상태를 우선 확인하세요. 아래는 출력 형식 예시이며 현재 PC에서 측정한 결과가 아닙니다. 마지막 열의 6420은 PID입니다. 동일한 프로세스가 IPv4와 IPv6에서 모두 리스닝할 수 있습니다.

TCP    127.0.0.1:10808    0.0.0.0:0    LISTENING    6420
TCP    [::1]:10808        [::]:0       LISTENING    6420

조회한 실제 PID를 다음 명령에 입력하세요. 결과가 ESTABLISHED 또는 TIME_WAIT뿐이라면 해당 PID를 리스닝 충돌의 원인으로 단정하지 마세요. 로컬 포트와 일치하는지, 원격 연결 주소와 혼동한 것은 아닌지도 확인해야 합니다.

tasklist /FI "PID eq 6420"
  1. 다른 v2rayN 인스턴스가 보이면 알림 영역과 작업 관리자를 확인하고, 기존 인스턴스의 트레이 메뉴에서 종료하세요.
  2. 프록시 커널 프로세스가 보이면 어느 클라이언트에 속하는지와 파일 위치를 먼저 확인하세요. 정상 작동 중인 인스턴스를 종료하지 않도록 주의해야 합니다.
  3. 다른 앱이나 시스템 서비스가 보이면 용도를 확인하세요. 계속 사용해야 한다면 해당 서비스를 유지하고 v2rayN의 로컬 포트를 변경하세요.
  4. 정체를 알 수 없는 프로세스라면 작업 관리자의 「세부 정보」에서 PID로 찾고 「파일 위치 열기」를 확인하세요. 이름만 보고 추측하지 마세요.

4. 중복 인스턴스를 종료하거나 로컬 리스닝 포트 변경

조정 중 앱이 작동하지 않는 진입점에 계속 연결되지 않도록 트레이 메뉴에서 시스템 프록시를 「시스템 프록시 해제」로 설정하세요. 실수로 인스턴스 두 개를 실행한 경우라면 불필요한 인스턴스를 종료하고 남은 클라이언트를 다시 시작하면 됩니다. 반드시 포트를 변경해야 하는 것은 아닙니다.

  1. 현재 값 기록

    「설정」→「매개변수 설정」으로 이동해 현재 로컬 리스닝 포트, LAN 연결 허용 여부, 독립 진입점과 혼합 진입점 중 어떤 방식을 사용하는지 기록하세요. 항목 이름은 버전에 따라 다를 수 있으므로 현재 화면을 기준으로 확인하면 됩니다.

  2. 후보 포트 점유 여부 확인

    앞 절의 방법으로 11808을 조회하세요. 현재 설정에 독립 HTTP 진입점이 있다면 11809도 확인합니다. 리스닝 기록이 있으면 다른 후보 포트 조합을 선택하고 다른 서비스의 포트를 덮어쓰지 마세요.

  3. 로컬 진입점 변경

    「설정」→「매개변수 설정」의 로컬 리스닝 항목에서 SOCKS 포트를 11808로 변경하세요. 별도의 HTTP 포트 항목이 있으면 11809로 바꿉니다. 화면에 혼합 진입점만 표시된다면 해당 포트만 11808로 변경하세요. 11809 항목을 따로 찾거나 만들 필요는 없습니다.

  4. 저장 후 재시작

    「확인」을 눌러 저장하고 화면 안내에 따라 커널을 재시작하세요. 값이 이전 설정으로 표시되면 v2rayN을 종료한 뒤 다시 실행합니다. 그런 다음 로그에서 새 로컬 주소에 bind 오류가 발생하지 않았는지 확인하세요.

  5. 새 리스닝 포트 확인

    11808과 실제 설정된 HTTP 진입점을 다시 조회하세요. 리스닝 PID는 현재 실행 중인 클라이언트 커널의 PID여야 합니다. 이전 포트가 사라졌다는 사실만으로 새 포트가 정상적으로 열렸다고 판단할 수는 없습니다.

netstat -ano -p tcp | findstr ":11808"
netstat -ano -p tcp | findstr ":11809"

사용자 지정 구성 파일을 사용한다면 리스닝 주소는 보통 구성의 inbounds에서 지정됩니다. 이 경우 화면에서 설정한 포트가 해당 파일에 적용되지 않을 수 있습니다. 먼저 백업한 뒤 실제로 불러온 구성의 listen, port, protocol 값을 확인하세요. 화면만 바꾸고 실행 시에는 이전 포트를 계속 불러오는 상황을 방지할 수 있습니다.

5. 시스템 프록시와 앱 내 프록시 설정 동기화

커널이 새 포트에서 리스닝을 시작하면 v2rayN 트레이 메뉴의 「시스템 프록시」에서 「시스템 프록시 자동 설정」을 선택하세요. 이어서 Windows의 「설정」→「네트워크 및 인터넷」→「프록시」에서 적용된 주소를 확인합니다. 「시스템 프록시 자동 설정」을 선택해도 모든 앱의 수동 프록시 설정까지 자동으로 업데이트되는 것은 아닙니다.

설정 위치듀얼 진입점 예시혼합 진입점 예시확인할 항목
Windows 시스템 프록시127.0.0.1:11809127.0.0.1:11808HTTP 프록시를 지원하는 진입점을 가리켜야 합니다
앱에서 직접 설정한 SOCKS5127.0.0.1:11808127.0.0.1:11808호스트, 포트, 프록시 프로토콜을 모두 확인하세요
앱에서 직접 설정한 HTTP127.0.0.1:11809127.0.0.1:11808SOCKS 전용 진입점을 지정하면 안 됩니다
터미널 환경 변수HTTP 또는 SOCKS 유형에 맞게 입력하세요앱에서 지원하는 프록시 유형에 맞게 입력하세요열려 있는 터미널에는 이전 값이 남아 있을 수 있습니다

브라우저가 별도의 프록시 설정을 사용한다면 브라우저에서도 설정을 변경해야 합니다. 명령줄 프로그램은 Windows 시스템 프록시를 읽지 않을 수도 있습니다. 기존 HTTP_PROXY, HTTPS_PROXY, ALL_PROXY 환경 변수를 확인하고, 값에 10808이나 10809가 남아 있는지 살펴보세요. 사용자 환경 변수를 변경한 뒤 새 터미널을 열어 테스트하세요.

정리: 리스닝 복구 후에는 이전 포트 참조를 확인하세요

일부 앱은 정상화됐지만 특정 앱에서만 연결 거부 오류가 발생한다면 해당 앱의 수동 프록시 설정과 프로세스 환경 변수를 먼저 확인하세요. 포트를 다시 바꿀 필요는 없습니다. 앱에서 사용 중인 주소를 확인된 새 진입점으로 변경하는 편이 구독 설정 전체를 초기화하는 것보다 간단합니다.

6. 리스닝 프로세스가 검색되지 않으면 제외 포트와 실행 방식 확인

포트 조회 결과가 없는데도 액세스 권한 관련 오류가 계속된다면 관리자 권한 터미널에서 Windows TCP 제외 포트 범위를 확인하세요. 가상화, 컨테이너 또는 시스템 네트워크 구성 요소가 해당 범위를 사용할 수 있으며, 일반적인 리스닝 조회로는 점유 중인 PID가 표시되지 않을 수도 있습니다.

netsh interface ipv4 show excludedportrange protocol=tcp
netsh interface ipv6 show excludedportrange protocol=tcp

로컬 포트를 변경할 때는 대개 방화벽 인바운드 규칙을 새로 만들 필요가 없습니다. PC에서만 사용할 경우 루프백 리스닝을 유지하세요. 리스닝 주소를 0.0.0.0으로 변경해도 포트 충돌은 해결되지 않으며, 오히려 같은 네트워크의 다른 기기에서도 프록시 진입점에 접속할 수 있게 됩니다. 실제로 공유해야 할 때만 접근 범위와 방화벽 규칙을 별도로 검토하세요.

7. 세 단계로 복구 여부 확인

먼저 로컬 TCP 진입점을 확인하고, 다음으로 앱의 프록시 설정을 점검한 뒤, 마지막으로 노드 연결을 확인하세요. 아래 PowerShell 명령은 로컬 포트와 TCP 연결을 설정할 수 있는지만 검사합니다. 원격 노드, DNS, 라우팅 분할까지 정상이라는 뜻은 아닙니다.

Test-NetConnection -ComputerName 127.0.0.1 -Port 11808
  1. 로컬 단계: 결과의 TcpTestSucceeded가 True이고 로그에 새 리스닝 오류가 없어야 합니다. PID도 올바른 커널 프로세스에 해당하는지 확인하세요.
  2. 앱 단계: 시스템 프록시와 수동 프록시가 모두 새 포트를 가리키는지 확인하세요. 테스트할 앱을 완전히 종료한 뒤 다시 열어 이전 프로세스에 설정이 남아 있는 경우를 제외하세요.
  3. 외부 연결 단계: 원래 접속하려던 웹페이지나 서비스로 테스트하세요. 로컬 진입점은 정상인데 로그에 원격 연결 시간 초과가 나타나기 시작했다면 노드 주소, 구독 유효성, 네트워크 상태를 확인하세요.

Android용 v2rayNG는 Xray 커널을 사용하지만 VPN 권한과 앱별 프록시 설정은 Windows 시스템 프록시와 별개입니다. 이 글의 명령은 Windows용 v2rayN을 대상으로 하므로 휴대폰에서 그대로 실행하지 마세요. 휴대폰이 LAN을 통해 이 PC의 프록시 진입점에 연결되는 경우가 아니라면 데스크톱 문제 해결 중에 휴대폰 설정을 변경할 필요도 없습니다.

클라이언트 다운로드v2rayNG / v2rayN