v2rayN macOS 설치 가이드: 확인되지 않은 개발자 경고와 네트워크 권한 설정

Mac에 v2rayN을 설치하고 ‘개발자를 확인할 수 없음’ 경고를 해제하는 방법부터 시스템 프록시·네트워크 확장 권한 설정, 업데이트 후 권한 문제 해결까지 안내합니다.

이 글의 핵심 내용

Mac에 v2rayN을 처음 설치하거나 앱을 교체한 뒤 실행 또는 네트워크 문제가 생긴 경우에 적합한 안내입니다. 먼저 칩에 맞는 설치 파일을 선택한 다음 Gatekeeper 차단을 해제하세요. 앱을 실행한 후에는 코어의 수신 대기, 시스템 프록시, TUN 권한을 각각 확인합니다. 시스템 프록시와 가상 네트워크 인터페이스는 다르며, 네트워크 확장 승인 요청이 설치할 때마다 나타나는 것도 아닙니다. 문제는 발생한 계층에 따라 점검하고, 모든 권한을 한꺼번에 허용할 필요는 없습니다.

1. 설치 파일 아키텍처와 응용 프로그램 폴더

Apple 메뉴에서 ‘이 Mac에 관하여’를 엽니다. Apple 칩이 표시되면 Apple Silicon용 패키지를, Intel 프로세서가 표시되면 Intel용 패키지를 선택하세요. 아키텍처가 맞지 않으면 앱이 실행되지 않거나 별도의 호환 실행 환경을 요구할 수 있습니다. 창은 열리더라도 포함된 코어가 실행되지 않을 수도 있습니다. 모든 실행 문제를 개발자 확인 절차 탓으로 돌리지는 마세요.

  1. 칩 확인

    Apple 메뉴에서 ‘이 Mac에 관하여’를 열어 칩 종류를 확인한 뒤 클라이언트 다운로드 페이지의 macOS 섹션에서 알맞은 아키텍처를 선택하세요.

  2. 설치 파일 압축 해제

    압축 파일은 먼저 압축을 푼 다음 앱을 찾으세요. 디스크 이미지는 연 뒤 안에 있는 앱을 복사하면 됩니다. 압축 파일 자체를 옮기거나 임시 미리보기 폴더에서 계속 실행하지 마세요.

  3. 응용 프로그램 폴더로 이동

    Finder에서 ‘이동’ → ‘응용 프로그램’을 선택하고 v2rayN 앱을 이 폴더로 드래그하세요. 업데이트할 때는 기존 프로세스를 종료한 다음 앱을 교체하고, 기존 설정은 미리 백업해 두세요.

  4. 처음 실행

    ‘응용 프로그램’에서 앱을 실행하세요. 시스템이 실행을 차단하면 안내 문구를 끝까지 읽고 다음 절의 ‘개인정보 보호 및 보안’에서 설정을 변경하세요. 압축을 반복해서 풀어 여러 사본을 만든 뒤 계속 실행을 시도하지 마세요.

  5. 코어 실행 확인

    앱을 연 뒤 설정을 가져오고 노드를 선택한 다음 실행 로그를 확인하세요. 앱 화면이 정상이라고 프록시 코어까지 실행된 것은 아닙니다. 포트 충돌이나 설정 파싱 오류가 없는지 먼저 확인하세요.

이 글에서는 앱 이름을 v2rayN.app으로 표기합니다. 실제 파일 이름, 메뉴 문구, 기능 위치는 클라이언트 빌드에 따라 달라질 수 있습니다. 명령어에 입력하는 앱 경로는 Finder에 표시된 이름과 일치해야 합니다. 시스템 경로는 ‘시스템 설정’ 앱을 사용하는 macOS 13 이상을 기준으로 설명하며, 클라이언트의 최소 시스템 요구 사항을 뜻하지는 않습니다.

2. 개발자를 확인할 수 없음: Gatekeeper 차단 해제

