이 글의 핵심 내용

v2rayN을 다운로드했지만 macOS에서 처음 실행하거나 네트워크에 연결할 때 막힌 사용자를 위한 안내입니다. 먼저 칩 아키텍처와 앱 출처를 확인한 뒤, 시스템 설정에서 개발자 확인을 처리하고 시스템 프록시, 로컬 네트워크, TUN 권한을 구분해 설정합니다. 로컬 프록시가 정상적으로 수신 대기하는지 확인하고, 브라우저와 터미널의 요청이 실제로 프록시를 거치는지도 점검합니다.

1. 설치 전 칩 아키텍처와 앱 위치 확인

v2rayN은 구독, 노드, 라우팅을 관리하는 데스크톱 클라이언트이며, 실제 프록시 연결은 클라이언트가 실행하는 코어가 처리합니다. 화면이 열려도 코어가 정상적으로 실행됐다는 뜻은 아닙니다. 설치 패키지의 아키텍처가 맞지 않거나 앱이 디스크 이미지 안에 남아 있거나 코어 실행에 실패하면 권한 문제처럼 보일 수 있습니다.

Apple 메뉴에서 ‘이 Mac에 관하여’를 여세요. Apple Silicon Mac에는 macOS ARM64 패키지를, Intel 프로세서가 탑재된 Mac에는 macOS x64 패키지를 선택하세요. 설치 파일과 안내는 다운로드 센터에서 확인할 수 있습니다. 필요한 최소 macOS 버전은 다운로드 페이지와 패키지에 포함된 안내를 따르세요. 파일 압축이 풀린다는 이유만으로 호환된다고 판단하지 마세요.

칩에 맞는 네이티브 패키지

권장

Apple Silicon은 ARM64, Intel은 x64를 선택하세요. 클라이언트와 함께 제공되는 코어 모두 대상 플랫폼에 맞춰야 하며, 아키텍처 변환으로 생기는 변수를 줄이는 것이 좋습니다.

추천 대상: 처음 설치하거나 앱 폴더를 정리하는 경우

Apple Silicon에서 x64 패키지 실행

일부 프로그램은 Rosetta로 실행할 수 있지만, 패키지에 포함된 모든 보조 프로그램이 호환된다는 뜻은 아닙니다. 릴리스 안내에서 지원을 명시한 경우에만 고려하고, 기본 해결책으로 사용하지 마세요.

추천 대상: 호환성 문제로 꼭 필요하며 릴리스 안내를 확인할 수 있는 사용자

디스크 이미지 파일을 다운로드했다면 앱을 ‘응용 프로그램’ 폴더로 드래그한 다음 실행하세요. 압축 파일이라면 먼저 전체 압축을 풀고 함께 제공된 폴더를 그대로 두세요. 앱 파일만 따로 꺼내거나 압축 파일 미리보기에서 바로 실행하지 마세요. 업데이트 전에는 기존 앱을 종료하고 클라이언트 설정을 백업하세요. 백업에 구독 주소가 포함될 수 있으므로 개인 폴더에 보관해야 합니다.

2. ‘개발자를 확인할 수 없음’ 경고 해제하기

이 경고는 대개 macOS의 Gatekeeper 검사에서 발생합니다. 현재 보안 정책에 따라 앱 개발자 신원이나 공증 상태를 확인할 수 없다는 뜻입니다. 노드 사용 가능 여부나 VMess, VLESS 설정과는 관계가 없습니다. 먼저 다운로드 출처와 앱 이름을 확인한 다음 해당 앱만 허용하세요. Mac 전체의 보안 검사를 끌 필요는 없습니다.

  1. 경고 한 번 표시하기

    Finder의 ‘응용 프로그램’ 폴더에서 v2rayN을 이중 클릭하세요. 경고창의 문구를 확인한 다음 창을 닫습니다. 앱 출처를 확인하기 전에는 계속 진행하거나 권한을 부여하지 마세요.

  2. 보안 설정 열기

    Apple 메뉴에서 ‘시스템 설정’ → ‘개인정보 보호 및 보안’으로 이동한 뒤 아래쪽의 ‘보안’ 영역을 확인하세요. 앱이 차단된 직후라면 해당 앱을 허용하는 안내가 표시될 수 있습니다.

  3. ‘그래도 열기’ 선택

    안내에 표시된 앱이 v2rayN인지 확인한 뒤 ‘그래도 열기’를 클릭하세요. 시스템 안내에 따라 Touch ID 또는 관리자 인증으로 확인하고, 다음 대화상자에서 ‘열기’를 선택합니다.

  4. 다시 실행 상태 확인

    메인 화면이 나타날 때까지 기다린 다음 클라이언트 로그에서 보조 프로그램 차단, 아키텍처 미지원, 코어 실행 실패가 발생했는지 확인하세요. 새 보안 경고가 뜨면 어떤 구성 요소인지 확인하고, 출처를 알 수 없는 파일을 반복해서 허용하지 마세요.

