앱 실행 차단과 네트워크 연결 문제는 먼저 구분해야 합니다. 전자는 macOS의 ‘개인정보 보호 및 보안’에서 해당 앱을 허용하고, 후자는 로컬 수신 포트와 시스템 프록시 또는 TUN 권한을 확인하세요. 처음 설치하거나 업데이트 후 연결되지 않는 경우에 적합한 안내입니다. 순서대로 점검하면 Gatekeeper, 코어 실행, 구독 문제를 하나의 원인으로 혼동하지 않을 수 있습니다.
1. 설치 파일과 차단 유형 확인하기
v2rayN은 프록시 연결을 설정하고 관리하는 데스크톱 클라이언트이며, 실제 연결은 선택한 코어가 처리합니다. macOS에서 ‘개발자를 확인할 수 없음’이라는 메시지가 표시되면 앱이 아직 실행되지 않았을 수 있습니다. 이때 노드를 바꾸거나 VLESS 설정을 수정하거나 구독을 업데이트해도 차단은 해제되지 않습니다. 먼저 경고창의 내용을 확인한 뒤 다음 단계를 진행하세요.
Apple 메뉴에서 ‘이 Mac에 관하여’를 엽니다. Apple 칩이 표시되는 기기라면 arm64 패키지를, Intel 프로세서가 표시되는 기기라면 x64 패키지를 선택하세요. 현재 배포 패키지의 최소 시스템 요구 사항도 확인해야 합니다. macOS 버전이 너무 오래된 문제와 개발자를 확인할 수 없는 문제는 원인이 다릅니다. 플랫폼에 맞는 설치 파일은 이 사이트의 클라이언트 설치 파일 페이지에서 선택할 수 있습니다.
| 표시되는 메시지 | 우선 확인할 항목 | 해결 방법 |
|---|---|---|
| 개발자를 확인할 수 없거나 악성 소프트웨어가 포함되어 있는지 확인할 수 없음 | Gatekeeper 실행 평가 | 출처를 확인한 뒤 ‘개인정보 보호 및 보안’에서 앱 허용 |
| 앱이 손상되어 열 수 없음 | 압축 해제 상태, 패키지 구성 및 시스템 평가 결과 | 기기에 맞는 전체 패키지를 다시 받고, 허용 명령을 무작정 적용하지 마세요. |
| 악성 소프트웨어가 포함되어 있거나 컴퓨터를 손상시킨다는 경고 | 시스템 보안 검사 | 실행을 중단하고 출처를 확인하세요. 일반적인 개발자 확인 경고처럼 처리하면 안 됩니다. |
| 앱 창은 열리지만 브라우저에서 인터넷에 연결되지 않음 | 코어, 로컬 포트 및 트래픽 처리 방식 | 먼저 로컬 프록시를 확인한 뒤 시스템 프록시나 TUN을 점검하세요. |
압축 파일을 다운로드했다면 빠짐없이 압축을 풀고 패키지에 포함된 리소스와 코어 폴더를 그대로 유지하세요. 패키지에 앱 번들이 포함되어 있다면 ‘응용 프로그램’ 폴더로 옮긴 뒤 실행할 수 있습니다. 배포 패키지에서 관련 폴더를 함께 유지하도록 안내한다면 전체를 정해진 위치에 보관하세요. 내부 실행 파일 하나만 따로 옮기거나 압축 미리보기 창에서 바로 실행하지 마세요.
2. ‘개인정보 보호 및 보안’에서 앱 허용하기
다음 경로는 ‘시스템 설정’ 인터페이스를 사용하는 macOS 13 및 이후 버전에 적용됩니다. 버튼 이름은 시스템 버전에 따라 조금 다를 수 있습니다. 먼저 앱을 실행해 보아야 시스템에 해당 차단 기록이 표시됩니다. ‘그래도 열기’는 차단된 뒤 일정 시간 동안만 나타나는 경우가 많습니다. 버튼이 보이지 않으면 앱 실행을 다시 시도해 보세요.
-
실행 경고 표시하기
Finder에서 압축을 푼 v2rayN을 두 번 클릭합니다. 경고창의 문구를 확인한 뒤 창을 닫으세요. 앱을 휴지통으로 옮긴 다음 허용 버튼을 찾을 필요는 없습니다.
-
보안 설정 열기
Apple 메뉴에서 ‘시스템 설정’ → ‘개인정보 보호 및 보안’을 열고 아래로 스크롤해 ‘보안’ 영역에서 방금 차단된 앱의 기록을 찾습니다.
-
앱 이름 확인하기
기록에 표시된 앱이 이번에 다운로드한 v2rayN인지 확인한 뒤 ‘그래도 열기’를 클릭합니다. 시스템에서 요청하면 관리자 인증 정보나 Touch ID로 인증하세요.
-
다시 실행 확인하기
후속 확인 창에서 ‘열기’를 선택합니다. 앱 창이 나타나면 기존 구독이나 설정을 가져오기 전에 로그에 코어 실행 오류가 있는지 확인하세요.
일부 구형 시스템에서는 Finder에서 앱을 마우스 오른쪽 버튼으로 클릭한 뒤 ‘열기’를 선택하면 추가 확인 절차가 표시될 수 있습니다. 하지만 macOS 15부터는 이 방법으로 해당 차단을 해제할 수 있다고 기대하면 안 됩니다. ‘개인정보 보호 및 보안’의 공식 허용 경로를 우선 사용하세요. 앱 업데이트 후 다시 평가되는 일은 드물지 않습니다. 새 패키지의 출처를 확인한 뒤 다시 허용하고, 시스템 보안 검사 범위를 계속 낮춘 상태로 두지 마세요.
3. 시스템 프록시와 TUN 권한 구분하기
앱 실행 허용, 시스템 프록시 변경, 가상 네트워크 인터페이스 생성은 각각 별개의 작업입니다. 브라우저 연결을 확인할 때는 우선 시스템 프록시를 사용하면 되며, 처음부터 TUN을 켤 필요는 없습니다. 트래픽 처리 방식을 바꿀 때 한 번에 한 항목씩 변경해야 어느 단계에서 문제가 생겼는지 파악할 수 있습니다.
먼저 시스템 프록시 사용
권장v2rayN 메인 화면에서 ‘시스템 프록시’를 찾아 ‘시스템 프록시 자동 설정’을 선택합니다. 그런 다음 ‘시스템 설정’ → ‘네트워크’ → 현재 연결된 네트워크 → ‘세부사항’ → ‘프록시’에서 HTTP 및 HTTPS 프록시가 로컬 수신 주소와 포트를 가리키는지 확인하세요. 버전에 따라 메뉴가 창 아래쪽이나 상태 메뉴에 있을 수 있습니다.
추천 용도: 첫 연결 확인, 브라우저 접속, 로컬 프록시 작동 여부 점검
필요할 때 TUN 사용
TUN은 가상 네트워크 인터페이스를 통해 트래픽을 처리하며, 권한이 필요한 보조 프로그램이나 관리자 인증 또는 관련 시스템 권한이 필요할 수 있습니다. 구체적인 방식은 사용 중인 v2rayN 배포 패키지와 코어 구현에 따라 달라집니다. 다른 클라이언트의 네트워크 확장 권한 설정 절차를 그대로 따라 하지 마세요.
추천 용도: 시스템 프록시를 따르지 않는 앱, 추가 라우팅 및 DNS 설정이 필요한 경우
시스템에서 네트워크 확장이 차단되었다고 명확히 알리고 현재 배포 패키지가 실제로 해당 확장을 사용하는 경우에만 관련 설정을 확인하세요. macOS 15에서는 ‘시스템 설정’ → ‘일반’ → ‘로그인 항목 및 확장 프로그램’ → ‘네트워크 확장’에서 확인할 수 있습니다. 다른 시스템 버전에서는 시스템 안내에 표시된 경로를 따르세요. 목록에 항목이 없다고 해서 확장을 추가로 설치해야 한다는 뜻은 아닙니다. 이름을 알 수 없는 구성 요소를 무턱대고 허용해서도 안 됩니다.
- 관리자 암호를 요청하면 방금 실행한 클라이언트 작업에서 발생한 요청인지 먼저 확인하세요. 권한을 승인한 뒤에도 코어 로그를 확인해야 합니다.
- 시스템에서 ‘로컬 네트워크’ 접근 권한을 요청하는 경우, 이 권한은 주로 LAN 기기 검색이나 접근과 관련됩니다. 프록시를 통한 외부 연결 권한과는 다릅니다. 관련 기능이 필요할 때만 허용하세요.
- 일반적으로 프록시 연결에 ‘손쉬운 사용’이나 ‘전체 디스크 접근’ 권한은 필요하지 않습니다. 관련 없는 권한 요청이 나타나면 용도를 먼저 확인하세요.
- 다른 VPN, 네트워크 필터링 도구 또는 별도의 TUN이 동시에 실행 중이면 라우팅 충돌이 발생할 수 있습니다. 문제를 확인할 때는 다른 트래픽 처리 프로그램을 먼저 종료하세요.
4. 포트와 명령어로 문제 발생 단계 확인하기
앱 창이 정상적으로 열려도 프록시 코어가 실행 중이라는 보장은 없습니다. 클라이언트의 현재 설정에서 로컬 수신 포트를 확인하고 아래 예시와 비교하세요. 여기서는 설명을 위해 10808 포트를 사용합니다. 사용 중인 버전의 기본값과 다를 수 있으므로 명령어의 포트를 실제 SOCKS 또는 혼합 수신 포트로 바꿔야 합니다.
‘응용 프로그램’ → ‘유틸리티’ → ‘터미널’에서 다음 명령을 실행합니다. 앞의 두 명령은 시스템과 아키텍처를 확인하고, 세 번째 명령은 예시 포트에서 TCP 연결을 수신 중인지 확인하며, 네 번째 명령은 시스템 프록시 상태를 읽습니다. 시스템 설정을 변경하지는 않습니다.
sw_vers -productVersion
uname -m
lsof -nP -iTCP:10808 -sTCP:LISTEN
scutil --proxy
uname -m 명령은 Apple 칩을 네이티브로 사용하는 환경에서 보통 arm64, Intel 환경에서 보통 x86_64를 표시합니다. 터미널이 변환 환경에서 실행 중이라면 하드웨어는 ‘이 Mac에 관하여’에서 확인하세요. 포트 확인 결과가 비어 있으면 코어 로그를 먼저 살펴보고 시스템 권한 승인을 반복해서 누르지 마세요. 해당 포트를 다른 프로세스가 사용 중이라면 충돌하는 프로그램을 종료하거나 클라이언트에서 포트를 바꾸고 시스템 프록시 설정도 함께 업데이트하세요.
curl --proxy socks5h://127.0.0.1:10808 \
--connect-timeout 5 --max-time 15 \
-I https://www.example.com/
- 로컬 포트 연결 실패가 즉시 표시됨: 클라이언트 코어가 실행 중인지, 포트 번호가 맞는지, 해당 포트가 SOCKS를 지원하는지 확인하세요.
- 로컬 포트에는 연결되지만 핸드셰이크 오류나 시간 초과가 발생함: 노드 상태와 프로토콜 설정, 로그를 확인하세요. VMess, VLESS, Trojan 설정은 서로 바꿔 쓸 수 없습니다.
- HTTP 응답을 받았지만 브라우저에서 계속 실패함: 적어도 이번 명시적 프록시 요청에는 응답이 왔다는 뜻입니다. 브라우저 프록시 설정과 확장 프로그램, 시스템 프록시가 일치하는지 확인하세요. 모든 트래픽이 정상이라는 증거로 볼 수는 없습니다.
5. 업데이트 후 작동하지 않을 때: 앱과 네트워크 설정을 따로 복구하기
업데이트로 앱 경로, 코어 파일 또는 보조 구성 요소가 바뀌거나 보안 평가가 다시 실행될 수 있습니다. 업데이트 전에 보관할 설정을 내보내고 로컬 포트, 라우팅 모드, DNS 설정 및 선택한 코어를 기록해 두세요. 구독 링크에는 접근 정보가 포함되는 경우가 많으므로 백업 파일과 스크린샷을 안전하게 보관해야 합니다.
복구 순서: 앱을 먼저 실행한 다음 트래픽 처리 설정 복구
새 버전이 열리지 않음
- 이전 프로세스를 완전히 종료하고 정해진 위치에 있는 새 앱을 실행하는지 확인하세요.
- 아키텍처와 최소 시스템 요구 사항을 확인한 뒤 압축을 다시 완전히 푸세요.
- 개발자 확인 경고가 표시되면 앱별 허용 절차를 다시 진행하세요.
- 창이 열리면 모든 고급 설정을 바로 복원하지 말고 코어 로그부터 확인하세요.
앱은 열리지만 인터넷에 연결되지 않음
- TUN을 먼저 끄고 명시적 프록시 요청으로 로컬 포트를 확인하세요.
- 클라이언트의 ‘시스템 프록시’에서 설정을 먼저 해제한 다음 시스템 프록시를 자동 설정하세요.
- 포트가 정상인지 확인한 뒤 TUN에 필요한 권한과 설정을 복구하세요.
- 업데이트 전 기록을 참고해 라우팅과 DNS 설정을 하나씩 복구하고, 동시에 여러 항목을 바꾸지 마세요.
원인을 알 수 없는 문제를 해결하려고 여러 트래픽 처리 방식을 겹쳐 사용하지 마세요. 항목을 하나씩 복구할 때마다 브라우저 접속과 클라이언트 로그를 확인하세요.
클라이언트가 비정상 종료된 뒤 Mac 전체에서 인터넷이 되지 않으면 현재 네트워크의 ‘세부사항’ → ‘프록시’에서 이미 수신을 중단한 로컬 포트를 가리키는 설정이 남아 있는지 확인하세요. 해당 프록시를 끄고 설정을 적용한 뒤 직접 연결을 테스트합니다. 회사에서 요구하는 프록시 설정을 함께 삭제하지 마세요. 관리되는 기기라면 기존 값을 기록하고 관리자에게 문의하세요.
6. 자주 묻는 질문과 주의사항
‘그래도 열기’ 버튼이 계속 나타나지 않으면 어떻게 하나요?
Finder에서 앱 실행을 다시 시도한 직후 ‘시스템 설정’ → ‘개인정보 보호 및 보안’ 화면 아래쪽을 확인하세요. 실제 경고가 시스템 버전 비호환, 파일 손상 또는 명확한 악성 소프트웨어 탐지에 관한 것이라면 개발자 확인 절차로 강제로 진행하지 마세요. 관리되는 기기에서는 사용자에게 정책 변경 권한이 없을 수도 있습니다.
허용한 뒤에도 실행할 때마다 암호를 입력해야 하나요?
암호 입력창의 안내부터 확인하세요. Gatekeeper의 앱별 허용과 TUN의 특권 작업은 서로 다른 권한입니다. TUN을 켤 때만 요청된다면 현재 배포 패키지의 보조 프로그램 설치 상태를 확인하세요. 일반 실행에서도 계속 차단된다면 매번 새로 압축을 푼 앱을 실행하고 있지 않은지 확인하세요.
네트워크 확장을 허용했는데도 구독 업데이트에 실패하는 이유는 무엇인가요?
확장 권한을 허용해도 만료된 구독 링크가 복구되지는 않습니다. 먼저 명시적 프록시 요청으로 연결을 확인한 뒤 구독 주소와 서비스 상태를 점검하세요. 연결이 정상일 때만 클라이언트에서 제공하는 프록시를 통한 업데이트 옵션을 사용해 보세요. 로그에 표시되는 시간 초과와 인증 실패는 각각 따로 해결해야 합니다.
권한을 복구하려면 앱을 삭제하고 다시 설치해야 하나요?
대부분은 현재 실행 중인 앱 복사본, 시스템 프록시 설정 잔여 항목, 코어 로그부터 확인하면 됩니다. 재설치한다고 노드 설정이나 원격 서버 문제가 자동으로 해결되지는 않으며 사용자 설정이 덮어쓰일 수도 있습니다. 꼭 재설치해야 한다면 설정을 먼저 백업한 다음 배포 패키지 안내에 따라 파일을 교체하세요. 로그를 전달하기 전에는 구독 토큰, 노드 인증 정보, 개인 경로를 가리세요.