이 글은 v2rayN을 이미 다운로드했지만 macOS에서 앱이 열리지 않거나, 실행 후 화면이 나타나지 않거나, 시스템 프록시가 작동하지 않거나, TUN 권한 요청이 반복되는 사용자를 위한 안내입니다. 설치 파일과 프로세서 아키텍처를 확인한 뒤 최초 실행을 허용하고, 네트워크 권한·Xray 코어·로컬 포트를 차례로 점검합니다. 각 단계에서 확인할 결과를 함께 제시해 문제가 어느 계층에서 발생했는지 쉽게 찾을 수 있습니다.
먼저 v2rayN이 멈춘 실행 단계 확인하기
macOS에서 앱이 “열리지 않는” 원인은 하나가 아닙니다. 더블 클릭 직후 “개발자를 확인할 수 없음”이 표시된다면 앱 자체의 실행 과정에 들어가기 전 시스템 보안 정책에 의해 차단된 것입니다. Dock에 아이콘이 잠시 나타났다가 사라지면 앱 아키텍처, 파일 상태, 실행 로그를 확인해야 합니다. 기본 창은 열렸지만 웹페이지가 프록시를 거치지 않는다면 대개 시스템 프록시, Xray 코어 또는 로컬 리스닝 포트가 원인입니다.
문제를 확인할 때 보안 설정, 프록시 모드, 구독, 라우팅 규칙을 한꺼번에 바꾸지 마세요. 한 번에 한 계층만 처리하고 각 단계의 결과를 기록해야 합니다. 그래야 앱은 이미 허용됐는데 잘못된 노드나 포트 충돌 때문에 여전히 실행되지 않는 것으로 오해하는 일을 피할 수 있습니다.
- 더블 클릭하자마자 차단됨: 먼저 “확인되지 않은 개발자” 또는 “악성 소프트웨어가 포함되어 있는지 확인할 수 없음” 알림을 처리합니다.
- 아이콘이 잠깐 나타났다가 사라짐: Apple Silicon 또는 Intel 프로세서에 맞는 빌드인지 확인하고 콘솔에서 종료 기록을 살펴봅니다.
- 창은 열렸지만 서버가 없음: 구독 그룹으로 이동해 구독을 업데이트하고 구독 주소가 아직 유효한지 확인합니다.
- 서버에는 연결되지만 브라우저가 연결되지 않음: 시스템 프록시가 켜져 있는지, 10808 등의 로컬 포트를 다른 프로그램이 사용 중인지 확인합니다.
- 일반 프록시는 작동하지만 TUN은 작동하지 않음: 관리자 승인, 네트워크 확장, 라우팅 테이블, DNS 인계 상태를 중점적으로 확인합니다.
“확인되지 않은 개발자” 및 최초 실행 차단 해결
웹에서 다운로드한 앱을 처음 실행하면 macOS는 격리 속성과 서명 상태를 확인합니다. 차단 알림이 표시된 뒤 계속 더블 클릭해도 결과가 바뀌지 않는 경우가 많습니다. 올바른 방법은 알림을 닫고 시스템 보안 페이지에서 방금 실행을 시도한 v2rayN을 명시적으로 허용하는 것입니다.
허용 버튼은 시스템이 최근 실행 차단을 기록한 뒤에만 표시됩니다. 따라서 “개인정보 보호 및 보안” 페이지 하단에 관련 안내가 없다면 먼저 “응용 프로그램” 폴더로 돌아가 v2rayN을 한 번 더 더블 클릭한 다음 즉시 보안 설정으로 돌아와 확인하세요.
-
앱 이동
다운로드한 파일의 압축을 푼 뒤 v2rayN.app을 “응용 프로그램” 폴더로 이동하세요. 다운로드 폴더나 압축 파일 미리보기 창에서 장기간 실행하지 않는 것이 좋습니다.
-
검사 실행
“응용 프로그램” 폴더에서 v2rayN을 더블 클릭한 뒤 “개발자를 확인할 수 없음” 또는 유사한 알림이 나타나면 대화상자를 닫습니다.
-
보안 페이지 열기
macOS 13~15에서는 「시스템 설정」→「개인정보 보호 및 보안」으로 이동하고, macOS 12에서는 「시스템 환경설정」→「보안 및 개인 정보 보호」→「일반」으로 이동합니다.
-
계속 열기 확인
방금 차단된 v2rayN을 찾아 “그래도 열기”를 클릭하고 Mac 관리자 자격 증명으로 확인한 다음 응용 프로그램 폴더로 돌아가 다시 실행합니다.
-
코어 선택
v2rayN의 「설정」→「매개변수 설정」→「Core 유형」으로 이동해 VMess, VLESS 등의 구성에 Xray 코어를 선택하고 저장합니다.
| 시스템 버전 | 설정 경로 | 예상 결과 |
|---|---|---|
| macOS 12 | 시스템 환경설정 → 보안 및 개인 정보 보호 → 일반 | 패널을 잠금 해제하면 차단된 앱과 허용 버튼이 표시됨 |
| macOS 13 | 시스템 설정 → 개인정보 보호 및 보안 | 페이지 하단에 최근 차단과 관련된 보안 안내가 표시됨 |
| macOS 14 | 시스템 설정 → 개인정보 보호 및 보안 → 보안 | “그래도 열기”를 확인한 뒤 실행 확인 대화상자가 다시 표시됨 |
| macOS 15 | 시스템 설정 → 개인정보 보호 및 보안 | 관리자 인증이 완료되면 앱이 정상 실행 절차로 진입함 |
네트워크 확장, 시스템 프록시, TUN 권한 선택 방법
앱이 열린다는 것은 그래픽 인터페이스가 실행 검사를 통과했다는 뜻일 뿐입니다. 트래픽을 Xray 코어로 전달하려면 어떤 방식으로 네트워크를 인계할지 정해야 합니다. 시스템 프록시는 macOS 프록시 설정을 따르는 앱에 주로 영향을 줍니다. TUN은 가상 네트워크 인터페이스를 만들고 라우팅을 변경해 더 넓은 범위의 트래픽을 처리하므로 더 높은 권한이 필요하며 다른 네트워크 도구, 필터, 기업용 설정의 영향을 받기 쉽습니다.
처음 문제를 해결할 때는 일반 로컬 프록시부터 시작한 뒤 시스템 프록시를 켜고, 마지막으로 TUN을 테스트하는 것이 좋습니다. 처음부터 모든 기능을 켜면 로그에 노드 핸드셰이크 성공이 표시되더라도 웹페이지가 열리지 않는 원인이 DNS인지, 라우팅 테이블인지, 네트워크 확장인지, 노드 자체인지 구분하기 어렵습니다.
로컬 프록시만 사용
Xray가 127.0.0.1에서만 포트를 수신하도록 하고 시스템 네트워크 설정은 변경하지 않습니다. 브라우저에 프록시를 직접 지정해 코어가 정상인지 확인할 수 있습니다.
적합한 경우: 최초 실행, 포트 및 노드 연결 테스트
시스템 프록시
권장v2rayN이 macOS의 HTTP, HTTPS 또는 SOCKS 프록시 설정을 기록합니다. 권한과 영향 범위를 비교적 명확하게 관리할 수 있습니다.
적합한 경우: 일상적인 웹 사용, 앱의 안정적인 작동 확인
TUN 모드
가상 인터페이스를 통해 더 많은 트래픽을 인계합니다. 관리자 승인이 필요하며 기본 라우팅, DNS, 우회 규칙이 변경될 수 있습니다.
적합한 경우: 시스템 프록시를 사용하지 않는 프로그램 및 전체 트래픽 분기
- macOS 13~14에서는 「시스템 설정」→「네트워크」→「VPN 및 필터」에서 작동하지 않는 필터가 네트워크 연결을 계속 점유하고 있지 않은지 확인할 수 있습니다.
- macOS 15에서는 「시스템 설정」→「일반」→「로그인 항목 및 확장 프로그램」에서 네트워크 확장 상태를 확인할 수 있습니다. 현재 빌드가 실제로 확장을 등록한 경우에만 목록에 해당 항목이 표시됩니다.
- TUN을 켠 뒤 관리자 인증 창이 나타나면 요청한 프로세스가 현재 작업과 일치하는지 확인한 다음 Mac 관리자 계정으로 승인하세요.
- 회사에서 관리하는 기기는 구성 프로파일을 통해 네트워크 확장을 제한할 수 있습니다. 이 경우 버튼을 변경할 수 없으며 기기 관리자가 정책을 조정해야 합니다.
- TUN을 끈 뒤에는 가상 인터페이스와 라우팅이 제거될 때까지 몇 초간 기다린 다음 시스템 프록시로 전환하세요. 연속해서 빠르게 켜고 끄지 마세요.
결론: 먼저 시스템 프록시로 정상 기준을 세우세요
127.0.0.1:10808이 정상적으로 전달되고 시스템 프록시로 대상 사이트에 접속되지만 TUN을 켠 뒤에만 네트워크가 끊긴다면 구독이나 프로토콜 매개변수를 계속 수정할 필요가 없습니다. 네트워크 확장, DNS, 라우팅 충돌을 바로 확인하세요.
sudo 요청, Xray 코어, 로컬 포트 점검
TUN이 가상 인터페이스를 만들거나 라우팅을 기록하거나 DNS를 조정할 때 시스템에서 관리자 승인 요청을 표시할 수 있습니다. sudo는 연결 프로토콜이 아니며 노드 속도를 높여 주지도 않습니다. 현재 작업이 보호된 네트워크 설정을 변경하도록 허용할 뿐입니다. 일반적인 시스템 프록시는 관리자 권한을 계속 보유할 필요가 없으므로 실행할 때마다 승인 요청이 반복된다면 TUN이 자동으로 켜지는지, 또는 이전 종료 과정에서 네트워크 상태가 복구되지 않았는지 확인해야 합니다.
출처가 불분명한 알림에서 관리자 명령 전체를 복사하지 마세요. 먼저 요청을 취소하고 TUN을 끈 뒤 일반 모드에서 v2rayN이 실행되는지 확인합니다. 이후 TUN을 다시 열고 승인 창이 현재 클릭 동작 직후 나타나는지 관찰하세요. 요청 시점, 앱 이름, 작업 내용이 일치하지 않는다면 승인을 중단하고 앱 출처와 실행 로그를 다시 확인해야 합니다.
앱 내부 점검 경로
1. 「설정」→「매개변수 설정」→「Core 유형」→ Xray 선택
2. 로컬 리스닝 주소가 127.0.0.1인지 확인
3. SOCKS 또는 혼합 프록시 포트를 확인합니다. 일반적인 값은 10808입니다
4. 설정을 저장한 뒤 코어를 다시 시작합니다. 기기 전체를 반복해서 재시작하지 마세요
터미널 읽기 전용 점검
lsof -nP -iTCP:10808 -sTCP:LISTEN
scutil --proxy
netstat -rn | head -n 20
lsof에 출력이 있다면 리스닝 프로세스가 현재 v2rayN 또는 Xray에 속하는지 중점적으로 확인합니다. 다른 프로그램이 사용 중이라면 해당 프로그램을 먼저 종료하거나 매개변수 설정에서 사용하지 않는 포트(예: 10818)로 변경한 뒤 시스템 프록시도 함께 업데이트하세요. scutil --proxy는 현재 시스템 프록시가 예상한 로컬 주소를 가리키는지 확인하는 명령이며, 메뉴 막대 아이콘만으로 설정이 기록됐다고 판단해서는 안 됩니다.
- 서버 목록에서 구성이 명확하고 최근까지 사용할 수 있었던 노드를 하나 선택해 활성 서버로 지정합니다.
- 실행 로그를 열고 Xray 코어를 한 번 다시 시작한 뒤 “address already in use”와 같은 포트 충돌 메시지가 없는지 확인합니다.
- 구성의 프로토콜과 Core 유형이 일치하는지 확인합니다. VLESS, VMess 등의 구성은 우선 현재 Xray 코어로 처리하세요.
- 먼저 라우팅 분기를 끄고 가장 단순한 프록시 경로로 연결을 확인합니다. 성공한 뒤 geosite, geoip 및 사용자 지정 규칙을 다시 활성화하세요.
- 시스템 프록시 설정이 남아 있다면 먼저 v2rayN에서 시스템 프록시를 끄고 앱을 종료한 다음 macOS 네트워크 설정에서 프록시 항목을 확인합니다.
결론: 승인이 완료되어도 코어가 리스닝 중이라는 뜻은 아닙니다
관리자 인증은 시스템 수준의 네트워크 변경 권한만 해결합니다. 최종적으로는 Xray 로그, 로컬 포트 리스닝, 시스템 프록시 대상이라는 세 가지 결과를 기준으로 판단해야 합니다. 어느 하나라도 빠지면 브라우저에 연결 시간 초과가 나타날 수 있습니다.
아이콘이 갑자기 종료되거나 창이 표시되지 않거나 “앱이 손상됨”이 나타나는 경우
v2rayN 아이콘이 Dock에 몇 초간 나타났다가 사라진다면 먼저 macOS 기본 앱인 “콘솔”을 열고 충돌 보고서에서 v2rayN 또는 관련 코어 프로세스 이름으로 검색하세요. 아키텍처 불일치, 동적 런타임 라이브러리 로드 실패, 구성 파일 구문 오류는 모두 기본 창이 표시되기 전에 발생할 수 있으므로 이때 시스템 프록시를 수정해도 소용이 없습니다.
“앱이 손상됨”을 곧바로 보안 허용 문제로 단정해서는 안 됩니다. 다운로드가 완료되지 않았거나, 압축 해제 도구가 패키지 구조를 변경했거나, 앱이 아직 읽기 전용 위치에 있거나, 프로세서에 맞지 않는 빌드를 선택한 경우에도 비슷한 알림이 나타날 수 있습니다. 현재 사본을 삭제하고 기기 아키텍처에 맞는 버전을 다시 다운로드한 뒤 시스템 기본 압축 해제 방식으로 풀어 “응용 프로그램” 폴더로 이동하는 것이 좋습니다.
“그래도 열기”를 눌러도 원래 알림으로 돌아가나요?
허용한 대상이 다운로드 폴더의 다른 사본이 아니라 “응용 프로그램” 폴더 안의 v2rayN인지 먼저 확인하세요. 중복 사본을 삭제하고 대상 앱을 다시 더블 클릭한 다음 「시스템 설정」→「개인정보 보호 및 보안」에서 한 번 더 허용합니다.
Dock에 아이콘은 있지만 기본 창을 찾을 수 없나요?
먼저 메뉴 막대에 v2rayN 상태 아이콘이 있는지 확인한 다음 Command+Tab으로 앱을 전환하세요. 그래도 창이 나타나지 않으면 프로세스를 종료하고 기존 구성 폴더를 잠시 다른 곳으로 옮긴 뒤 창 상태나 구성 해석 오류가 원인인지 테스트합니다.
실행할 때마다 관리자 암호를 요구하나요?
v2rayN에서 TUN이 자동 시작으로 설정되어 있는지 확인하세요. TUN을 끈 뒤 한 번 다시 시작합니다. 일반 시스템 프록시에서는 더 이상 권한을 요청하지 않는다면 요청의 원인은 가상 인터페이스 또는 라우팅 조정 과정입니다.
시스템 프록시는 켜졌지만 웹페이지가 계속 시간 초과되나요?
lsof -nP -iTCP:10808 -sTCP:LISTEN을 실행해 포트를 확인한 다음 Xray 로그에서 시작이 완료되었는지 살펴봅니다. 실제 포트가 10808이 아니라면 매개변수 설정에서 로컬 포트와 시스템 프록시 값을 동일하게 맞추세요.
TUN을 켠 뒤 모든 네트워크가 끊기나요?
즉시 TUN을 끄고 가상 인터페이스가 제거될 때까지 기다린 다음 시스템 프록시를 복구하세요. 이후 다른 네트워크 필터를 비활성화하고 DNS와 라우팅 규칙을 확인합니다. 일반 프록시가 작동하는 것을 확인한 뒤 TUN만 따로 테스트하세요.
복구 후 이 목록으로 연결 확인
문제를 해결한 뒤에는 앱 실행, 코어 리스닝, 시스템 프록시, 노드 연결, 라우팅 분기를 계층별로 확인해야 합니다. 메뉴 막대 아이콘의 색이 바뀌었다고 전체 경로가 정상이라고 볼 수는 없습니다. 마찬가지로 브라우저에서 웹페이지 하나가 열린다고 TUN, DNS, 우회 규칙이 예상대로 작동한다고 단정할 수도 없습니다.
먼저 서버 하나를 선택하고 복잡한 라우팅을 끈 상태에서 기본 접속을 테스트한 다음 구독 그룹과 분기 규칙을 복구하세요. 특정 규칙을 복구한 뒤 다시 네트워크가 끊긴다면 macOS 보안 권한을 처음부터 다시 점검하지 않고 규칙 순서, 도메인 집합, 아웃바운드 태그로 원인을 좁힐 수 있습니다.
- 앱 계층: v2rayN 기본 창을 연속으로 두 번 정상적으로 열 수 있고 종료 후 이상 알림이 남지 않습니다.
- 코어 계층: Xray 로그에 구성 로드 완료가 표시되고 로컬 127.0.0.1:10808 또는 사용자 지정 포트가 리스닝 상태입니다.
- 프록시 계층:
scutil --proxy에 표시된 주소와 포트가 v2rayN 매개변수 설정과 일치합니다. - 구독 계층: 구독을 업데이트한 뒤 서버 목록에 항목이 표시되고 현재 서버의 프로토콜, 주소, 포트, 전송 매개변수가 완전합니다.
- 라우팅 계층: 직접 연결, 프록시, 차단 규칙을 단계적으로 복구하면서 규칙이 위에서 아래로 매칭될 때 잘못된 아웃바운드에 먼저 매칭되지 않는지 확인합니다.
- TUN 계층: 켠 뒤 가상 인터페이스가 정상적으로 생성되고 끈 뒤 기본 라우팅과 DNS가 복구되며 네트워크가 계속 끊기는 상태가 남지 않습니다.