‘개발자를 확인할 수 없음’ 또는 ‘Apple에서 악성 소프트웨어가 있는지 확인할 수 없습니다’라는 경고는 앱 실행 전 보안 검사에서 표시됩니다. 구독 주소나 VMess, VLESS 설정과는 관련이 없습니다. 차단을 해제하기 전에 설치 파일의 출처가 예상한 곳과 일치하는지, 방금 실행하려 한 앱이 ‘응용 프로그램’ 폴더에 넣은 사본인지 확인하세요.

  1. 앱을 한 번 실행해 경고 내용을 확인한 뒤 경고 창을 닫으세요.
  2. Apple 메뉴에서 ‘시스템 설정’ → ‘개인정보 보호 및 보안’으로 이동한 다음 아래로 스크롤해 ‘보안’ 섹션을 찾으세요.
  3. 해당 앱에 대한 차단 기록이 표시되면 앱 이름을 확인하고 ‘그래도 열기’를 클릭하세요. 이 버튼은 일반적으로 마지막 차단 직후 일정 시간 동안만 표시됩니다.
  4. 시스템 안내에 따라 암호 또는 Touch ID로 인증하세요. 다시 확인 창이 표시되면 내용을 확인한 뒤 ‘열기’를 선택하세요.

일부 macOS 버전에서는 Finder에서 Control 키를 누른 채 앱을 클릭하고 ‘열기’를 선택할 수 있습니다. 최신 버전에서는 ‘개인정보 보호 및 보안’에서 다시 승인해야 할 수도 있습니다. 조직에서 관리하는 Mac은 관리 정책에 따라 ‘그래도 열기’가 제한될 수 있습니다. 이 경우 시스템 정책을 바꾸지 말고 관리자에게 문의하세요.

검사 정보를 기록해야 한다면 ‘응용 프로그램’ → ‘유틸리티’ → ‘터미널’에서 다음 읽기 전용 명령을 실행할 수 있습니다. com.apple.quarantine 속성은 파일에 다운로드 격리 표시가 있다는 뜻일 뿐, 파일이 안전하거나 유해하다는 사실을 입증하지 않습니다. 검사 결과도 프로그램 동작을 완전히 감사한 결과와는 다릅니다.

xattr -l "/Applications/v2rayN.app"
spctl --assess --type execute --verbose "/Applications/v2rayN.app"

3. 시스템 프록시와 TUN: 먼저 트래픽 처리 방식 선택

v2rayN을 실행한 뒤에는 시스템 프록시로 기본 연결부터 확인하세요. 시스템 프록시는 현재 네트워크 서비스의 프록시 설정을 로컬 수신 대기 포트로 연결해 시스템 프록시를 따르는 앱에서 사용하도록 합니다. 모든 프로세스를 자동으로 처리하거나 모든 UDP 트래픽을 지원하는 것은 아닙니다. TUN은 가상 네트워크 인터페이스와 라우팅을 사용하므로 권한과 문제 범위가 다릅니다.

시스템 프록시

권장

처음 설치했다면 이 모드부터 사용하세요. 노드를 가져온 뒤 v2rayN의 ‘시스템 프록시’ 메뉴에서 ‘시스템 프록시 자동 설정’을 선택하고 macOS의 프록시 주소를 확인하세요. 빌드에 따라 메뉴 위치가 다를 수 있으므로 실제 클라이언트 화면을 기준으로 하세요.

적합한 용도: 브라우저 접속, 첫 연결 확인, 단계별 문제 해결

TUN 모드

네트워크 계층에서 트래픽을 처리해야 하는 경우에 사용합니다. 지원 여부는 macOS 클라이언트 빌드, 사용하는 코어, 관련 구성 요소에 따라 달라집니다. 권한 상승, 보조 구성 요소 설치 또는 네트워크 확장 승인이 필요할 수 있습니다. TUN 스위치가 있다는 이유만으로 실제 구현 방식을 단정할 수는 없습니다.

적합한 용도: 시스템 프록시 설정을 따르지 않는 앱. 현재 빌드에서 TUN을 지원하는지 확인하세요.

먼저 TUN을 끄고 한 가지 트래픽 처리 방식만 사용하세요. 시스템 프록시 연결이 확인된 뒤 필요에 따라 TUN을 테스트하면 됩니다. 두 방식을 동시에 켜면 라우팅, DNS, 로컬 루프백 문제를 해결하기가 더 복잡해집니다. 문제가 발생했을 때 연결이 어느 경로를 거치는지도 파악하기 어려워집니다.

