어떤 권한 단계에서 막혔는지 먼저 확인하기
macOS의 Clash 클라이언트는 일반적으로 앱 실행, 시스템 프록시, 권한이 필요한 Helper, 네트워크 확장, 키체인을 함께 사용합니다. 각 기능은 서로 다른 시스템 구성 요소가 관리합니다. “권한이 필요합니다”라는 팝업이 표시되면 제목과 표시 시점을 먼저 기록하고, 취소 버튼을 연달아 누르지 마세요. 설치 과정에서 한 가지 항목만 부족할 수도 있고, 이전 버전의 잔여 항목과 새 버전이 함께 남아 있을 수도 있습니다.
네 가지 안내 메시지에 대응하는 네 가지 해결 경로
- 앱을 열 수 없거나 개발자를 확인할 수 없음: Gatekeeper의 실행 확인 문제이므로 「시스템 설정」→「개인정보 보호 및 보안」에서 처리합니다.
- 설치 서비스, Helper 또는 Service Mode에 암호 필요: 권한이 필요한 Helper 설치 단계입니다. 여기에 입력하는 것은 현재 Mac 관리자 계정의 암호이며, 구독 암호가 아닙니다.
- 시스템 확장 또는 네트워크 확장이 차단됨: 「네트워크」 또는 「로그인 항목 및 확장 프로그램」에서 해당 확장을 허용해야 하며, 일부 버전에서는 재시동도 필요합니다.
- 시작할 때마다 키체인 접근을 요청함: 저장된 암호 항목의 접근 제어가 일치하지 않거나, 이전 클라이언트가 만든 항목을 새 클라이언트가 계속 읽으려는 경우가 많습니다.
macOS 버전과 프로세서 아키텍처 확인하기
화면 왼쪽 상단의 Apple 메뉴를 열고 「이 Mac에 관하여」를 선택합니다. macOS 버전과 칩 이름을 기록하세요. Apple M1, M2, M3, M4 및 이후 Apple Silicon Mac은 arm64 설치 패키지를 사용하고, Intel Mac은 x64 또는 x86_64 설치 패키지를 사용해야 합니다. 아키텍처를 잘못 선택하면 앱이 Rosetta로 실행될 수도 있고, Helper 설치 단계에서 실패할 수도 있습니다.
이 글은 macOS 13 Ventura, macOS 14 Sonoma, macOS 15 Sequoia와 mihomo 기반의 Clash Verge Rev 2.x 계열 클라이언트를 기준으로 설명합니다. 클라이언트마다 버튼 이름은 「서비스 모드」, 「서비스 설치」, 「Helper」, 「TUN」 또는 「네트워크 확장」으로 다를 수 있지만, 시스템 승인 위치는 대체로 같습니다.
앱 설치 및 최초 실행 차단 처리하기
앱을 「응용 프로그램」에 넣은 뒤 실행하기
- 다운로드한 DMG 파일을 엽니다.
- 클라이언트 아이콘을 「응용 프로그램」 폴더로 드래그하세요. DMG 창에서 직접 계속 실행하지 않는 것이 좋습니다.
- 복사가 끝날 때까지 기다린 다음 DMG를 추출합니다.
- Finder의 「응용 프로그램」 폴더에서 클라이언트를 엽니다.
Helper는 일반적으로 주 앱의 경로와 서명을 기록합니다. 다운로드 폴더, DMG 마운트 위치 또는 임시 폴더에서 실행하면 앱 업데이트 후 경로가 바뀌어 권한 요청이 반복될 수 있습니다. 설치가 끝난 뒤 앱 이름을 임의로 변경하는 것도 피하세요.
“개발자를 확인할 수 없음” 또는 “사용이 차단됨”
먼저 설치 패키지가 프로젝트의 공식 배포 경로에서 제공되었는지, 다운로드한 아키텍처가 올바른지 확인하세요. 그런 다음 앱을 한 번 실행해 시스템에 차단 기록을 남깁니다. 「시스템 설정」→「개인정보 보호 및 보안」으로 이동해 차단된 앱을 찾고 「그래도 열기」를 클릭한 뒤 시스템 확인 창에서 실행을 완료합니다.
페이지에 「그래도 열기」가 표시되지 않는다면 실제 실행이 아직 시도되지 않았거나 차단 기록이 만료되었을 수 있습니다. Finder로 돌아가 앱을 다시 열고 곧바로 「개인정보 보호 및 보안」을 확인하세요. 회사에서 관리하는 Mac은 기기 관리 정책으로 사용자가 실행을 허용하지 못할 수 있습니다. 이 경우 관리자가 관리 정책에서 앱 또는 시스템 확장을 승인해야 합니다.
권한이 필요한 Helper와 서비스 모드 설치하기
시스템 프록시는 macOS의 프록시 설정만 변경하면 되지만, TUN 모드는 가상 네트워크 인터페이스를 만들고 라우팅을 조정해야 합니다. 많은 클라이언트가 시스템 권한을 가진 Helper를 설치하며, 이 Helper가 mihomo 코어 실행, 라우팅 기록 또는 DNS 관리를 담당합니다. 이 서비스를 설치할 때 관리자 암호 창이 나타나는 것은 정상적인 시스템 승인 절차입니다.
올바른 설치 순서
- 실행 중인 다른 Clash, mihomo 또는 유사 프록시 클라이언트를 종료합니다.
- 현재 클라이언트에서 「설정」→「서비스 모드」 또는 「설정」→「시스템 서비스」를 엽니다.
- 「서비스 설치」 또는 「Helper 설치」를 클릭합니다.
- macOS 시스템 승인 창에 관리자 계정 암호를 입력합니다.
- 상태가 「설치됨」 또는 「실행 중」으로 바뀐 뒤 시스템 프록시 또는 TUN을 활성화합니다.
현재 로그인한 계정이 관리자가 아니라면 유효한 관리자 계정의 사용자 이름과 암호를 입력해야 합니다. Apple ID 암호나 클라이언트 구독에 사용하는 계정 암호는 사용할 수 없습니다.
설치 후에도 “서비스가 실행되지 않음”으로 표시됨
먼저 클라이언트를 완전히 종료한 뒤 다시 엽니다. 그래도 복구되지 않으면 「활성 상태 보기」를 열고 클라이언트 이름, mihomo 또는 clash를 검색해 이전 버전 프로세스가 함께 실행 중인지 확인하세요. 「터미널」에서 다음 읽기 전용 명령을 실행할 수도 있습니다.
ps aux | grep -E '[m]ihomo|[c]lash'
lsof -nP -iTCP:7890 -sTCP:LISTEN
lsof -nP -iTCP:7897 -sTCP:LISTEN
포트 7890은 기존 Clash 설정에서 흔히 사용되며, 일부 mihomo 클라이언트는 기본값으로 7897을 사용합니다. 다른 프로세스가 포트를 사용 중이라면 해당 이전 클라이언트를 종료하거나 「설정」→「포트 설정」에서 mixed-port를 변경하세요. 두 클라이언트가 동시에 시스템 프록시를 제어하지 않도록 하세요.
서비스 설치 버튼이 계속 회전한다면 먼저 클라이언트에 내장된 「서비스 제거」를 사용하고, 앱을 종료한 뒤 Mac을 재시동하고 다시 설치하세요. Finder에서 앱을 직접 삭제해도 시스템 수준의 Helper가 자동으로 제거되지는 않으므로 “삭제 후 재설치”만으로 해결되지 않을 수 있습니다.
네트워크 확장 허용 및 TUN 활성화하기
네트워크 확장, 네트워크 필터, TUN 가상 인터페이스는 서로 다른 개념입니다. 클라이언트는 Apple Network Extension 인터페이스로 터널을 제공할 수도 있고, 권한이 필요한 서비스가 utun 인터페이스를 만들 수도 있습니다. “네트워크 확장” 스위치가 나타나는지는 클라이언트 구현에 따라 다르므로 메뉴에 TUN 버튼이 있는지만으로 판단해서는 안 됩니다.
macOS 13 및 14의 확인 경로
- 「시스템 설정」→「네트워크」→「VPN 및 필터」를 열고 현재 클라이언트의 필터 또는 VPN 설정이 있는지 확인합니다.
- 「시스템 설정」→「일반」→「로그인 항목」을 열고 “백그라운드에서 허용” 영역에서 해당 항목이 꺼져 있지 않은지 확인합니다.
- 「시스템 설정」→「개인정보 보호 및 보안」을 열고 하단에 시스템 소프트웨어 또는 확장이 차단되었다는 안내가 있는지 확인합니다.
macOS 15 및 이후 버전의 확인 경로
macOS 15 Sequoia에서는 확장 프로그램 관리가 「시스템 설정」→「일반」→「로그인 항목 및 확장 프로그램」으로 통합되었습니다. “네트워크 확장” 옆의 세부 정보 버튼을 클릭해 현재 클라이언트의 확장을 허용하세요. 클라이언트가 VPN 또는 콘텐츠 필터를 만들었다면 「시스템 설정」→「네트워크」→「VPN 및 필터」로 돌아가 해당 항목이 허용 상태인지도 확인해야 합니다.
확장을 허용한 뒤 시스템에서 재시동을 요구할 수 있습니다. 작업 내용을 먼저 저장하고 안내에 따라 재시동하세요. 앱을 종료하는 것만으로는 최초 확장 등록이 완료되지 않는 경우가 많습니다.
TUN이 실제로 생성되었는지 확인하기
TUN을 활성화한 뒤 터미널에서 다음을 실행합니다.
ifconfig | grep -A 4 '^utun'
route -n get default
scutil --proxy
macOS 자체도 여러 utun 인터페이스를 만들기 때문에 utun0, utun1이 보인다고 해서 Clash가 정상 작동한다고 단정할 수 없습니다. 더 확실한 판단 기준은 TUN을 켜기 전후로 인터페이스 수가 바뀌고, 클라이언트 로그에 수신 대기 및 라우팅 초기화 정보가 나타나며, 시스템 프록시를 꺼도 원래 시스템 프록시를 사용하지 않는 앱이 규칙에 따라 연결되는지 확인하는 것입니다.
키체인 권한 팝업이 반복되는 문제 해결하기
클라이언트는 구독 자격 증명, 서비스 승인 정보 또는 시스템 프록시 관련 암호를 로그인 키체인에 저장할 수 있습니다. 앱 업데이트, 서명 변경, 설치 경로 변경 또는 이전 프로젝트에서 마이그레이션한 뒤 키체인에 저장된 접근 제어 목록이 더 이상 일치하지 않으면 시작, 구독 업데이트 또는 서비스 활성화 때마다 접근 요청이 나타날 수 있습니다.
팝업이 무엇에 대한 접근을 요청하는지 먼저 확인하기
창 상단의 클라이언트 이름만 보지 마세요. 세부 정보를 펼쳐 요청자 경로가 「응용 프로그램」 폴더의 현재 클라이언트를 가리키는지 확인하고, 접근하려는 키체인 항목 이름을 기록합니다. 경로가 다운로드 폴더, 삭제한 이전 앱 또는 알 수 없는 프로그램을 가리킨다면 거부를 선택한 뒤 해당 프로그램을 종료하고 정리하세요.
경로가 현재 클라이언트와 일치한다면 Mac 로그인 암호를 입력하고 「항상 허용」을 선택해도 됩니다. 다음 실행 때 같은 팝업이 다시 나타난다면 “항상 허용”을 계속 클릭하는 것은 대개 의미가 없으므로 해당 키체인 항목을 직접 수정해야 합니다.
이전 항목 하나만 삭제하고 클라이언트가 다시 만들도록 하기
- 클라이언트를 종료하고 메뉴 막대 아이콘이 사라졌는지 확인합니다.
- 「응용 프로그램」→「유틸리티」→「키체인 접근」을 엽니다. 최신 시스템에서는 Spotlight에서 “키체인 접근”을 검색해도 됩니다.
- 왼쪽에서 “로그인” 키체인을 선택한 다음 “모든 항목” 또는 “암호”를 선택합니다.
- 팝업에 표시된 항목 이름을 검색합니다. 클라이언트 이름,
Clash,mihomo또는 이전 클라이언트 이름을 각각 검색해도 됩니다. - 항목을 열어 “계정”, “위치”, “접근 제어”를 확인합니다. 이전 클라이언트에 속한다고 확인된 항목 하나만 삭제하세요.
- 클라이언트를 다시 열고 안내에 따라 자격 증명을 다시 저장하거나 서비스를 설치합니다.
로그인 키체인이 잠겨 있다면 “키체인 접근”에서 “로그인”을 선택하고 메뉴를 통해 잠금을 해제합니다. 로그인 키체인 암호는 일반적으로 현재 계정 로그인 암호와 같습니다. 계정 암호를 변경했지만 키체인에 동기화되지 않았다면 이전 암호를 요구할 수 있습니다. 이 경우 클라이언트를 계속 재설치하지 말고 먼저 로그인 키체인을 복구해야 합니다.
구독을 업데이트할 때만 팝업이 나타남
이는 대개 TUN 권한 문제가 아니라 구독 관련 자격 증명 저장 항목에 문제가 있다는 뜻입니다. 해당 구독을 삭제한 뒤 다시 가져오면 클라이언트가 저장 항목을 새로 만들 수 있습니다. 작업 전에 구독 주소를 저장하세요. 다시 가져온 후 「설정」→「구독 업데이트」를 한 번 수동으로 실행하고, 클라이언트를 종료했다가 다시 열어 확인합니다.
삭제 후 남은 항목을 정리하고 다시 설치하기
이전 Clash 클라이언트와 새 클라이언트가 포트, 설정 폴더 또는 백그라운드 서비스를 함께 사용할 수 있습니다. 대표적인 증상으로는 클라이언트를 삭제했는데도 시스템 프록시가 127.0.0.1:7890을 가리키거나, TUN 스위치가 즉시 꺼지거나, 서비스 설치가 성공했는데도 이전 코어가 실행되거나, 키체인 팝업에 이전 앱 이름이 표시되는 경우가 있습니다.
먼저 프록시를 끄고 서비스를 제거하기
- 이전 클라이언트를 열어 TUN과 시스템 프록시를 끕니다.
- 「설정」→「서비스 모드」로 이동해 「서비스 제거」 또는 「Helper 제거」를 실행합니다.
- 클라이언트를 완전히 종료합니다.
- 「시스템 설정」→「네트워크」→현재 네트워크→「세부사항」→「프록시」로 이동해 웹 프록시, 보안 웹 프록시, SOCKS 프록시에 로컬 포트가 남아 있지 않은지 확인합니다.
- 「VPN 및 필터」 또는 「로그인 항목 및 확장 프로그램」에서 더 이상 사용하지 않는 이전 항목을 제거합니다.
이전 클라이언트를 더 이상 열 수 없다면 같은 버전을 다시 설치한 뒤 내장 제거 기능을 사용해 보세요. 클라이언트는 자신의 Helper를 정확히 식별할 수 있으므로 시스템 폴더의 파일을 추측해 수동으로 지우는 것보다 안전합니다.
사용자 수준 설정 폴더 확인하기
Finder에서 Command + Shift + G를 누르고 다음 위치를 하나씩 확인합니다.
~/Library/Application Support/
~/Library/Preferences/
~/Library/Caches/
~/Library/Logs/
~/Library/LaunchAgents/
이전 클라이언트와 이름이 명확히 일치하는 폴더나 파일만 처리하세요. 설정 폴더에는 구독, 규칙 재정의, 스크립트, 로그가 포함될 수 있습니다. 마이그레이션이 필요하면 먼저 별도의 백업 폴더에 복사한 뒤 원래 위치에서 삭제하세요. 와일드카드를 사용한 터미널 명령으로 clash 또는 mihomo가 포함된 항목을 모두 삭제하지 마세요. 현재 사용하는 다른 클라이언트도 같은 이름을 사용할 수 있습니다.
시스템 프록시가 복구되었는지 확인하기
scutil --proxy를 실행해 HTTPEnable, HTTPSEnable, SOCKSEnable을 확인합니다. 시스템 프록시를 끈 상태라면 일반적으로 이 값은 0이어야 합니다. 여전히 1이라면 현재 네트워크 서비스의 프록시 설정으로 이동해 직접 끄세요. Wi-Fi와 유선 네트워크는 서로 독립된 서비스이므로 각각 확인해야 합니다.
증상에 따라 최종 점검하기
시스템 프록시는 작동하지만 TUN은 작동하지 않음
- 서비스 모드 또는 Helper가 설치되어 실행 중인지 확인합니다.
- 「VPN 및 필터」와 「로그인 항목 및 확장 프로그램」에서 네트워크 확장 상태를 확인합니다.
- 다른 VPN, 콘텐츠 필터, 유사 프록시 클라이언트를 잠시 종료한 뒤 TUN을 다시 켭니다.
- 클라이언트 로그에서
permission denied, 라우팅 기록 실패 또는 DNS 수신 대기 포트 충돌이 있는지 확인합니다. - Mac을 재시동한 뒤 현재 클라이언트 하나만 실행해 여러 프로그램이 기본 경로를 동시에 만들지 않도록 합니다.
TUN은 켜지지만 일부 웹사이트가 열리지 않음
이 경우 권한은 대부분 정상일 가능성이 높으므로 DNS와 규칙을 점검해야 합니다. 설정의 dns.enable, enhanced-mode, 규칙 순서, 최종 매칭 정책을 확인하세요. 로컬 네트워크 도메인, 사내 인트라넷, 프린터 주소는 상황에 따라 직접 연결 규칙에 추가할 수 있습니다. 규칙 설정 문제를 해결하려고 네트워크 확장을 반복해서 재설치하지 마세요.
업데이트할 때마다 다시 승인하라는 메시지가 표시됨
클라이언트가 항상 같은 경로에 설치되어 있고 동일한 배포 채널의 공식 버전을 사용 중인지 확인하세요. 업데이트 전 앱을 종료하고, 업데이트 후에는 「응용 프로그램」에서 실행합니다. 예를 들어 이전 ClashX 계열에서 Clash Verge Rev 2.x로 여러 주요 버전을 건너뛰어 마이그레이션한다면 먼저 이전 서비스를 제거한 다음 새 클라이언트에서 자체 서비스를 설치하세요. 이전 Helper를 그대로 재사용하지 마세요.
재현 가능한 검증 순서
- Mac을 재시동하고 현재 클라이언트만 엽니다.
- 구독을 가져온 뒤 한 번 수동으로 업데이트합니다.
- 사용 가능한 노드를 선택하고 먼저 시스템 프록시를 켭니다.
- 브라우저 연결이 정상인지 확인하고 로컬 포트가 수신 대기 중인지 점검합니다.
- 시스템 프록시를 끄고 서비스를 설치한 뒤 TUN을 켭니다.
utun인터페이스 변화와 클라이언트 로그를 확인합니다.- 클라이언트를 종료했다가 다시 열고 키체인 요청이 더 이상 반복되지 않는지 확인합니다.
이 일곱 단계를 완료하면 앱 실행, 구독 읽기, 시스템 프록시, Helper, 네트워크 확장, 키체인을 각각 검증할 수 있습니다. 이후 문제가 다시 발생해도 전체 설정을 처음부터 삭제하지 않고 실패한 단계에 따라 원인을 좁힐 수 있습니다.