v2rayN LAN 프록시 공유 설정: 같은 네트워크의 다른 기기에서 프록시 사용

v2rayN에서 LAN 연결을 허용하는 방법, 수신 주소와 포트의 의미, macOS 방화벽 설정, 다른 기기에서 프록시를 수동으로 설정하는 방법을 안내합니다.

핵심 내용

v2rayN을 실행하는 Mac을 LAN 프록시 게이트웨이로 사용하려면 세 가지 조건을 충족해야 합니다. 프록시 포트가 LAN 인터페이스에서 연결을 수신하고, 방화벽이 들어오는 연결을 허용하며, 다른 기기에 올바른 호스트 주소와 포트를 입력해야 합니다. 이 글에서는 예시 주소 192.168.1.20, HTTP 포트 10809, SOCKS5 포트 10808을 사용해 설정과 문제 해결 방법을 설명합니다. 예시 값이므로 실제 설정 전 클라이언트에서 사용하는 값을 확인하세요.

LAN 공유와 시스템 프록시의 차이

Mac에서 시스템 프록시를 켜면 시스템 프록시 설정을 따르는 로컬 앱의 요청이 v2rayN으로 전달됩니다. 그렇다고 다른 기기에서도 프록시를 자동으로 사용할 수 있는 것은 아닙니다. LAN 공유는 Mac에서 같은 네트워크의 기기가 접속할 수 있도록 HTTP 또는 SOCKS 수신 포트를 열고, 다른 기기가 이 포트에 직접 연결하는 방식입니다.

요청은 ‘다른 기기 → Mac의 로컬 수신 포트 → v2rayN의 현재 라우팅 및 아웃바운드 → 대상 사이트’ 순서로 전달됩니다. 원격 노드 주소와 UUID 등의 인증 정보는 Mac의 클라이언트 설정에 남아 있습니다. 연결하는 기기에는 보통 Mac의 LAN 주소, 수신 프로토콜, 포트만 알면 됩니다. 사용 전에 구독 서비스가 이러한 사용 방식과 동시 연결 수를 허용하는지 확인하세요.

수신 주소, LAN IP, 포트의 관계

가장 흔한 실수는 다른 기기에 127.0.0.1을 입력하는 것입니다. 루프백 주소는 항상 그 주소를 입력한 기기 자신을 가리키며, v2rayN을 실행하는 Mac을 가리키지 않습니다. 또 다른 실수는 0.0.0.0을 프록시 서버 주소로 사용하는 것입니다. 이 주소는 서버에서 연결을 수신할 때 쓰며, 클라이언트가 연결할 대상으로 사용할 수 없습니다.

설정값의미다른 기기에 입력할 값
127.0.0.1로컬 루프백 인터페이스에서만 수신이 수신 설정으로는 다른 기기에서 연결할 수 없음
0.0.0.0모든 로컬 IPv4 인터페이스에서 수신Mac의 실제 LAN IPv4 주소 입력
192.168.1.20이 글에서 사용하는 Mac LAN 주소 예시현재 Mac의 실제 주소로 바꾸기
10809이 글에서 사용하는 HTTP 수신 포트 예시HTTP 프록시를 제공하는지 확인한 경우에만 사용
10808이 글에서 사용하는 SOCKS5 수신 포트 예시SOCKS5를 제공하는지 확인한 경우에만 사용

버전, 코어, 기존 설정에 따라 포트가 다를 수 있으며, HTTP와 SOCKS를 함께 처리하는 수신 포트가 제공되기도 합니다. 포트 번호만 보고 프로토콜을 추측하지 마세요. 먼저 매개변수 설정이나 생성된 설정 파일에서 수신 포트를 확인한 뒤 HTTP 또는 SOCKS5 중 무엇을 입력할지 결정해야 합니다. 설정에 IPv6 와일드카드 수신 주소 ::가 있더라도 이 항목만으로 IPv4 연결이 가능하다고 단정할 수는 없습니다. 실제로 연결해 확인하세요.

요약: 프로토콜을 확인한 다음 주소를 입력하세요

사용 가능한 HTTP 수신 포트를 확인한 뒤 두 번째 기기에서 Mac의 실제 LAN IP로 연결하세요. 첫 테스트에서는 이 연결 하나만 확인하고, 포트와 라우팅, DNS를 동시에 변경하지 마세요.

