핵심 내용

이미 v2rayN을 다운로드했지만 macOS 보안 경고나 네트워크 권한 창에서 진행이 막힌 사용자에게 적합합니다. 먼저 앱 출처와 칩 아키텍처를 확인한 뒤 시스템 보안 설정에서 실행을 허용하고, 시스템 프록시 또는 TUN에 필요한 권한을 각각 승인합니다. 마지막으로 로컬 포트, 연결 로그, 실제 요청을 통해 설정을 확인합니다.

차단이 발생한 계층부터 확인하기

‘열 수 없음’에는 여러 원인이 있습니다. macOS의 Gatekeeper는 처음 실행하는 앱을 확인하고, 시스템 프록시는 프록시 설정을 따르는 프로그램의 트래픽을 v2rayN으로 전달하며, TUN 모드는 가상 네트워크 인터페이스를 생성해야 합니다. 세 단계에서 경고가 연속으로 나타날 수 있지만 처리 경로는 서로 다릅니다.

더블클릭 직후 ‘개발자를 확인할 수 없음’ 또는 ‘신원을 알 수 없는 개발자가 배포한 앱’이 표시된다면 앱 실행 단계에서 차단된 것입니다. 이때는 클라이언트 코어가 아직 실행되지 않았으므로 구독, VMess, VLESS, 라우팅 규칙, DNS는 관련이 없습니다. 먼저 보안 허용을 처리하고 노드 매개변수를 반복해서 수정하지 마세요.

메인 화면은 열리지만 노드를 선택한 뒤 트래픽이 흐르지 않는다면 상태 표시줄, 코어 로그, 시스템 네트워크 설정을 확인하세요. 시스템 프록시는 macOS 프록시 설정을 읽는 앱의 트래픽만 처리하고, TUN은 가상 인터페이스를 통해 더 넓은 범위의 트래픽을 처리합니다. 두 방식은 필요한 시스템 권한도 다릅니다.

시스템 설정에서 실행 허용

권장

Gatekeeper의 확인 절차는 유지하고, 방금 차단된 v2rayN에 대해서만 한 번 명시적으로 실행을 허용합니다.

적합한 경우: 처음 실행할 때 개발자를 확인할 수 없다는 경고가 표시될 때

시스템 프록시 모드

HTTP, HTTPS 또는 SOCKS 프록시 설정을 기록하며, 일반적으로 가상 네트워크 인터페이스를 만들 필요가 없습니다.

적합한 경우: 브라우저 및 시스템 프록시를 따르는 데스크톱 앱

TUN 모드

가상 인터페이스를 만들고 더 많은 트래픽을 처리합니다. 처음 활성화할 때 관리자 인증이나 네트워크 확장 권한이 필요할 수 있습니다.

적합한 경우: 시스템 프록시 설정을 읽지 않는 앱

먼저 파일 확인: macOS에 맞는 아키텍처 버전을 다운로드했는지 확인하세요. Apple Silicon은 일반적으로 arm64, Intel 프로세서는 x64를 선택합니다. 아키텍처가 맞지 않으면 앱이 실행되지 않거나 코어 시작에 실패하는 경우가 많으며, 네트워크 권한으로 해결할 수 없습니다.

macOS 버전에 맞게 보안 허용 완료하기

먼저 v2rayN을 ‘응용 프로그램’ 폴더로 옮긴 다음 해당 폴더에서 실행하세요. 압축 파일 미리보기 창, 다운로드 임시 폴더 또는 읽기 전용 디스크 이미지에서 직접 실행하면 업데이트, 코어 파일 기록, 설정 저장에 실패할 수 있습니다. 이동을 마친 뒤 다시 한 번 실행해 시스템에 해당 차단 기록을 남기세요.