위 경로는 ‘시스템 설정’을 사용하는 최신 macOS 기준입니다. 구형 macOS에서는 ‘시스템 환경설정’ → ‘보안 및 개인정보 보호’ → ‘일반’으로 표시될 수 있습니다. 버튼 문구는 버전에 따라 다를 수 있습니다. 특히 macOS 15 이상에서는 ‘Control 키를 누른 채 열기’를 보편적인 우회 방법으로 사용하지 말고, ‘개인정보 보호 및 보안’의 시스템 안내를 따르세요.

‘그래도 열기’ 버튼이 없다면 앱 실행을 다시 시도해 차단 경고를 표시한 후 설정으로 돌아가 확인하세요. 조직에서 관리하는 Mac은 기기 관리 정책으로 제한될 수 있으므로 관리자에게 문의해야 합니다. 관리자 계정으로도 조직 정책을 우회할 수 있다고 보장할 수 없습니다.

3. 시스템 프록시, 로컬 네트워크, TUN 권한 구분하기

macOS에는 한 번 허용하면 모든 네트워크 문제가 해결되는 ‘통합 권한’이 없습니다. 일반적인 외부 연결에는 별도 확인이 필요하지 않지만, 로컬 네트워크 접근, 시스템 프록시 변경, 특권 보조 구성 요소 설치, TUN 인터페이스 생성은 각각 다른 작업입니다. 먼저 범위가 좁은 시스템 프록시를 사용해 확인한 뒤 필요할 때 TUN을 활성화하세요.

먼저 시스템 프록시를 사용하고, 필요하면 TUN 활성화

시스템 프록시 방식
  • 시스템 프록시를 따르는 브라우저와 앱을 로컬 인바운드에 연결합니다.
  • v2rayN의 시스템 프록시 메뉴에서 ‘시스템 프록시 자동 설정’을 선택하세요. 버전에 따라 메뉴 위치가 다를 수 있습니다.
  • 네트워크 서비스의 프록시 설정을 변경할 때 관리자 인증이 필요할 수 있습니다.
TUN 방식
  • 사용 중인 버전이 macOS TUN을 지원한다면 가상 네트워크 인터페이스로 트래픽을 처리합니다.
  • 실제 시스템 안내에 따라 보조 구성 요소 설치, 권한 상승 또는 네트워크 구성 승인이 필요할 수 있습니다.
  • 라우팅과 DNS를 변경하는 기능이므로 스위치가 켜졌다는 이유만으로 트래픽이 정상적으로 처리된다고 판단하면 안 됩니다.

먼저 트래픽을 처리하는 방식을 하나만 활성화하세요. 시스템 프록시가 작동하는 것을 확인한 뒤 TUN을 따로 테스트하면 문제가 발생한 계층을 구분하기 쉽습니다.

시스템 프록시를 확인하려면 ‘시스템 설정’ → ‘네트워크’ → 현재 사용 중인 Wi-Fi 또는 이더넷 서비스 → ‘세부사항’ → ‘프록시’로 이동하세요. HTTP, HTTPS 또는 SOCKS 항목이 올바른 포트의 로컬 루프백 주소를 가리키는지 확인합니다. 여기에 원격 노드 서버 주소를 입력하지 마세요. 해당 항목은 컴퓨터에서 실행 중인 로컬 프록시에 연결해야 합니다.

4. 로컬 수신 대기 포트와 시스템 프록시 설정 확인

구독을 가져온 다음 노드를 선택해 활성 서버로 지정하고, 로그에서 코어가 실행됐는지 확인하세요. ‘설정’ → ‘매개변수 설정’에서 로컬 수신 대기 설정을 확인합니다. 버전에 따라 ‘로컬 포트’나 ‘인바운드 설정’ 등으로 표시될 수 있습니다. 화면과 로그에 표시된 실제 포트와 프로토콜을 기준으로 판단하세요. 안내에 나온 숫자가 모든 버전의 기본값이라고 가정하면 안 됩니다.

10808
이 글의 HTTP 또는 혼합 인바운드 포트 예시
443
아래 HTTPS 테스트에 사용할 대상 포트

아래 예시는 클라이언트에서 127.0.0.1:10808이 HTTP 프록시 연결을 허용하는 것을 확인했다고 가정합니다. 해당 포트가 SOCKS 인바운드만 지원한다면 아래 SOCKS 명령을 사용하세요. 실제 포트가 다르면 먼저 명령의 포트를 변경합니다. 예시를 그대로 적용하려고 현재 작동하는 설정을 덮어쓰지 마세요.

HTTP 테스트 매개변수

수신 대기 주소
127.0.0.1
예시 포트
10808
명령에서 사용하는 프로토콜
http://
지원되는 인바운드
HTTP 또는 HTTP를 지원하는 혼합 인바운드

시스템 HTTP 및 HTTPS 프록시는 같은 로컬 HTTP 프록시 포트에 연결할 수 있습니다.

SOCKS 테스트 매개변수