v2rayN에서 LAN 연결 허용하기

먼저 Mac에서 현재 노드가 정상적으로 작동하는지 확인한 다음 LAN 접속을 허용하세요. 아래는 일반적인 데스크톱 화면을 기준으로 설명합니다. 버전에 따라 하위 메뉴와 스위치의 이름은 다를 수 있지만, 찾아야 하는 항목은 로컬 수신 포트의 수신 범위입니다. 원격 서버 주소나 원격 서버 포트가 아닙니다.

  1. Mac에서 먼저 연결 확인

    v2rayN을 실행하고 사용 가능한 서버를 선택한 뒤, Mac의 로컬 프록시로 대상 사이트에 접속합니다. Mac에서도 연결되지 않는다면 먼저 노드, 구독 또는 코어 시작 문제를 해결하세요. 바로 LAN 문제를 점검할 필요는 없습니다.

  2. LAN 연결 허용

    ‘설정’ → ‘매개변수 설정’으로 이동한 다음 코어 기본 설정 또는 수신 관련 페이지에서 ‘LAN에서 들어오는 연결 허용’과 비슷한 스위치를 찾아 켭니다. 해당 항목이 보이지 않으면 사용 중인 버전의 수신 설정 안내를 확인하세요. 이름이 비슷한 원격 서버 설정은 변경하지 마세요.

  3. 수신 포트 확인

    같은 설정 영역에서 HTTP, SOCKS 또는 혼합 수신 포트의 실제 포트 번호를 확인합니다. 이후 설명에서는 HTTP 포트 10809를 예로 듭니다. 혼합 포트만 제공되는 경우 해당 포트가 HTTP 프록시 요청을 받는지 확인하세요.

  4. 설정 저장 및 다시 불러오기

    설정을 저장해 클라이언트가 코어 설정을 다시 불러오도록 합니다. 코어를 재시작하라는 안내가 표시되면 그대로 진행하세요. 그런 다음 로그에서 포트 충돌, 설정 불러오기 실패, 수신 실패가 있는지 확인합니다.

  5. Mac의 IP 주소 확인

    macOS ‘시스템 설정’ → ‘네트워크’ → 현재 연결된 네트워크 서비스 → ‘세부사항’ → ‘TCP/IP’로 이동해 IPv4 주소를 확인합니다. Mac이 유선과 무선 네트워크에 동시에 연결되어 있다면, 연결할 기기와 통신할 수 있는 네트워크의 주소를 선택하세요.

Mac의 ‘터미널’에서 아래 읽기 전용 명령을 실행해 예시 포트가 TCP 연결을 수신 중인지 확인할 수 있습니다. 다른 포트를 사용하는 경우 명령의 숫자를 바꾸세요. 권한 제한으로 결과가 완전하지 않다면 코어 로그도 함께 확인해야 합니다.

lsof -nP -iTCP:10809 -sTCP:LISTEN

결과에 127.0.0.1:10809만 표시되면 로컬 기기에서만 접속할 수 있는 상태입니다. *:10809가 표시되더라도 출력에 나타난 IPv4 또는 IPv6 유형으로 수신 범위를 확인하고, 다른 기기에서 접속을 테스트하세요. 클라이언트가 생성한 config.json에서 inbounds의 listen, port, protocol 항목을 확인할 수 있습니다. 하지만 생성된 파일을 직접 수정해 장기적인 설정으로 사용하지 마세요. 다음에 저장하거나 노드를 바꾸면 덮어써질 수 있습니다.

macOS 방화벽 및 라우터 격리 확인