macOS 13 Ventura, macOS 14 Sonoma, macOS 15 Sequoia에서는 ‘시스템 설정’ 인터페이스를 사용합니다. macOS 12 Monterey에서는 이전 버전의 ‘시스템 환경설정’ 인터페이스를 사용합니다. 앱을 방금 실행해 본 경우에만 ‘그래도 열기’ 또는 ‘그래도 허용’ 항목이 표시됩니다.

  1. 앱 이동

    압축을 풀고 v2rayN을 ‘응용 프로그램’ 폴더로 옮기세요. 압축 파일 내부에서 직접 실행하지 마세요.

  2. 차단 기록 만들기

    ‘Finder’ → ‘응용 프로그램’에서 v2rayN을 더블클릭하세요. 개발자를 확인할 수 없다는 경고가 표시되면 해당 창을 닫습니다.

  3. 보안 페이지 열기

    macOS 13~15에서는 ‘시스템 설정’ → ‘개인정보 보호 및 보안’을 열고 아래로 내려 ‘보안’ 섹션을 찾습니다. macOS 12에서는 ‘시스템 환경설정’ → ‘보안 및 개인정보 보호’ → ‘일반’을 엽니다.

  4. 실행 허용 확인

    v2rayN이 차단되었다는 설명 옆의 ‘그래도 열기’를 클릭하고, 안내에 따라 관리자 계정, 암호 또는 시스템 인증으로 확인합니다.

  5. 다시 실행

    ‘응용 프로그램’ 폴더로 돌아가 다시 엽니다. ‘열기’ 버튼이 있는 추가 확인 창이 나타나면 앱 이름을 확인한 뒤 계속 진행합니다.

시스템에 내장된 다른 방법으로는 ‘Finder’에서 Control 키를 누른 채 앱을 클릭하고 ‘열기’를 선택한 다음, 확인 창에서 다시 ‘열기’를 선택하는 방법이 있습니다. 이 작업도 현재 앱에 대해서만 실행 허용 기록을 만듭니다. 버튼이 나타나지 않으면 먼저 다시 더블클릭해 차단을 발생시킨 뒤 보안 설정 페이지로 돌아가 확인하세요.

클라이언트 하나를 실행하기 위해 전체 앱 보안 확인을 끄는 것은 권장하지 않습니다. 전역 설정은 이후에 다운로드하는 다른 프로그램에도 영향을 주고 문제 범위를 불분명하게 만들 수 있습니다. 앱별로 허용하면 복구와 확인이 쉽고, 시스템 업데이트 후 어떤 권한이 변경되었는지도 파악하기 쉽습니다.

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

v2rayN이 정상적으로 열리면 먼저 구독을 가져오고 노드를 업데이트하세요. 구독은 서버 설정 모음일 뿐 macOS가 트래픽을 어떻게 전달할지 자동으로 결정하지 않습니다. 사용 가능한 노드를 선택한 뒤 시스템 프록시 또는 TUN도 활성화해야 합니다. 처음 문제를 확인할 때는 시스템 프록시부터 사용하고, 코어와 노드가 정상임을 확인한 뒤 TUN으로 전환하는 것이 좋습니다.

시스템 프록시 모드는 일반적으로 macOS 네트워크 서비스에 로컬 리스닝 주소를 기록합니다. 흔한 예로 SOCKS는 127.0.0.1:10808에서 수신하고 HTTP는 인접한 포트를 사용하지만, 실제 값은 v2rayN의 현재 매개변수 페이지와 로그를 기준으로 확인해야 합니다. 사용자 설정을 이전했거나 포트 충돌이 발생했다면 기본 예시 대신 현재 환경의 값을 사용하세요.

시스템 프록시 확인 항목

설정 경로
시스템 프록시 → 시스템 프록시 자동 구성
리스닝 주소
127.0.0.1
예시 포트
10808
확인 위치
시스템 설정 → 네트워크 → 현재 네트워크 → 세부사항 → 프록시

먼저 브라우저 트래픽을 확인하기에 적합하며, 모드를 끌 때는 시스템 프록시도 함께 정리해야 합니다.

TUN 권한 확인 항목

작동 방식
가상 네트워크 인터페이스
처음 수행할 작업
관리자 인증
확인 위치
시스템 설정 → 네트워크 → VPN 및 필터
일반적인 상태
연결됨 또는 허용됨

더 많은 앱 트래픽을 처리해야 하는 환경에 적합합니다. 활성화하기 전에 일반 노드 연결이 정상인지 먼저 확인하세요.

TUN을 활성화할 때 관리자 인증이 나타난다고 해서 노드에 문제가 있다는 뜻은 아닙니다. 인증은 필요한 보조 구성 요소를 설치하거나 시작하고, 네트워크 인터페이스를 만들거나 네트워크 설정을 적용하는 데 사용됩니다. 인증 후에도 시스템에 네트워크 확장 경고가 계속 표시되면 안내된 시스템 설정 페이지로 이동해 명시적으로 허용한 다음 v2rayN을 종료하고 다시 여세요.