수신 대기 주소
127.0.0.1
예시 포트
10808
명령에서 사용하는 프로토콜
socks5h://
지원되는 인바운드
SOCKS 또는 SOCKS를 지원하는 혼합 인바운드

socks5h는 대상 도메인 이름을 프록시에서 조회합니다. 순수 HTTP 인바운드에서는 이 명령을 사용할 수 없습니다.

‘터미널’을 열고 먼저 포트 수신 대기 상태를 확인한 다음 시스템 프록시 상태를 확인하세요. 아래 명령은 상태만 조회하며 네트워크 설정을 변경하지 않습니다.

lsof -nP -iTCP:10808 -sTCP:LISTEN
scutil --proxy

첫 번째 명령에서 해당 포트를 수신 대기 중인 프로세스를 찾을 수 있어야 합니다. 출력이 없다면 먼저 코어 실행 상태나 포트 설정을 확인하세요. 두 번째 명령은 현재 시스템 프록시 설정을 조회합니다. HTTPEnable, HTTPProxy, HTTPPort 등의 항목을 확인하세요. 활성화된 항목은 실제 로컬 인바운드 설정과 일치해야 합니다. 프록시가 활성화된 것만으로 원격 노드에 연결할 수 있다고 단정할 수는 없습니다.

5. 프록시를 명시한 명령으로 연결 확인

macOS 터미널에서 실행되는 프로그램은 시스템 프록시 설정을 자동으로 사용하지 않을 수 있습니다. 따라서 브라우저는 연결되는데 일반 curl은 실패하더라도 v2rayN 문제라고 단정할 수 없습니다. 먼저 프록시를 명시하는 명령을 사용해 앱의 프록시 사용 여부와 프록시 자체의 연결 상태를 따로 확인하세요.

# HTTP 프록시를 지원하는 로컬 인바운드용
curl --noproxy "" --proxy http://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/

# 해당 포트에서 SOCKS를 지원하는 경우에만 사용
curl --noproxy "" --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/

실제 인바운드 유형에 맞는 명령 하나만 실행하면 됩니다. --noproxy ""는 환경 변수에 설정된 프록시 우회 목록이 이번 테스트에 영향을 주지 않도록 합니다. HTTP 응답이 반환되면 이번 요청이 대상 사이트와 통신을 완료한 것입니다. 모든 앱의 트래픽이 프록시를 거친다거나 모든 웹사이트에 접속할 수 있다는 뜻은 아닙니다. HTTP 프록시에서 터널이 설정됐다고 표시되더라도 최종 사이트의 응답이나 오류를 확인해야 합니다.

증상우선 확인할 항목다음 단계
로컬 포트 연결이 거부됨코어가 실행되지 않았거나 포트가 잘못 입력됨시스템 권한은 먼저 변경하지 말고 로그와 수신 대기 상태를 확인하세요.
로컬 포트에 연결되지만 원격 연결 시간이 초과됨활성 노드, 서버 주소, 전송 및 TLS 매개변수코어 오류를 확인하고 정상 작동이 확인된 다른 노드와 비교하세요.
프록시를 명시하면 성공하지만 브라우저에서는 실패함시스템 프록시, 브라우저 자체 프록시, 우회 규칙현재 네트워크 서비스와 브라우저 설정을 확인하세요.
시스템 프록시는 작동하지만 TUN은 실패함보조 구성 요소, 라우팅, DNS, 다른 터널TUN을 끄고 기본 상태를 복구한 뒤 관련 로그를 항목별로 확인하세요.

구독 가져오기에 성공했다는 것은 클라이언트가 설정을 읽었다는 뜻일 뿐입니다. VMess, VLESS 등의 프로토콜을 사용하려면 유효한 서버 정보와 인증 매개변수가 필요하며, TLS 연결에는 올바른 시스템 시간과 서버 이름도 필요합니다. 노드 설정 오류는 네트워크 권한을 반복해서 승인해도 해결되지 않습니다. 설정을 더 확인하려면 설정 전체 안내를 참고하세요. 항목의 의미를 먼저 파악한 뒤 원본 구독을 수정하세요.

6. 종료, 업데이트 및 문제 복구

처음 설치한 뒤에는 종료 테스트를 해보는 것이 좋습니다. 클라이언트에서 시스템 프록시를 해제하고 TUN을 끈 다음 v2rayN을 종료하세요. 브라우저가 기존 직접 연결 방식으로 네트워크에 접속할 수 있어야 합니다. 프로세스를 강제 종료하면 중지된 수신 대기 포트를 가리키는 시스템 프록시 설정이 남을 수 있습니다. 이 경우 클라이언트를 종료한 뒤 오히려 모든 웹페이지가 열리지 않을 수 있습니다.

마지막으로 앱 실행, 코어의 수신 대기, 올바른 프록시 경로를 통한 요청 완료를 각각 확인하세요. 이 세 단계를 구분하면 개발자 확인, macOS 권한, 노드 연결 문제를 혼동하지 않을 수 있습니다. 구독 업데이트나 포트 충돌 문제는 자주 묻는 질문에서도 확인할 수 있습니다.