연결 수신에 성공했다고 해서 LAN 요청이 프로세스에 도달한다는 보장은 없습니다. macOS 방화벽, 다른 네트워크 필터링 도구, 라우터의 격리 설정이 연결을 차단할 수 있습니다. 문제를 해결할 때는 방화벽을 유지하고 필요한 프로그램만 허용하세요. 방화벽을 계속 꺼 두는 방법은 공유 설정으로 적절하지 않습니다.

  1. macOS ‘시스템 설정’ → ‘네트워크’ → ‘방화벽’ → ‘옵션’으로 이동합니다. macOS 버전에 따라 메뉴 이름이나 위치가 조금씩 다를 수 있습니다.
  2. ‘모든 들어오는 연결 차단’이 켜져 있는지 확인합니다. 이 정책을 유지해야 한다면 일반 앱의 수신 포트는 이 글의 방법대로 작동하지 않을 수 있습니다. 관리되는 기기라면 먼저 관리자 정책을 따르세요.
  3. 앱 목록에서 v2rayN의 수신 권한을 확인하고, 필요하면 들어오는 연결을 허용하도록 설정합니다. 시스템에서 네트워크 수신 요청을 표시하면 요청한 프로그램이 현재 사용하는 클라이언트와 일치하는지 확인하세요.
  4. 계속 차단된다면 lsof의 프로세스 정보로 실제 수신 프로세스를 확인하세요. 일부 패키지에서는 코어 프로세스가 직접 연결을 수신하므로, 출처가 불분명한 프로그램을 무작정 허용하지 말고 해당 프로세스의 권한을 확인해야 합니다.
  5. 라우터에서 ‘게스트 네트워크’, ‘AP 격리’, ‘클라이언트 격리’가 설정되어 있는지 확인합니다. 두 기기를 서로 통신할 수 있는 신뢰할 수 있는 기본 네트워크에 연결하세요. 이 문제를 해결하기 위해 공용 인터넷에 포트 포워딩을 설정하지 마세요.

다른 기기에서 HTTP와 SOCKS5 중 무엇을 선택할까요?

먼저 앱이 지원하는 프록시 유형에 맞춰 수신 포트를 선택하세요. HTTP 프록시는 CONNECT를 통해 일반적인 HTTPS 요청도 처리할 수 있으므로, 이름에 HTTP가 있다고 해서 일반 HTTP 웹페이지에만 사용할 수 있는 것은 아닙니다. SOCKS5는 앱이나 시스템에서 명시적으로 지원해야 하며, SOCKS 포트를 HTTP 프록시 입력란에 넣어서는 안 됩니다.

HTTP 수동 프록시

권장

호스트 192.168.1.20, 포트 10809를 예로 들면 서버와 포트 입력란에 각각 입력합니다. 첫 테스트에서는 브라우저에서 이 연결을 통해 웹페이지가 열리는지만 확인하면 됩니다.

권장 환경: Android Wi-Fi, Windows 시스템 프록시, HTTP 프록시 설정을 제공하는 앱

앱에서 SOCKS5 프록시 설정

앱에서 SOCKS5를 선택하고 호스트 192.168.1.20과 예시 포트 10808을 입력합니다. 도메인을 기기에서 조회할지 프록시 측에서 조회할지는 앱의 원격 DNS 옵션에서 별도로 확인하세요.

권장 환경: SOCKS5를 명시적으로 지원하는 데스크톱 앱, 명령줄 도구, Linux 환경

서버 입력란에는 보통 192.168.1.20만 입력하고, http://는 추가하지 않습니다. 포트는 별도의 포트 입력란에 넣으세요. ‘프록시 URL’을 명시적으로 요구하는 도구에서만 전체 URL을 사용합니다. 수신 포트에 인증이 설정되어 있다면 원격 노드의 UUID가 아니라 해당 수신 포트에서 요구하는 사용자 이름과 비밀번호를 입력해야 합니다.

명령으로 포트 연결 문제와 프록시 요청 실패 구분하기

아래 테스트는 공유를 제공하는 Mac이 아니라 다른 기기에서 실행해야 합니다. macOS와 일반적인 Linux 환경에서는 curl을 사용할 수 있습니다. Windows에서는 터미널 환경의 동명 명령 별칭이 결과에 영향을 주지 않도록 curl.exe를 실행하세요. 테스트에는 예시 도메인을 사용하며, 요청 과정을 확인하기 위한 것으로 모든 대상 사이트에 대한 접속을 보장하지 않습니다.

# HTTP 수신 포트: Mac의 실제 주소와 사용 중인 포트로 바꾸기
curl --noproxy "" -I -v --connect-timeout 5 --max-time 15 \
  --proxy http://192.168.1.20:10809 https://example.com/

# SOCKS5 수신 포트: socks5h는 도메인 조회를 프록시 측에 맡긴다는 뜻
curl --noproxy "" -I -v --connect-timeout 5 --max-time 15 \
  --proxy socks5h://192.168.1.20:10808 https://example.com/
