먼저 Gatekeeper의 앱 차단, 프록시 설정 미적용, TUN 시작 실패를 구분하세요. 설치 파일 출처와 프로세서 아키텍처를 확인한 뒤 해당 앱만 macOS에서 허용하고, 먼저 일반 시스템 프록시로 노드를 테스트한 다음 필요할 때 TUN, 보조 프로그램 또는 네트워크 확장 권한을 설정하세요. 처음 설치하거나 업데이트 후 다시 차단된 경우에 유용하며, 시스템 보안 기능을 먼저 끌 필요는 없습니다.
1. 먼저 알림을 구분하세요: 개발자 확인과 네트워크 권한은 다릅니다
‘개발자를 확인할 수 없음’은 앱을 실행할 때 표시되는 macOS Gatekeeper 경고입니다. 이때 v2rayN이 아직 실행되지 않았을 수 있으므로 구독을 조정하거나 Xray를 바꾸고 DNS를 수정해도 실행 차단은 해결되지 않습니다. 먼저 경고의 정확한 문구를 기록하고 해당 상황에 맞는 방법을 선택해 서로 다른 문제를 혼동하지 마세요.
- ‘개발자를 확인할 수 없음’ 또는 ‘Apple에서 악성 소프트웨어가 포함되어 있는지 확인할 수 없습니다’: 다운로드 출처를 신뢰할 수 있는지 확인한 다음, ‘개인정보 보호 및 보안’에 해당 앱을 허용하는 옵션이 있는지 살펴보세요.
- ‘컴퓨터를 손상시킵니다’ 또는 악성 소프트웨어가 감지되었다는 명확한 경고: 실행을 중단하세요. 일반적인 개발자 확인 경고처럼 처리하거나 경고를 우회하지 마세요.
- ‘앱이 손상되어 열 수 없습니다’: 먼저 다시 다운로드하고 압축을 해제한 뒤 아키텍처와 시스템 요구 사항을 확인하세요. 이 문구만으로 권한 문제라고 단정할 수는 없습니다.
- 앱 창은 열리지만 웹에 연결되지 않음: 실행 확인은 통과한 상태입니다. 이제 코어, 노드, 로컬 포트와 시스템 프록시를 점검하세요.
‘수신 네트워크 연결 허용’과 ‘시스템 프록시 설정’도 구분해야 합니다. 전자는 대개 macOS 방화벽과 관련되며 외부 웹사이트를 여는 데 필요한 일반적인 권한이 아닙니다. 후자는 현재 네트워크 서비스의 프록시 설정을 변경합니다. 알림이 나타나면 요청한 앱의 이름과 용도를 먼저 확인하고, 모든 ‘허용’ 요청을 설치 절차로 여기지 마세요.
2. 아키텍처를 확인한 뒤 개인정보 보호 및 보안에서 앱 허용하기
Apple 메뉴에서 ‘이 Mac에 관하여’를 여세요. Apple 칩이 탑재된 기기는 일반적으로 arm64 패키지를, Intel 기기는 x64 패키지를 선택합니다. 정확한 아키텍처는 다운로드 페이지를 확인하세요. 아키텍처 불일치와 개발자 확인은 별개의 문제이므로, 권한을 반복해서 허용해도 잘못된 설치 파일은 해결되지 않습니다.
-
설치 파일 확인
이 사이트의 설치 파일 페이지에서 macOS와 해당 프로세서 아키텍처를 선택하세요. 패키지 형식에 따라 디스크 이미지를 열거나 압축 파일을 해제하고, 압축 파일 미리보기 안의 항목을 직접 실행하지 마세요.
-
응용 프로그램 폴더로 이동
v2rayN 앱을 ‘응용 프로그램’ 폴더로 옮긴 다음 Finder에서 한 번 실행하세요. 다운로드 폴더에 있는 여러 복사본을 번갈아 실행하지 마세요. 업데이트 대상과 권한을 허용한 앱이 서로 달라질 수 있습니다.
-
차단 기록 확인
개발자 확인 경고가 나타나면 Apple 메뉴 → ‘시스템 설정’ → ‘개인정보 보호 및 보안’을 여세요. 아래로 스크롤해 ‘보안’ 영역에서 차단된 앱 이름을 확인합니다.
-
이번 한 번만 허용
시스템에 ‘그래도 열기’가 표시되면 클릭하고, 안내에 따라 계정 암호 또는 Touch ID로 확인한 다음 후속 대화상자에서 열기를 다시 승인하세요. 버튼 이름과 확인 순서는 macOS 버전에 따라 다를 수 있습니다.
-
실행 결과 다시 확인
‘응용 프로그램’ 폴더로 돌아가 같은 v2rayN을 다시 실행하세요. 창이 열리면 네트워크 설정을 진행하고, 계속 차단된다면 경고 문구를 그대로 기록한 뒤 다른 보안 옵션을 연달아 변경하지 마세요.
위 메뉴 경로는 ‘시스템 설정’을 사용하는 macOS 13 이후 버전에 해당합니다. 이전 버전에서는 ‘시스템 환경설정’ → ‘보안 및 개인정보 보호’ → ‘일반’을 사용합니다. 이는 메뉴 경로 안내일 뿐, 현재 설치 파일이 구형 시스템과 호환된다는 뜻은 아닙니다. 최소 시스템 요구 사항은 설치 파일 안내를 확인하세요.
3. ‘그래도 열기’가 없을 때 범위별로 확인하기
앱 허용 옵션은 보통 앱 실행이 차단된 뒤 나타나며 계속 표시되지는 않습니다. Finder로 돌아가 한 번 더 실행한 직후 ‘개인정보 보호 및 보안’을 확인하세요. 해당 기록이 없다면 경고가 정말 개발자 확인 문제인지 살펴보세요. 파일 손상, 시스템 비호환성 또는 악성 소프트웨어 경고일 수도 있습니다.
시스템 설정에서 허용
권장출처를 확인한 앱만 허용하고 다른 앱의 보안 검사는 유지하세요. 먼저 한 번 실행해 차단을 유발한 다음 ‘개인정보 보호 및 보안’에서 앱 이름을 확인합니다.
적합한 경우: 개인 기기에서 처음 실행할 때, 업데이트 후 다시 확인이 필요할 때
설치 파일 다시 받기
아직 사용하지 않은 문제가 있는 복사본을 삭제하고 설치 파일을 다시 다운로드해 완전히 압축 해제하세요. ‘손상됨’ 경고, 압축 해제 오류 또는 아키텍처 불일치가 있다면 먼저 파일과 호환성 문제를 해결하세요.
적합한 경우: 설치 파일이 불완전하거나, 오래된 복사본을 함께 사용하거나, 프로세서 아키텍처를 잘못 선택한 경우
관리자에게 정책 확인 요청
관리자가 기기 관리 제한과 앱 허용 범위를 확인해야 합니다. 계정에 관리자 권한이 있어도 조직에서 적용한 보안 정책을 덮어쓸 수 있는 것은 아닙니다.
적합한 경우: 회사·기관 기기, 설정을 변경할 수 없는 경우, 정책으로 앱 허용이 제한된 경우
Gatekeeper를 끄거나 다운로드 폴더 전체에서 격리 속성을 재귀적으로 제거하는 방법을 첫 단계로 사용하지 마세요. 변경 범위가 넓어지고 설치 파일 출처나 손상 문제를 가릴 수 있습니다. 추가 확인이 필요하면 경고 전문, macOS 버전, 칩 아키텍처와 설치 위치를 공유하세요. 스크린샷을 찍기 전에는 계정 이름과 개인 경로를 가리세요.
4. 먼저 시스템 프록시를 테스트하고 TUN 사용 여부 결정하기
v2rayN이 열린다는 것은 데스크톱 인터페이스가 실행되었다는 뜻일 뿐입니다. 정상적으로 연결하려면 코어 프로세스가 실행 중이고 노드 설정이 올바르며 앱이 요청을 로컬 프록시로 보내야 합니다. 일반 시스템 프록시는 시스템 프록시 설정을 따르는 앱에 주로 적용됩니다. 모든 프로그램의 트래픽을 자동으로 가져오지는 않으며, 터미널 도구가 반드시 프록시를 사용하게 되는 것도 아닙니다.
확인 순서: 일반 프록시를 먼저, TUN은 나중에
일반 시스템 프록시
- 구독을 가져오고 사용할 수 있는 노드를 선택한 다음 코어가 실행 중인지 확인합니다.
- 클라이언트의 ‘시스템 프록시’ 메뉴에서 ‘시스템 프록시 자동 설정’을 선택합니다.
- 현재 Wi-Fi 또는 이더넷 서비스의 프록시 주소와 포트를 확인합니다.
- 먼저 브라우저와 프록시를 명시적으로 지정한 요청으로 연결을 테스트합니다.
TUN으로 트래픽 전달
- 시스템 프록시를 따르지 않는 트래픽까지 처리해야 할 때만 사용하세요.
- 현재 클라이언트와 코어의 실제 구현에 필요한 권한 유형을 확인합니다.
- 관리자 권한, 가상 네트워크 인터페이스, 라우팅 또는 DNS 설정 변경이 필요할 수 있습니다.
- 시작에 실패하면 먼저 TUN을 끄고 일반 프록시를 문제 해결의 기준으로 유지하세요.
일반 프록시는 정상인데 TUN에 문제가 있다면 TUN 권한과 라우팅을 먼저 확인하세요. 앱을 재설치하거나 모든 구독을 다시 만들 필요는 없습니다.
시스템 프록시를 확인하는 경로는 ‘시스템 설정’ → ‘네트워크’ → 현재 사용하는 네트워크 서비스 → ‘세부사항’ → ‘프록시’입니다. 네트워크 서비스마다 설정이 따로 저장되므로 Wi-Fi에서 유선 네트워크로 바꿨다면 이전 Wi-Fi 설정만 보지 말고 새 서비스도 확인하세요. v2rayN 버전에 따라 메뉴 위치가 다를 수 있으므로 현재 인터페이스의 시스템 프록시 옵션을 기준으로 삼으세요.
클라이언트 로컬 리스너
- 리스닝 주소
127.0.0.1- 포트 예시
10808- 프록시 유형
- 현재 리스너가 지원하는 SOCKS 또는 HTTP를 기준으로 확인
- 확인 위치
- 클라이언트 설정 및 시작 로그
10808은 문제 해결을 위한 예시 포트이며 현재 설치 버전의 기본값이라고 보장할 수 없습니다.
시스템 프록시 설정
- 설정 대상
- 현재 사용 중인 네트워크 서비스
- 서버
- 로컬 리스닝 주소와 동일
- 포트
- 해당 프로토콜의 리스닝 포트와 동일
- 종료 시 처리
- 클라이언트가 설정한 프록시를 해제했는지 확인
SOCKS만 지원하는 포트를 HTTP 프록시 항목에 입력하지 마세요. 혼합 리스너를 지원한다면 실제 지원 기능에 맞춰 설정하세요.
5. 네트워크 확장 및 보조 프로그램 권한은 실제 요청이 있을 때만 설정
일반 시스템 프록시는 네트워크 확장과 다르며, TUN을 켠다고 모든 버전에서 같은 확장이 설치되는 것도 아닙니다. 구체적인 구현은 클라이언트 버전과 선택한 코어에 따라 달라집니다. 관리자 권한으로 가상 네트워크 인터페이스를 만들거나 보조 프로그램을 사용하는 방식이 있으며, 현재 구현이 실제로 시스템 확장이나 VPN 구성을 사용할 때만 해당 권한 요청이 나타납니다.
- 관리자 암호 입력 창이 나타남: 방금 직접 TUN을 켜거나 보조 프로그램을 설치해 요청이 발생했는지 먼저 확인하고, 요청한 항목의 이름을 살펴보세요. 관리자 암호를 구독 주소, 노드 메모 또는 웹 양식에 입력하지 마세요.
- VPN 구성 추가 안내가 나타남: 현재 진행한 작업에서 발생한 안내인지 확인하고 시스템 절차에 따라 처리하세요. 일반 시스템 프록시 문제를 확인하려고 알 수 없는 구성을 미리 추가하지 마세요.
- 시스템 확장이 차단되었다는 안내가 나타남: 안내에 따라 시스템 설정에서 개발자와 확장 정보를 확인하세요. 최신 시스템에서는 ‘일반’ → ‘로그인 항목 및 확장 프로그램’에서 관련 설정을 관리할 수 있습니다. 정확한 위치는 시스템 안내를 따르세요.
- 네트워크 확장 안내가 표시되지 않음: 권한이 누락되었다는 뜻은 아닙니다. 일반 프록시가 정상 작동한다면 ‘절차를 모두 완료’하려고 존재하지 않는 확장을 찾을 필요가 없습니다.
TUN을 켠 뒤 기기 전체에서 인터넷이 끊기면 먼저 TUN을 끄고 시스템 프록시가 중지된 로컬 포트를 계속 가리키는지 확인하세요. 일반 연결을 복구한 다음 로그를 살펴 권한 부족, 가상 네트워크 인터페이스 생성 실패, 포트 충돌, DNS 연결 불가를 구분합니다. 원인을 파악할 수 있도록 한 번에 하나씩만 변경하세요.
6. 포트와 요청 결과로 ‘앱은 열리지만 인터넷이 안 됨’ 진단하기
아래 값은 점검 대상을 명확히 하기 위한 예시이며 속도 측정 결과나 모든 버전의 기본 설정이 아닙니다. 시작하기 전에 클라이언트 설정과 로그에서 실제 리스닝 주소, 포트, 프로토콜을 확인한 뒤 명령의 예시 값을 바꾸세요.
‘응용 프로그램’ → ‘유틸리티’ → ‘터미널’을 여세요. 첫 번째 명령은 예시 포트에서 TCP 연결을 수신하는지 확인합니다. 두 번째 명령은 SOCKS 프록시를 명시적으로 사용하고 프록시 측에서 대상 도메인을 해석하도록 합니다. 해당 포트가 실제로 SOCKS를 지원할 때만 두 번째 명령을 실행하세요. 테스트 대상은 사용 가능 여부를 확인한 HTTPS 사이트로 바꿔도 됩니다.
lsof -nP -iTCP:10808 -sTCP:LISTEN
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 15 -I https://example.com/
- 리스닝 기록이 없음: 실제 포트가 다른지 먼저 확인한 다음 코어 시작 로그를 살펴보세요. 인터페이스가 보여도 코어가 종료되었다면 시스템 프록시는 계속 켜져 있을 수 있습니다.
- 연결이 즉시 거부됨: 프록시 프로세스가 실행 중인지, 리스닝 주소가 올바른지, HTTP 포트와 SOCKS 포트를 혼용하지 않았는지 확인하세요.
- 로컬 연결은 성공하지만 원격 요청이 시간 초과됨: 노드 상태, 서버 주소, 시스템 시간과 라우팅 규칙을 확인하세요. 개발자 허용을 반복할 필요는 없습니다.
- 프록시를 명시한 요청은 성공하지만 브라우저는 실패함: 브라우저가 시스템 프록시를 따르는지, 별도 프록시가 설정되어 있는지, 올바른 네트워크 서비스를 선택했는지 확인하세요.
HTTP 상태 코드를 받았다는 것은 요청에 응답이 왔다는 뜻일 뿐, 대상 페이지가 예상대로 표시된다는 보장은 아닙니다. 일부 사이트는 HEAD 요청을 거부해 403 또는 405를 반환하므로 상태 코드만으로 노드가 작동하지 않는다고 판단하지 마세요. 터미널의 일반 요청은 실패하고 프록시를 명시한 요청은 성공하더라도 시스템 프록시 권한 문제라고 단정할 수 없습니다. 명령줄 도구가 macOS 시스템 프록시 설정을 읽지 않을 수도 있습니다.
7. 업데이트 후 반복되는 경고와 종료 후 인터넷 끊김 점검
업데이트 후 앱 내용이 바뀌면 시스템에서 다시 확인을 요청할 수 있습니다. 그러나 같은 복사본을 실행할 때마다 계속 차단된다면 실제 실행 위치를 확인하세요. Dock에 남아 있는 이전 바로가기, 다운로드 폴더의 다른 앱 복사본, 종료되지 않은 이전 프로세스 때문에 예상과 다른 대상을 조작하고 있을 수 있습니다.
- v2rayN을 완전히 종료한 뒤 Finder의 ‘응용 프로그램’에서 대상 복사본을 여세요. 압축 파일이나 디스크 이미지 안의 임시 복사본이 아닌지 확인합니다.
- 업데이트 전에 구독 그룹, 현재 노드와 로컬 포트를 기록하세요. 먼저 백업하고, 설정이 저장된 위치를 확인하지 않은 상태에서 앱 데이터를 삭제하지 마세요.
- 새 복사본에 대해서만 시스템 안내에 따라 다시 허용하세요. 이전 경로의 로그인 항목이나 Dock 바로가기는 대상을 확인한 뒤 제거합니다.
- 종료하기 전에 TUN을 끄고 클라이언트의 ‘시스템 프록시 지우기’ 옵션을 사용하세요. 비정상 종료 후에는 현재 네트워크 서비스의 ‘프록시’에서 설정이 남아 있는지 확인합니다.
- 문의를 보낼 때는 시스템 버전, 칩 아키텍처, 경고 전문과 민감 정보를 가린 로그를 첨부하세요. 구독 링크, UUID, 암호와 서버 접속 정보를 숨기세요.
완료 여부는 다음 기준으로 확인할 수 있습니다. 앱이 정해진 위치에서 실행되고, 코어가 올바른 포트에서 수신 대기하며, 프록시를 명시한 요청이 응답을 받고, 프록시가 필요한 앱이 연결되며, 종료 후 일반 네트워크가 복구되어야 합니다. TUN으로 트래픽을 처리해야 할 때만 다음 단계의 권한을 추가하세요. 그러면 실행 차단, 프록시 설정, 네트워크 트래픽 전달 문제를 각각 해결할 수 있습니다.