v2rayN을 다운로드했지만 macOS 보안 경고, 아키텍처 불일치 또는 네트워크 권한 때문에 막힌 사용자를 위한 안내입니다. 설치 파일과 칩 아키텍처를 확인한 뒤 ‘개인정보 보호 및 보안’에서 앱을 허용하고, 마지막으로 시스템 프록시·TUN·로컬 네트워크·방화벽 권한을 점검합니다.
실행되지 않는 원인부터 구분하기
‘실행되지 않음’은 서로 다른 세 단계에서 발생할 수 있습니다. 첫째, 아이콘을 두 번 클릭하자마자 ‘개발자를 확인할 수 없음’ 또는 ‘악성 소프트웨어가 포함되어 있는지 확인할 수 없음’이 표시되는 경우입니다. 이는 Gatekeeper가 처음 실행하는 앱을 검사하는 과정입니다. 둘째, 앱이 손상되었거나 휴지통으로 이동된다는 안내가 나타나는 경우로, 다운로드 불완전·압축 해제 방식·격리 속성·프로그램 아키텍처와 관련이 있는 경우가 많습니다. 셋째, 메인 화면은 열리지만 시스템 프록시나 TUN을 켠 뒤 인터넷이 되지 않는 경우입니다. 이때는 프록시 포트, 코어 로그, 시스템 권한을 확인해야 하며 설치를 반복할 필요는 없습니다.
먼저 기기의 칩을 확인하세요. 화면 왼쪽 상단의 Apple 메뉴에서 ‘이 Mac에 관하여’를 열고 ‘칩’ 또는 ‘프로세서’를 확인합니다. Apple 칩 기기는 arm64 빌드를, Intel 기기는 x64 빌드를 우선 선택하세요. 아키텍처가 맞지 않으면 아이콘이 잠시 튄 뒤 종료되거나 터미널에 해당 아키텍처를 실행할 수 없다는 메시지가 표시될 수 있습니다.
개인정보 보호 및 보안에서 허용하기
권장‘개발자를 확인할 수 없음’이라는 안내가 표시될 때 적용합니다. 먼저 마우스 오른쪽 버튼으로 열기를 시도한 다음 시스템 설정에서 이번 실행을 허용하세요.
적합한 경우: 앱을 처음 실행하며 파일 압축 해제가 정상적으로 완료된 경우
다시 다운로드하고 압축 해제하기
설치 파일이 불완전하거나 압축 해제 후 핵심 파일이 없거나, 앱이 계속 휴지통으로 이동될 때 적용합니다.
적합한 경우: 파일 크기가 비정상적이거나 프로그램 폴더의 내용이 불완전한 경우
네트워크 권한 점검
화면은 열리지만 시스템 프록시, TUN 또는 로컬 네트워크 접근이 적용되지 않을 때 사용합니다.
적합한 경우: 로그는 실행 중인데 웹페이지에 연결되지 않는 경우
확인되지 않은 개발자 허용 표준 절차
macOS는 브라우저에서 다운로드한 앱에 격리 표시를 추가합니다. v2rayN을 처음 두 번 클릭하면 시스템에 ‘취소’ 버튼만 표시될 수 있습니다. 이때 계속 두 번 클릭하거나 기기 전체의 보안 정책을 변경할 필요는 없습니다. 현재 앱만 한 번 명시적으로 허용하면 됩니다.
-
응용 프로그램으로 이동
압축 해제가 끝나면 v2rayN.app을 ‘응용 프로그램’ 폴더로 드래그하세요. 압축 파일 미리보기 창, 다운로드 캐시 폴더 또는 읽기 전용 디스크 이미지에서 직접 실행하지 마세요.
-
마우스 오른쪽 버튼으로 열기
Finder의 ‘응용 프로그램’에서 v2rayN을 찾은 뒤 Control 키를 누른 상태로 아이콘을 클릭하고 ‘열기’를 선택하세요. 이번에는 확인 가능한 ‘열기’ 버튼이 추가로 표시되는 경우가 많습니다.
-
개인정보 보호 설정 열기
계속 차단된다면 ‘시스템 설정’ → ‘개인정보 보호 및 보안’을 열고 아래로 스크롤하여 ‘보안’ 영역에서 방금 차단된 v2rayN 기록을 찾으세요.
-
그래도 열기
‘그래도 열기’를 클릭하고 관리자 암호를 입력하거나 기기 인증을 완료하세요. 시스템에 확인 창이 다시 표시되면 앱 이름을 확인한 뒤 ‘열기’를 선택합니다.
-
코어 설정
메인 화면에서 ‘설정’ → ‘매개변수 설정’ → ‘Core 유형’을 열어 설정하세요. VLESS, VMess 또는 Trojan 노드를 사용할 때는 Xray를 선택한 뒤 저장하면 됩니다.
허용 기록은 일반적으로 현재 앱 버전과 위치에만 적용됩니다. v2rayN을 업데이트해 앱 패키지가 변경되면 시스템이 다시 확인을 요청할 수 있습니다. 프로그램을 ‘응용 프로그램’ 폴더에 고정하면 경로 변경으로 검사가 반복되는 일을 줄일 수 있습니다.
손상되었거나 휴지통으로 이동된다는 안내가 표시될 때
‘앱이 손상됨’은 반드시 프로그램 자체에 문제가 있다는 뜻은 아닙니다. 흔한 원인으로는 압축 파일의 불완전한 다운로드, 타사 압축 해제 도구로 인한 앱 패키지 권한 변경, arm64와 x64 아키텍처 선택 오류, 시스템에서 격리 속성을 제대로 처리하지 못한 경우가 있습니다. 현재 복사본을 삭제하고 기기에 맞는 완전한 압축 파일을 다시 받은 다음 Finder의 기본 압축 해제 기능으로 풀어 보세요.
다시 압축을 해제한 뒤 앱을 먼저 ‘응용 프로그램’ 폴더로 드래그하고 마우스 오른쪽 버튼으로 여세요. ‘개인정보 보호 및 보안’ 페이지에 ‘그래도 열기’가 나타나지 않지만 파일 출처와 아키텍처를 확인했다면 터미널에서 앱에 격리 속성이 남아 있는지 점검할 수 있습니다.
xattr -l "/Applications/v2rayN.app"
xattr -dr com.apple.quarantine "/Applications/v2rayN.app"
첫 번째 줄은 확장 속성만 읽습니다. 결과에 com.apple.quarantine이 포함되어 있으면 두 번째 줄에서 v2rayN.app과 내부 파일의 격리 속성을 제거합니다. 실행 후 다시 마우스 오른쪽 버튼으로 여세요. 경로의 큰따옴표는 반드시 유지해야 합니다. 앱 이름이나 위치가 다르면 Finder에 표시된 실제 경로로 바꾸세요.
실행 파일 기본 점검
- 설치 위치
- /Applications/v2rayN.app
- Apple 칩
- arm64
- Intel 칩
- x64
- 처음 열기
- Control 클릭 → 열기
먼저 아키텍처와 고정 경로를 맞춘 다음 격리 속성을 처리하세요.
코어 시작 기본 점검
- Core 유형
- Xray
- 로컬 주소
- 127.0.0.1
- 일반적인 혼합 포트
- 10808
- 로그 수준
- warning 또는 info
포트는 사용자가 변경할 수 있으므로 점검할 때는 매개변수 설정에 표시된 현재 값을 기준으로 하세요.
시스템 프록시와 TUN 권한은 서로 다릅니다
시스템 프록시와 TUN은 트래픽을 가로채는 범위가 다릅니다. 시스템 프록시는 현재 네트워크 서비스에 HTTP·HTTPS 등의 프록시 항목을 기록하고, 시스템 프록시를 지원하는 앱이 v2rayN의 로컬 수신 포트에 연결하도록 합니다. TUN은 가상 네트워크 인터페이스를 만들어 시스템 프록시 설정을 읽지 않는 트래픽까지 처리할 수 있으므로 일반적으로 더 높은 권한이 필요합니다.
트래픽 범위에 맞춰 실행 방식 선택
시스템 프록시
- 먼저 Xray 코어 시작
- 일반적인 로컬 수신 주소는 127.0.0.1:10808
- 브라우저와 시스템 프록시를 읽는 데스크톱 앱에 적합
- v2rayN을 종료하기 전에 시스템 프록시 복원
TUN 모드
- 가상 네트워크 인터페이스 생성
- 처음 활성화할 때 관리자 인증이 필요할 수 있음
- 시스템에서 VPN 구성 또는 네트워크 필터 권한을 요청할 수 있음
- 다른 VPN 구성과 함께 실행하면 라우팅 충돌이 발생할 수 있음
처음 설정할 때는 먼저 시스템 프록시가 작동하는지 확인한 뒤 TUN을 별도로 활성화하세요. 문제가 노드·코어·시스템 권한 중 어디에 있는지 구분하기 쉬워집니다.
시스템 프록시만 사용하는 경우 일반적으로 네트워크 확장을 승인할 필요가 없습니다. 웹페이지가 열리지 않으면 먼저 v2rayN 로그에서 코어가 로컬 포트를 수신 중인지 확인한 다음 ‘시스템 설정’ → ‘네트워크’ → 현재 네트워크 서비스 → ‘세부사항’ → ‘프록시’로 이동하세요. HTTP 또는 HTTPS 프록시 주소는 127.0.0.1을 가리켜야 하며 포트는 v2rayN의 현재 설정과 일치해야 합니다.
TUN을 활성화할 때 macOS에서 VPN 구성 추가, 네트워크 설정 변경 또는 백그라운드 항목 허용을 요청하면 이름을 확인한 후 승인하세요. 그런 다음 ‘시스템 설정’ → ‘네트워크’ → ‘VPN 및 필터’에서 해당 구성이 수동으로 비활성화되지 않았는지 확인합니다. 시스템의 ‘개인정보 보호 및 보안’ 하단에 차단된 시스템 소프트웨어가 표시되면 먼저 허용한 뒤 v2rayN을 다시 시작하세요.
- 시스템 프록시는 정상이고 TUN만 실패함: 관리자 인증, 가상 인터페이스, VPN 구성을 중점적으로 확인하세요.
- 두 모드 모두 실패함: 노드 유효성, Core 유형, 포트 사용 여부, 코어 로그를 중점적으로 확인하세요.
- 로컬 네트워크 기기만 연결되지 않음: ‘로컬 네트워크’ 권한과 라우팅 규칙을 확인하고 구독을 바로 수정하지 마세요.
- 프로그램을 종료한 뒤에도 직접 연결되지 않음: 네트워크 프록시 설정에서 남아 있는 127.0.0.1 프록시 항목을 삭제하세요.
네트워크 권한 팝업별 처리 방법
macOS는 로컬 네트워크, 들어오는 연결, VPN 구성, 백그라운드 실행 권한을 각각 요청할 수 있습니다. 각 항목이 제어하는 대상은 서로 다릅니다. 로컬 네트워크를 허용하면 라우터·NAS·로컬 네트워크 서비스에 접근할 수 있고, 방화벽의 들어오는 연결은 다른 기기가 이 Mac에 먼저 연결할 수 있는지를 제어합니다. VPN 구성은 TUN을 통한 트래픽 처리와 관련이 있습니다.
-
로컬 네트워크 확인
‘시스템 설정’ → ‘개인정보 보호 및 보안’ → ‘로컬 네트워크’를 여세요. 로컬 네트워크의 노드나 서비스에 접근해야 한다면 v2rayN의 해당 스위치가 켜져 있는지 확인합니다.
-
방화벽 확인
‘시스템 설정’ → ‘네트워크’ → ‘방화벽’ → ‘옵션’으로 이동하세요. 로컬 네트워크 연결을 받아야 할 때만 v2rayN의 들어오는 연결을 허용하면 됩니다. 이 Mac에서 127.0.0.1을 사용하는 경우에는 일반적으로 외부에서 들어오는 연결이 필요하지 않습니다.
-
VPN 구성 확인
‘시스템 설정’ → ‘네트워크’ → ‘VPN 및 필터’로 이동하여 TUN 관련 구성이 존재하고 활성화되어 있는지 확인합니다. 테스트할 때는 기본 경로를 동시에 가로채는 다른 구성을 먼저 비활성화하세요.
-
수신 포트 확인
v2rayN의 매개변수 설정에서 로컬 포트를 확인하세요. 10808을 사용한다면 브라우저나 시스템 프록시에도 반드시 10808을 입력해야 하며, 다른 클라이언트에서 사용하던 포트를 그대로 쓰면 안 됩니다.
-
코어 다시 시작
권한과 포트 설정을 저장한 뒤 현재 코어를 먼저 중지하고 다시 시작하세요. 그래도 변화가 없으면 v2rayN을 종료했다가 다시 열어 시스템이 네트워크 구성을 다시 불러오게 하세요.
포트가 이미 수신 중인지 확인하려면 터미널을 열고 아래 명령을 실행하세요. v2rayN 또는 코어 프로세스에 해당하는 수신 기록이 나타나면 로컬 진입점이 생성된 것입니다. 출력이 없으면 코어 로그로 돌아가 시작 실패 원인을 확인해야 합니다.
lsof -nP -iTCP:10808 -sTCP:LISTEN
포트를 다른 프로세스가 사용 중이면 로그에 보통 bind, address already in use 또는 listen failed가 표시됩니다. 해당 포트를 점유한 이전 프로세스를 종료하거나 ‘설정’ → ‘매개변수 설정’에서 10818과 같이 사용되지 않는 포트로 변경할 수 있습니다. 변경 후에는 시스템 프록시 설정도 반드시 함께 수정하세요.
앱은 열리지만 인터넷이 되지 않을 때의 점검 순서
메인 화면이 열린다는 것은 그래픽 프로그램이 시스템 검사를 통과했다는 뜻일 뿐, 코어·노드·프록시 설정이 모두 적용되었다는 의미는 아닙니다. ‘코어 시작 → 로컬 포트 → 노드 연결 → 시스템 적용 → 라우팅 규칙’ 순서로 점검하고 한 번에 여러 변수를 바꾸지 마세요.
시스템 프록시를 클릭했는데 웹페이지가 여전히 직접 연결되나요?
먼저 로그에서 코어가 시작되었는지 확인한 다음 ‘시스템 설정’ → ‘네트워크’ → 현재 네트워크 → ‘세부사항’ → ‘프록시’로 이동하세요. 주소가 127.0.0.1인지, 포트가 v2rayN 매개변수 설정과 일치하는지 확인합니다.
TUN을 켜자마자 인터넷이 끊기나요?
먼저 TUN을 끄고 시스템 프록시를 복원한 상태에서 테스트하세요. 이후 ‘VPN 및 필터’의 구성 상태를 확인하고 다른 기본 경로 가로채기 항목을 잠시 비활성화한 뒤, 로그에 권한 또는 가상 인터페이스 생성 실패가 표시되는지 살펴보세요.
로그에 10808 포트가 사용 중이라고 표시되나요?
lsof -nP -iTCP:10808 -sTCP:LISTEN을 실행해 포트를 사용 중인 프로세스를 찾으세요. 남아 있는 코어를 종료하거나 로컬 포트를 10818로 변경한 뒤 시스템 프록시 포트도 함께 수정합니다.
구독 업데이트는 성공했지만 모든 노드가 시간 초과되나요?
‘설정’ → ‘매개변수 설정’ → ‘Core 유형’이 노드 프로토콜과 호환되는지 확인한 다음 단일 노드를 선택해 실제 연결 테스트를 실행하세요. 일부 노드만 실패한다면 시스템 권한을 초기화하지 말고 먼저 노드를 변경하세요.
종료한 뒤 일반 웹페이지도 열리지 않나요?
v2rayN을 다시 열고 시스템 프록시 복원을 실행한 다음 종료하세요. 또는 현재 네트워크 서비스의 ‘프록시’ 페이지에서 여전히 127.0.0.1:10808을 가리키는 HTTP·HTTPS·SOCKS 프록시 항목을 끌 수 있습니다.
라우팅 규칙 때문에 ‘일부 웹사이트만 열리지 않는’ 경우도 있습니다. 규칙은 위에서 아래로 매칭되며, 일치하면 지정된 아웃바운드를 사용합니다. 사용자 지정 규칙이 대상 도메인을 잘못된 아웃바운드로 보내면 시스템 권한이 모두 정상이어도 접속할 수 없습니다. 잠시 더 단순한 전역 테스트 모드로 전환해 노드를 확인한 뒤 규칙 기반 분배로 돌아와 도메인·IP·프로세스 규칙을 하나씩 점검하세요.