4. 로컬 수신 대기와 macOS 프록시 항목 비교

아래에서는 프록시 인바운드 예시 포트로 10808, 대체 포트로 10809를 사용합니다. 모든 버전의 기본값이라는 뜻은 아닙니다. v2rayN에서 ‘설정’ → ‘매개변수 설정’을 열어 로컬 수신 대기 항목을 확인하세요. 저장된 설정과 현재 실행 로그를 최종 기준으로 삼아야 합니다. 포트를 변경했다면 시스템 프록시 포트도 함께 바꾸세요.

10808
이 글의 프록시 인바운드 예시 포트
10809
포트 충돌 시 사용할 대체 예시
127.0.0.1
로컬 IPv4 루프백 주소

‘시스템 설정’ → ‘네트워크’ → 현재 사용 중인 Wi-Fi 또는 이더넷 → ‘세부사항’ → ‘프록시’로 이동하세요. 웹 프록시, 보안 웹 프록시, SOCKS는 서로 다른 옵션입니다. 입력하기 전에 코어 인바운드가 어떤 프로토콜을 지원하는지 확인하세요. HTTP와 SOCKS를 모두 지원하는 혼합 인바운드가 명확히 설정된 경우에만 두 요청을 같은 포트로 연결할 수 있습니다.

HTTP 시스템 프록시 예시

서버
127.0.0.1
포트
10808
네트워크 옵션
웹 프록시, 보안 웹 프록시
인바운드 조건
HTTP를 지원하는 로컬 인바운드

보안 웹 프록시는 HTTPS 요청에 사용할 프록시 연결을 뜻하며, 로컬 프록시 자체에서 TLS를 반드시 활성화해야 한다는 뜻은 아닙니다.

SOCKS 앱 프록시 예시

서버
127.0.0.1
포트
10808
프로토콜
SOCKS5
인바운드 조건
SOCKS를 지원하는 로컬 인바운드

인바운드에서 SOCKS를 실제로 지원하는 경우에만 사용하세요. 앱 내부의 수동 프록시 설정과 시스템 프록시 설정은 각각 확인해야 합니다.

터미널에서 수신 대기 상태와 현재 시스템 프록시를 읽기 전용으로 확인할 수 있습니다. 첫 번째 명령에 출력이 없으면 코어가 실행 중인지, 포트가 변경되었는지 먼저 확인하세요. 수신 대기가 표시되어도 프로세스가 포트를 사용 중이라는 뜻일 뿐, 원격 노드가 작동한다는 뜻은 아닙니다. 두 번째 명령에 표시된 프록시 주소는 클라이언트의 로컬 인바운드 설정과 일치해야 합니다.

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

5. 네트워크 권한: 필요한 항목만 승인

시스템 프록시, 네트워크 확장, 로컬 네트워크, 인바운드 방화벽은 서로 다른 계층입니다. 시스템 프록시를 켠다고 네트워크 확장 승인이 반드시 필요한 것은 아닙니다. 로컬 네트워크 알림이 표시되더라도 공용 인터넷 프록시에 LAN 접근이 필수라는 뜻은 아닙니다. 현재 사용하는 방식에 필요한 권한만 승인하고, 요청한 앱이나 구성 요소의 이름을 확인하세요.

상황확인 위치대응 시 유의 사항
시스템 프록시 설정이 저장되지 않음 ‘시스템 설정’ → ‘네트워크’ → 현재 네트워크 서비스 → ‘세부사항’ → ‘프록시’ 서버 주소와 포트를 먼저 확인한 다음 클라이언트 로그에 설정 실패 메시지가 있는지, 관리 정책이 적용되는지 살펴보세요.
TUN에서 보조 구성 요소 설치를 요청함 클라이언트 안내와 해당 시스템 인증 창 구성 요소의 출처를 확인한 뒤 승인하세요. 보조 프로세스와 네트워크 확장은 서로 다른 구현 방식입니다.
네트워크 확장이 차단되었다는 시스템 알림 안내에 따라 ‘개인정보 보호 및 보안’으로 이동하세요. 최신 시스템에서는 ‘일반’ → ‘로그인 항목 및 확장 프로그램’ → ‘네트워크 확장’에 있을 수도 있습니다. 관련 확장이 실제로 설치된 경우에만 처리하세요. 시스템 안내에 따라 활성화하고, 필요하면 로그아웃하거나 재시동하세요.
로컬 네트워크 접근이 제한됨 해당 항목을 지원하는 시스템에서 ‘개인정보 보호 및 보안’ → ‘로컬 네트워크’로 이동하세요. 같은 네트워크에 있는 기기에 접근할 때 적용됩니다. 승인이 실패했다고 원격 노드에 문제가 있다고 단정하지 마세요.
다른 기기에서 이 Mac에 연결할 수 없음 ‘네트워크’ → ‘방화벽’ → ‘옵션’으로 이동하고 수신 대기 주소를 확인하세요. 루프백 주소를 통한 로컬 사용과 LAN 공유는 서로 다른 설정입니다. 로컬 프록시를 사용하기 위해 방화벽을 끌 필요는 없습니다.