macOS 15에서는 일부 네트워크 확장을 ‘시스템 설정’ → ‘일반’ → ‘로그인 항목 및 확장 프로그램’ → ‘네트워크 확장’에서 확인할 수 있습니다. 이미 생성된 VPN 또는 필터 항목은 ‘시스템 설정’ → ‘네트워크’ → ‘VPN 및 필터’에서도 확인할 수 있습니다. v2rayN 버전에 따라 구현 방식이 달라 표시 이름이 다를 수 있으므로 팝업에 표시된 구성 요소 이름을 기준으로 확인하세요.

설정 팁: 코어 전환 메뉴는 일반적으로 v2rayN의 ‘설정’ → ‘매개변수 설정’ → ‘Core 유형’에 있습니다. 프로토콜은 선택한 코어가 지원해야 합니다. Core 유형을 변경한 뒤 코어를 다시 시작하고 로그를 확인하세요. 이전 프로세스가 실행 중인 상태에서는 결과를 판단하지 마세요.

포트, 로그, 실제 요청으로 확인하기

권한 창이 사라졌다고 해서 프록시가 적용된 것은 아닙니다. 최소한 세 가지 계층을 모두 확인해야 합니다. v2rayN 본체가 안정적으로 실행되는지, 코어가 로컬 포트에서 수신 대기하는지, 대상 요청이 예상한 아웃바운드로 전달되는지 확인하세요. 메뉴 막대 아이콘이나 노드 지연 시간만으로는 이 세 가지 검사를 대신할 수 없습니다.

먼저 메인 화면에서 노드를 선택하고 지연 시간 테스트를 한 번 실행하세요. 지연 시간 결과가 나온다는 것은 테스트 방식으로 응답을 받았다는 뜻일 뿐 모든 웹사이트와 앱이 프록시를 사용한다는 의미는 아닙니다. 이어서 코어 로그를 열고 ‘address already in use’와 같은 포트 사용 중 메시지, 설정 구문 분석 실패, 인증서 이름 불일치, 구독 필드 누락 경고가 없는지 확인하세요.

127.0.0.1
로컬 리스닝 주소
10808
일반적인 SOCKS 예시 포트
3개 계층
프로그램, 코어, 요청 확인
30초
첫 연결 관찰 시간

시스템 프록시 모드에서는 ‘시스템 설정’ → ‘네트워크’ → 현재 사용하는 네트워크 서비스 → ‘세부사항’ → ‘프록시’로 이동해 활성화된 항목의 서버가 127.0.0.1인지, 포트가 v2rayN 매개변수와 일치하는지 확인하세요. 시스템에는 10808이 설정되어 있는데 코어 로그에는 실제 리스닝 포트가 10809로 표시된다면 요청은 바로 실패합니다.

TUN 모드에서는 먼저 시스템 프록시를 끄고 다시 테스트해 트래픽이 어느 진입점을 사용하는지 혼동하지 않도록 하세요. 30초 동안 코어 접근 로그를 관찰합니다. 새 도메인을 열면 해당 연결 기록이 나타나야 하며, 라우팅 결과는 프록시, 직접 연결, 차단 중 하나의 아웃바운드로 표시되어야 합니다. 새 기록이 전혀 없다면 문제는 대개 트래픽 인계 계층에 남아 있습니다.

  1. v2rayN에서 현재 노드가 선택되어 있고 구독 업데이트 시간과 노드 목록이 예상과 일치하는지 확인하세요.
  2. ‘설정’ → ‘매개변수 설정’을 열고 로컬 SOCKS 및 HTTP 리스닝 포트를 기록하세요. 기본값만 기억하지 마세요.
  3. 트래픽 인계 방식은 하나만 활성화하세요. 먼저 시스템 프록시를 테스트한 다음 성공하면 TUN을 별도로 테스트합니다.
  4. 이전에 방문하지 않은 도메인을 열면서 코어 로그에 새 연결이 생성되는지 확인하세요.
  5. 라우팅 모드를 한 번 전환하고 다시 연결한 뒤 대상 도메인이 최종적으로 사용한 아웃바운드 태그를 확인하세요.

VMess 노드는 시작되지만 요청이 시간 초과된다면 서버 주소, 포트, 사용자 식별자, 전송 방식, TLS 설정을 계속 확인하세요. VLESS 노드는 Flow, Reality 공개 키, 짧은 식별자, 서버 이름도 확인해야 합니다. Gatekeeper는 앱 실행만 담당하며 프로토콜 매개변수를 수정하지 않습니다. 마찬가지로 네트워크 권한을 허용해도 잘못된 구독 설정이 자동으로 정상 작동하지는 않습니다.