확인된 결과우선 점검할 항목다음 조치
연결 거부됨포트 오류, 코어 미실행, 루프백 주소에서만 수신Mac에서 수신 상태와 시작 로그를 확인하고, 연결을 명시적으로 거부하는 필터 규칙도 확인하세요.
연결 시간 초과주소에 연결할 수 없음, 방화벽에서 패킷 차단, 무선 네트워크 격리현재 IP와 네트워크 서비스를 확인하고 수신 권한 및 게스트 네트워크 설정을 점검하세요.
407 응답HTTP 수신 포트에서 프록시 인증을 요구함수신 포트의 인증 정보를 입력하세요. 노드 인증 정보로 대신할 수 없습니다.
연결은 되었지만 요청 실패프로토콜 불일치, 아웃바운드 사용 불가, DNS 또는 라우팅 문제요청 시간과 대조해 코어 로그를 확인하고 예상한 아웃바운드 경로를 사용했는지 확인하세요.
대상 사이트에서 응답을 받음해당 프록시 요청의 연결 경로가 정상적으로 설정됨자주 사용하는 앱과 앱별 프록시 설정도 추가로 확인하세요.

위의 연결 시간 초과 5초와 전체 시간 초과 15초는 문제 해결용 설정이며, 속도나 지연 시간 측정 결과가 아닙니다. 웹페이지 하나가 열렸다고 해서 UDP, 게임, 실시간 통화도 프록시를 통과한다는 뜻은 아닙니다. HTTP 프록시는 일반적으로 임의의 UDP 트래픽을 전달할 수 없습니다. SOCKS5의 UDP 전달도 연결 앱, 수신 포트, 이후 연결 경로의 지원 여부에 따라 달라지므로 공유를 켰다는 이유만으로 지원을 보장할 수 없습니다.

LAN 프록시 공유 관련 자주 묻는 질문

Mac에서는 인터넷이 되는데 다른 기기에서 연결 시간이 초과되는 이유는 무엇인가요?

먼저 lsof로 포트가 127.0.0.1에서만 수신 중인지 확인한 다음, 다른 기기에 Mac의 현재 LAN IP를 입력했는지 점검하세요. 이어서 방화벽과 게스트 네트워크 격리를 확인하세요. 구독을 초기화하거나 원격 노드를 바꾸는 일은 우선하지 마세요.

휴대폰 브라우저에서는 열리는데 특정 앱은 프록시를 사용하지 않는 이유가 무엇인가요?

Android Wi-Fi의 수동 프록시 설정을 모든 앱이 따르는 것은 아닙니다. 먼저 해당 앱에 별도의 HTTP 또는 SOCKS5 설정이 있는지 확인하세요. 기기에서 별도로 프록시를 설정해야 한다면 필요에 따라 v2rayNG 또는 v2flyNG를 설정하세요. Mac의 포트를 계속 바꾸는 것은 해결 방법이 아닙니다.

어제는 됐는데 오늘 같은 주소로 연결되지 않는 이유가 무엇인가요?

Mac의 네트워크 세부사항에서 IPv4 주소를 다시 확인하세요. DHCP 임대 갱신이나 네트워크 변경으로 주소가 바뀔 수 있습니다. 장기간 사용할 예정이라면 직접 소유한 라우터에서 DHCP 주소 예약을 설정해 보세요. 다른 기기와 충돌할 수 있는 정적 주소를 임의로 입력하지 마세요.

공유를 끝낸 뒤 어떤 설정을 꺼야 하나요?

먼저 연결한 기기에서 수동 프록시 설정을 해제한 다음, v2rayN의 LAN 연결 허용을 끄고 코어를 다시 불러오세요. 수신 확인 명령으로 포트가 루프백 주소만 수신하거나 더 이상 수신하지 않는지 확인합니다. 그렇지 않으면 기기가 다른 네트워크에 연결된 뒤에도 이전 주소로 접속을 시도할 수 있습니다.

안정적으로 공유하려면 주소와 수신 설정, 접근 범위를 관리해야 합니다. 처음 설정한 뒤 수신 프로토콜과 포트, 라우팅 모드를 기록해 두면 충분합니다. 생성된 설정 파일 전체를 모든 기기에 배포할 필요는 없습니다. 클라이언트를 업데이트하거나 코어를 바꾼 뒤에는 다른 기기에서 다시 연결해 공유 설정이 계속 작동하는지 확인하세요.

v2rayN 다운로드플랫폼에 맞는 클라이언트 선택