시스템에 네트워크 확장 승인 항목이 없고 클라이언트 로그에 다른 TUN 구현 방식이 표시된다면, 존재하지 않는 스위치를 찾으려고 앱을 반복해서 재설치하지 마세요. 먼저 로그에서 인터페이스 생성, 권한 요청, 라우팅 설정, DNS 요청 중 어느 단계에서 실패했는지 확인하세요. 시스템 프록시가 정상 작동한다면 사용 가능한 모드를 유지하고 TUN 문제는 별도로 해결하세요.

6. 업데이트 후 권한 문제와 프록시 설정 잔류

앱을 교체하면 실행 파일, 서명 상태 또는 보조 구성 요소가 달라져 시스템에서 권한을 다시 요청할 수 있습니다. 하지만 업데이트 후 인터넷이 끊겼다고 해서 반드시 권한이 사라진 것은 아닙니다. 기존 프로세스의 포트 점유, 새 코어의 설정 읽기 실패, 네트워크 서비스 변경, 종료 후 남은 시스템 프록시도 비슷한 증상을 일으킬 수 있습니다.

7. 설치 및 차단 해제 FAQ

‘그래도 열기’ 버튼이 보이지 않아요. 왜 그런가요?

먼저 ‘응용 프로그램’에서 해당 앱 사본을 다시 실행한 직후 ‘개인정보 보호 및 보안’의 보안 섹션으로 이동하세요. 아키텍처 불일치나 파일 손상 경고가 아닌지도 확인해야 합니다. 조직에서 관리하는 컴퓨터는 사용자가 직접 차단을 해제하지 못할 수 있으므로 관리자에게 정책을 확인해 달라고 요청하세요.

앱 창은 열리는데 브라우저에서 인터넷에 연결할 수 없어요.

먼저 TUN을 끄고 lsof로 실제 포트가 수신 대기 중인지 확인한 다음 현재 네트워크 서비스의 웹 프록시와 보안 웹 프록시 설정을 살펴보세요. 수신 대기와 주소가 모두 정상인 경우에만 노드 인증, 서버 주소, 라우팅 규칙, DNS를 확인하세요. 앱 창이 열려 있어도 코어가 정상 작동한다는 뜻은 아닙니다.

TUN을 켤 때마다 암호를 입력해야 하나요?

인증을 반복해서 요청하는지는 현재 빌드가 권한이 필요한 구성 요소를 실행하는 방식에 따라 다르며, 그 자체로 설치 실패를 뜻하지는 않습니다. 먼저 인증 창이 어떤 작업에 대한 것인지 확인하세요. 계속 승인해도 실패하면 로그에서 권한 또는 인터페이스 오류를 살펴보고, 당분간 시스템 프록시를 사용하세요. 인증을 생략하려고 클라이언트 전체를 관리자 권한으로 실행하지 마세요.

v2rayN을 종료한 뒤 인터넷 연결이 끊겼어요. 어떻게 복구하나요?

‘시스템 설정’ → ‘네트워크’ → 현재 네트워크 서비스 → ‘세부사항’ → ‘프록시’로 이동해 중지된 127.0.0.1 포트를 계속 가리키는지 확인하세요. 이전에 켠 로컬 프록시 옵션을 끄고 적용합니다. 네트워크가 복구되면 클라이언트를 다시 실행해 프록시를 설정하세요.

v2rayN 다운로드