자주 발생하는 권한 문제와 복구 순서

허용을 여러 번 눌러도 해결되지 않는다면 앱 삭제, 네트워크 초기화, 코어 전환, 구독 변경을 동시에 하지 마세요. 한 번에 하나의 변수만 바꿔야 로그를 통해 어느 계층에서 문제가 해결되었는지 확인할 수 있습니다. 권장 순서는 클라이언트 종료, 잘못된 시스템 프록시 정리, 클라이언트 재실행, 노드 연결, 마지막으로 필요한 트래픽 인계 모드 활성화입니다.

‘그래도 열기’ 버튼을 찾을 수 없을 때는?

먼저 ‘Finder’ → ‘응용 프로그램’에서 v2rayN을 다시 더블클릭하고 차단 창을 닫은 직후 ‘시스템 설정’ → ‘개인정보 보호 및 보안’으로 이동하세요. 이 항목은 최근 차단 기록이 있을 때만 표시됩니다.

허용한 뒤에도 실행할 때마다 관리자 암호를 요구한다면?

먼저 TUN을 끄고 시스템 프록시만 활성화해 테스트하세요. 일반 실행에서 더 이상 묻지 않는다면 네트워크 인터페이스나 보조 구성 요소 작업이 원인일 수 있습니다. 네트워크 확장이 허용되었는지 확인하고 앱이 ‘응용 프로그램’ 폴더에 있는지도 확인하세요.

클라이언트를 종료한 뒤 모든 웹페이지가 열리지 않는다면?

시스템에 로컬 포트를 가리키는 프록시 설정이 남아 있을 수 있습니다. v2rayN을 다시 열고 ‘시스템 프록시’ → ‘시스템 프록시 지우기’를 선택하세요. 또는 현재 네트워크 서비스의 ‘세부사항’ → ‘프록시’에서 해당 항목을 끌 수 있습니다.

TUN은 연결되었지만 로컬 네트워크 기기에 접속할 수 없다면?

라우팅 규칙이 사설 주소 대역을 프록시로 보내고 있는지 확인하세요. 일반적인 로컬 네트워크 범위에는 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12가 있으며, 보통 실제 필요에 따라 직접 연결로 설정합니다.

구독 업데이트 중 연결 시간이 초과된다면?

먼저 구독 주소가 완전한지 확인한 다음, 이미 작동하는 노드에 연결해 프록시를 통해 업데이트를 시도하세요. 로그에 요청이 전혀 없다면 로컬 리스닝 포트를 확인하고, 요청은 기록되지만 원격 연결이 시간 초과된다면 네트워크와 구독 서비스 상태를 확인하세요.

포트가 사용 중이면 ‘설정’ → ‘매개변수 설정’에서 로컬 포트를 변경하고 저장한 뒤 코어를 다시 시작하세요. 새 포트는 시스템 프록시 설정에도 동일하게 반영해야 합니다. 클라이언트의 리스닝 값만 변경하고 시스템 프록시를 갱신하지 않으면 시스템이 계속 이전 포트로 요청을 보냅니다.

v2rayN 버전을 바꾼 뒤 이전 권한 기록이 비정상적으로 작동한다면 먼저 관련 프로세스를 모두 종료하세요. 새 버전을 같은 ‘응용 프로그램’ 폴더에 넣고 다시 시작합니다. 시스템은 서명, 경로 또는 보조 구성 요소가 다른 앱을 새로운 권한 대상으로 판단할 수 있으므로 업데이트 후 확인 창이 한 번 더 나타나도 노드 설정이 사라진 것은 아닙니다.

문제 해결이 끝나면 명확한 작동 모드 하나만 유지하세요. 일상적으로 브라우저와 시스템 설정을 따르는 앱만 사용할 때는 시스템 프록시가 상태를 확인하기 쉽고, 더 많은 프로그램의 트래픽을 처리해야 할 때는 TUN을 사용하면 됩니다. 구독은 노드를 제공하고, 코어는 VMess, VLESS 등의 프로토콜을 실행하며, 라우팅 분기는 아웃바운드를 결정하고, macOS 권한은 프로그램 실행과 네트워크 인계를 허용합니다. 네 계층을 나누어 확인하면 문제 위치가 훨씬 명확해집니다.