Windows에서 v2rayN을 실행한 뒤 수신 실패, 코어 종료 또는 시스템 프록시 연결 오류가 발생할 때 적용할 수 있습니다. 먼저 로그에서 충돌 주소를 확인하고 포트별 프로세스 ID로 프로그램을 찾으세요. 중복 실행 중인 인스턴스는 종료하고, 포트를 비울 수 없다면 로컬 수신 설정을 바꾼 뒤 시스템 프록시와 수동 프록시 설정을 함께 업데이트합니다. 로컬 연결 지점에 초점을 맞춰 진단하므로 구독이나 노드 프로토콜을 먼저 바꿀 필요는 없습니다.
1. 오류가 로컬 수신 단계에서 발생했는지 확인
v2rayN 기본 창의 로그 영역을 열고 서비스를 다시 시작한 다음, 최신 오류에 표시된 주소와 포트, 시간을 확인하세요. 흔히 쓰이는 로컬 주소는 127.0.0.1:10808이지만 현재 로그를 기준으로 판단해야 합니다. 이전 설정에서는 10808을 SOCKS 수신 포트로, 10809를 HTTP 수신 포트로 각각 사용하기도 합니다. 혼합 수신 설정은 하나의 포트에서 두 프로토콜을 모두 받을 수 있으므로 포트 번호만으로 유형을 단정하지 마세요.
오류: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
원인과 해결 방법: Windows에서 해당 주소가 이미 사용 중이라고 알리는 오류입니다. 클라이언트를 중복 실행했거나 다른 프로그램이 같은 주소와 포트를 수신 중일 때 흔히 발생합니다. 해당 포트를 수신하는 프로세스를 조회해 정체를 확인한 뒤 중복 인스턴스를 종료하거나, 현재 클라이언트에 사용 가능한 포트를 지정하세요.
오류: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
원인과 해결 방법: 시스템이 바인딩을 거부한 상태로, 제외 포트 범위나 보안 정책이 원인일 수 있습니다. 반드시 다른 프로그램이 포트를 사용 중이라는 뜻은 아닙니다. 먼저 수신 프로세스를 확인하고 시스템 예약 범위를 살펴보세요. 권한을 반복해서 높이는 것만으로 해결하려고 하지 마세요.
오류: connectex: No connection could be made because the target machine actively refused it.
원인과 해결 방법: 연결 대상이 요청을 거부했다는 뜻이지, 수신 포트 충돌을 직접 입증하는 오류는 아닙니다. 대상이 로컬 프록시 주소라면 코어가 종료됐는지, 앱이 이전 포트를 계속 가리키는지 확인하세요. 원격 서버가 대상이라면 원격 연결 문제를 별도로 점검해야 합니다.
로컬 수신 실패는 요청이 프록시 코어에 도달하기 전에 발생합니다. VMess 또는 VLESS 노드를 바꾸거나 구독을 다시 가져와도 보통 로컬 포트가 비워지지는 않습니다. 먼저 문제 범위를 로컬 연결 지점으로 좁히세요. 라우팅 규칙, DNS, 아웃바운드 설정까지 한꺼번에 바꾸면 어떤 조치가 효과가 있었는지 파악하기 어렵습니다.
2. 10808 포트를 사용하는 프로세스 찾기
Win + R을 누르고 cmd를 입력한 뒤 Enter 키를 누르세요. 아래 명령을 실행합니다. 로그에 다른 포트가 표시되면 10808을 실제 포트 번호로 바꾸세요. 명령에서 포트 번호 뒤에 공백을 넣으면 108080처럼 숫자가 이어진 항목까지 함께 검색되는 일을 막을 수 있습니다.
netstat -ano -p tcp | findstr /C:":10808 "
로컬 주소와 상태 열을 중점적으로 확인하세요. 아무 행이나 발견했다고 판단을 끝내면 안 됩니다. 아래 예시는 각 필드의 의미를 설명하기 위한 것으로 실제 프로세스 ID와는 다릅니다. 로컬 주소가 대상 포트와 일치하고 상태가 LISTENING인 항목만 TCP 수신 프로세스가 있음을 나타냅니다.
TCP 127.0.0.1:10808 0.0.0.0:0 LISTENING 6420
- 로컬 주소:
127.0.0.1:10808은 루프백 연결 지점을 뜻합니다.0.0.0.0:10808은 모든 IPv4 인터페이스에서 수신한다는 뜻이며, 루프백 주소에 대한 바인딩과 충돌할 수도 있습니다. - 상태:
ESTABLISHED또는TIME_WAIT는 수신 중이라는 직접적인 증거가 아닙니다. 원격 주소에만 10808이 표시된 연결 항목도 제외해야 합니다. - PID: 가장 오른쪽 숫자가 프로세스 ID입니다. 프로그램을 다시 시작하면 ID가 바뀌므로 이번 조회 결과를 사용해야 합니다.
조회된 PID가 6420이라면 아래 명령으로 추가 조회하세요. 다른 PID가 표시되면 숫자를 바꾸면 됩니다. 그런 다음 작업 관리자에서 「세부 정보」를 열고 PID로 프로세스를 찾으세요. 마우스 오른쪽 버튼을 눌러 「파일 위치 열기」를 선택하면 어떤 프로그램이나 클라이언트 폴더에 속하는지 확인할 수 있습니다.
tasklist /FI "PID eq 6420"
PowerShell에서 로컬 TCP 수신 포트를 바로 필터링할 수도 있습니다. 원격 주소를 잘못 읽을 가능성을 줄일 수 있습니다. 결과가 없으면 이번 조회에서 해당 수신 항목을 찾지 못한 것입니다. 권한 오류가 나오면 먼저 조회 권한을 해결해야 하며, 포트가 비어 있다고 판단해서는 안 됩니다.
Get-NetTCPConnection -State Listen -LocalPort 10808 |
Select-Object LocalAddress, LocalPort, OwningProcess
3. 중복 인스턴스를 먼저 종료하고 포트 변경 여부 결정
프로세스 이름을 확인했다고 바로 강제 종료하지 마세요. Xray 또는 V2Fly 코어 프로세스는 현재 사용 중인 v2rayN이 관리하고 있을 수 있으며, 종료하면 연결이 끊깁니다. 특히 이전 버전과 새 버전의 폴더, 시작 프로그램 항목이 함께 남아 있다면 현재 기본 창이 어느 프로그램에 해당하는지 먼저 확인하세요.
-
충돌 원인 기록
수신 주소, 포트, PID, 프로그램 경로를 기록하세요. 기본 창이 두 개 열려 있다면 알림 영역의 각 인스턴스를 확인해 현재 연결에 필요한 창을 실수로 닫지 않도록 하세요.
-
이전 인스턴스 정상 종료
이전 인스턴스의 알림 영역 메뉴에서 「종료」를 선택하세요. 창만 닫으면 알림 영역으로 숨겨질 수 있어 코어가 수신 포트를 해제한다고 보장할 수 없습니다.
-
수신 상태 다시 조회
포트 조회 명령을 다시 실행하세요. 이전 PID가 사라졌다면 남겨 둘 v2rayN 인스턴스를 먼저 실행해 정상 작동하는지 확인하세요. 문제 해결을 위해 이때 굳이 포트를 바꿀 필요는 없습니다.
-
남은 프로세스 처리
해당 클라이언트를 종료했고 프로세스만 남아 있다는 점을 확인한 경우에만 작업 관리자 → 「세부 정보」에서 해당 프로세스를 종료하세요. 모든 코어 프로세스를 한꺼번에 종료하거나 정체를 알 수 없는 시스템 서비스를 종료하지 마세요.
포트 사용자가 계속 실행해야 하는 다른 프로그램이라면 그대로 두고 v2rayN의 로컬 연결 포트를 변경하세요. 컴퓨터를 다시 시작할 때마다 문제가 재현된다면 작업 관리자 → 「시작 앱」에서 중복 클라이언트 시작 항목을 확인해 로그인 시 두 프로그램이 같은 포트를 놓고 경쟁하지 않도록 하세요.
4. 수신 포트 변경 및 시스템 프록시 업데이트
여기서는 10808을 10818로 바꾸는 예를 듭니다. 10818은 대체 후보일 뿐 모든 컴퓨터에서 사용 가능한 것은 아니므로 변경 전에 같은 명령으로 확인하세요. 이전 설정에 별도의 HTTP 수신 포트가 있다면 10819도 확인할 수 있습니다. 서로 독립된 두 수신기에 같은 포트를 지정하지 마세요.
-
프록시 연결 일시 중지
먼저 v2rayN 알림 영역의 「시스템 프록시」 메뉴에서 「시스템 프록시 해제」를 선택하세요. 일반 로컬 프록시 연결을 점검할 때는 TUN도 꺼 두세요. 두 연결 방식이 동시에 작동하면 상태를 파악하기 어렵습니다.
-
수신 설정 열기
「설정」 → 「매개변수 설정」으로 이동해 기본 설정에서 「로컬 수신 포트」 또는 해당 SOCKS·HTTP 수신 항목을 찾으세요. 버전에 따라 항목의 분류와 이름이 다를 수 있으니 현재 표시된 항목과 로그의 포트를 대조해 수정하세요.
-
새 포트 저장
대상 수신 포트를 10808에서 10818로 바꾸고 설정을 저장한 다음 서비스를 다시 시작하세요. 별도 재시작 항목이 없다면 클라이언트를 정상 종료한 뒤 다시 실행하면 됩니다. 화면의 숫자만 바꾸고 코어를 다시 불러오지 않으면 이전 수신 설정이 계속 적용될 수 있습니다.
-
시스템 프록시 재설정
새 포트가 수신 중인지 확인한 뒤 「시스템 프록시」에서 「시스템 프록시 자동 설정」을 선택하세요. Windows 「설정」 → 「네트워크 및 인터넷」 → 「프록시」를 열어 수동 프록시 포트가 클라이언트의 실제 HTTP 또는 혼합 수신 포트와 일치하는지 확인하세요.
-
수동 프록시 앱 업데이트
브라우저 확장 프로그램과 다운로드 도구 등 수동 프록시 설정을 사용하는 앱을 하나씩 확인하세요. SOCKS5를 사용하는 앱에는 SOCKS 또는 혼합 수신 포트를 입력하고, HTTP를 사용하는 앱에는 HTTP 또는 혼합 수신 포트를 입력해야 합니다. 숫자만 바꾸고 프로토콜을 확인하지 않으면 안 됩니다.
5. 포트 사용자를 찾지 못하면 예약 범위 확인
로그에 접근 권한 관련 바인딩 오류가 계속 표시되는데 수신 프로세스가 검색되지 않는다면 관리자 권한 터미널에서 Windows의 제외 포트 범위를 확인하세요. 가상화 또는 네트워크 구성 요소 때문에 일부 포트를 일반 프로그램이 바인딩하지 못할 수 있습니다. 이런 경우는 PID 조회만으로 원인을 설명하기 어려울 수 있습니다.
netsh interface ipv4 show excludedportrange protocol=tcp
netsh interface ipv6 show excludedportrange protocol=tcp
- 결과에 표시된 시작 포트와 끝 포트를 비교해 대상 포트가 범위에 포함되는지 확인하세요. 예를 들어 범위가 10800~10899라면 10808과 10818 모두 그 안에 있으므로 10818로 바꿔도 실패할 수 있습니다.
- 제외 범위 밖의 포트를 후보로 선택한 뒤 이미 수신 중인 프로세스가 있는지 확인하세요. 시스템 예약 범위를 바로 삭제하거나 포트 하나를 비우려고 정체를 모르는 네트워크 서비스를 중지하지 마세요.
- 로그에 IPv6 주소가 표시된다면 IPv6도 확인하세요. TCP와 UDP 수신은 서로 별개입니다. 로그에 UDP 바인딩 실패가 명시되어 있다면
netstat -ano -p udp를 실행해 해당 항목을 확인해야 합니다. - 포트가 제외 범위에 포함되지 않는다면 로그에 중복된 인바운드 설정이 있는지, 또는 시작 후 다른 프로그램이 먼저 포트를 수신하기 시작했는지 확인하세요. 보안 정책과 관련된 문제는 시스템 관리 기준에 따라 처리하고 보호 기능을 바로 끄지 않는 것이 좋습니다.
일반적인 해결책이라며 수신 주소를 0.0.0.0으로 바꾸지 마세요. 접근 가능한 범위가 넓어질 수 있고 와일드카드 주소로 인한 충돌도 확실히 피할 수 없습니다. 프록시를 이 컴퓨터에서만 사용한다면 루프백 수신을 유지하는 편이 연결 범위를 제한하기 쉽습니다.
6. 연결 흐름에 따라 수정 결과 확인
수정 후에는 먼저 앞의 두 단계를 확인하고, 그다음 노드가 작동하는지 판단하세요. 10818을 다시 조회해 해당 코어의 PID가 수신 중인지 확인합니다. 로그에 바인딩 오류가 더 이상 반복되지 않으면 로컬 수신이 설정된 것입니다. 이것만으로 원격 연결까지 정상이라고 단정할 수는 없습니다.
- 이전 포트 확인: 이전 포트를 다른 프로그램이 사용하고 있었다면 계속 수신 중인 것이 정상일 수 있습니다. 이전 포트가 반드시 사라져야 하는 것은 아닙니다. 새 포트를 올바른 프로세스가 사용 중인지 확인하세요.
- 시스템 프록시 확인: 자동 설정 후 시스템 프록시 포트가 현재 HTTP 또는 혼합 수신 포트와 일치해야 합니다. SOCKS 수신 포트만 있는 경우 이를 시스템 HTTP 프록시 포트로 바로 지정하지 마세요.
- 실제 접속 확인: 사용 가능한 노드를 선택하고 시스템 프록시를 따르는 브라우저로 이전에 열리지 않던 페이지에 접속하세요. 같은 시간대의 로그를 확인해 로컬 연결 거부, 원격 연결 시간 초과, DNS 오류를 구분하세요.
- 재시작 후 확인: v2rayN을 정상 종료하고 다시 열어 결과를 확인하세요. 필요하면 컴퓨터를 재시작한 뒤 다시 점검합니다. 로그인 후에만 문제가 재현된다면 포트를 반복해서 바꾸기보다 중복 시작 항목을 확인하세요.
로컬 수신은 정상인데 로그에 원격 핸드셰이크 오류나 연결 시간 초과가 나타나기 시작했다면 문제가 다음 단계로 넘어간 것입니다. 이때 노드 주소, 원격 포트, 시스템 시간, 네트워크 환경을 확인하세요. 서로 다른 두 문제를 모두 “10808 포트 사용 중”으로 묶지 않도록 주의하세요.
7. 포트 사용 중 오류 관련 자주 묻는 질문
10818로 바꿨는데 브라우저가 여전히 연결되지 않는 이유는 무엇인가요?
먼저 10818을 올바른 프로세스가 수신 중인지 확인한 다음 「시스템 프록시」 → 「시스템 프록시 자동 설정」을 다시 선택하세요. 브라우저 확장 프로그램에 127.0.0.1:10808이 수동으로 설정되어 있다면 시스템 프록시를 바꿔도 확장 프로그램에는 반영되지 않습니다. 별도로 수정하고 HTTP 또는 SOCKS5 유형이 일치하는지도 확인하세요.
포트를 사용 중인 프로세스가 Xray인데 바로 종료해도 되나요?
PID와 파일 위치를 확인해 어느 클라이언트에 속하는지 파악한 뒤, 해당 알림 영역 인스턴스에서 정상 종료하세요. 클라이언트를 종료했는데 프로세스가 남아 있는 경우에만 해당 프로세스를 종료하는 방안을 고려하세요. 실행 중인 코어가 로컬 포트를 사용하는 것은 정상입니다.
10818을 라우터 포트 포워딩에 추가해야 하나요?
이 컴퓨터의 앱이 루프백 프록시에 연결하는 데 라우터 포워딩은 필요하지 않습니다. 라우터의 공인 연결 지점을 로컬 프록시로 전달해도 수신 충돌은 해결되지 않으며 접근 범위만 넓어질 수 있습니다. 127.0.0.1 수신을 유지하고 로컬 포트와 프로세스 관계를 확인하세요.
클라이언트를 다시 설치했는데도 문제가 계속되는 이유는 무엇인가요?
포트 상태는 실행 중인 프로세스나 시스템 규칙에 따라 결정되므로 클라이언트 파일을 교체해도 포트 사용 상태가 자동으로 해제되지는 않습니다. 먼저 수신 PID, 중복 시작 항목, 제외 범위를 확인하세요. 원인을 파악한 뒤 수신 설정을 조정하는 편이 반복해서 재설치하는 것보다 기존 설정을 보존하고 문제를 찾기 쉽습니다.