macOS Clash 클라이언트 설치: 네트워크 확장 승인 및 키체인 팝업 해결 방법

macOS에서 Clash를 처음 실행할 때 네트워크 확장 설치, 시스템 설정 승인, 키체인 접근 팝업이 문제 될 수 있습니다. 버전별 승인 절차와 실패 시 초기화 방법을 정리했습니다.

먼저 구분해야 할 세 가지 권한: 시스템 프록시, 보조 서비스, 네트워크 확장

macOS 클라이언트의 ‘시스템 프록시 설정’, ‘서비스 모드 설치’, ‘TUN 활성화’는 서로 다른 기능입니다. 사용하는 시스템 권한과 표시되는 팝업도 각각 다릅니다. 이를 한꺼번에 처리하면 네트워크 확장은 승인했는데 프록시를 바꾸지 못하거나, 시스템 프록시가 이미 적용됐는데 TUN 서비스를 중복 설치하는 문제가 생길 수 있습니다.

기능 시스템 동작 일반적인 승인 적용 범위
시스템 프록시 HTTP, HTTPS 및 SOCKS 프록시 설정 관리자 암호 또는 보조 서비스 권한이 필요할 수 있음 macOS 프록시 설정을 따르는 앱
서비스 모드 높은 권한의 보조 프로세스 설치 관리자 계정 암호 시스템 프록시를 안정적으로 변경하고 코어를 시작하거나 네트워크를 제어
TUN 모드 가상 네트워크 인터페이스 생성 및 라우팅 조정 VPN 구성, 네트워크 확장 또는 보조 서비스 승인 시스템 프록시를 사용하지 않는 앱과 일부 명령줄 트래픽
키체인 접근 저장된 토큰, 구독 인증 정보 또는 서비스 키 읽기 현재 macOS 로그인 암호 팝업에 표시된 키체인 항목에만 적용

일반적인 Clash Verge Rev 2.x, ClashX.Meta 1.4.x 및 mihomo 코어 기반 macOS 클라이언트를 기준으로 설명합니다. 화면에는 ‘시스템 프록시’, ‘Service Mode’, ‘Clash Core’, ‘TUN Mode’ 또는 ‘강화 모드’ 등으로 표시될 수 있으며, 구현 방식은 클라이언트마다 다릅니다. 설치할 때는 필요한 기능만 각각 활성화하고, 설치를 완료하려고 모든 권한을 한꺼번에 승인할 필요는 없습니다.

처음 실행할 때의 올바른 순서

1단계: 앱을 ‘응용 프로그램’ 폴더에 넣기

다운로드가 끝나면 DMG를 열고 클라이언트를 ‘응용 프로그램’으로 드래그한 뒤 Finder의 ‘응용 프로그램’ 폴더에서 실행합니다. DMG 이미지, 다운로드 폴더 또는 압축을 푼 임시 폴더에서 계속 실행하지 마세요. 앱 경로가 바뀌면 로그인 항목, 보조 서비스, 키체인 접근 제어에 영향을 줄 수 있으며, 업데이트 후 팝업이 반복되는 원인은 경로 또는 코드 서명 변경인 경우가 많습니다.

  1. Finder에서 다운로드한 DMG 또는 압축 파일을 엽니다.
  2. 앱을 ‘응용 프로그램’으로 드래그합니다.
  3. 설치 이미지를 추출하고 실행 중인 이전 복사본을 종료합니다.
  4. ‘응용 프로그램’에서 클라이언트를 엽니다.
  5. 메뉴 막대나 Dock에 클라이언트 인스턴스가 하나만 실행 중인지 확인합니다.

macOS에서 인터넷에서 다운로드한 앱이라는 경고가 표시되면 파일 출처와 앱 이름을 확인한 뒤 ‘열기’를 선택합니다. 시스템이 실행을 직접 차단하면 ‘시스템 설정’ → ‘개인정보 보호 및 보안’으로 이동해 보안 영역에서 방금 차단된 앱을 찾아 ‘그래도 열기’를 선택하세요. 이전 macOS 12 Monterey에서는 ‘시스템 환경설정’ → ‘보안 및 개인정보 보호’ → ‘일반’ 경로를 사용합니다.

2단계: 구성을 가져오고 로컬 포트 확인

클라이언트의 ‘구성’ 또는 ‘Profiles’ 페이지에서 구독을 가져옵니다. 구성이 파싱될 때까지 기다린 후 정책 그룹에서 노드를 선택하세요. mihomo 구성에서 혼합 포트는 일반적으로 7890, SOCKS 포트는 7891, 외부 컨트롤 포트는 9090인 경우가 많지만, 현재 구성과 클라이언트 설정에 표시된 값을 우선해야 합니다.

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

다른 프록시 도구가 이미 7890 포트를 사용 중이면 Clash 코어가 시작되지 않거나 계속 재시작될 수 있습니다. 다른 프록시 앱을 종료한 뒤 터미널에서 포트 사용 여부를 확인하세요:

lsof -nP -iTCP:7890 -sTCP:LISTEN
lsof -nP -iTCP:9090 -sTCP:LISTEN

3단계: 먼저 시스템 프록시 활성화

클라이언트에서 ‘시스템 프록시’ 스위치를 켭니다. 일부 클라이언트는 처음 실행할 때 보조 서비스 설치를 요청하고 관리자 인증 창을 표시합니다. 여기에 입력하는 것은 현재 Mac 관리자 계정의 암호이며 Apple ID 암호가 아닙니다. 입력 중에는 보통 문자 수가 표시되지 않는데, 이는 macOS 권한 인증의 정상적인 동작입니다.

활성화한 뒤 터미널에서 현재 네트워크 서비스의 프록시 상태를 확인할 수 있습니다. 무선 네트워크 서비스는 일반적으로 Wi-Fi로 표시되지만, 일부 구형 시스템이나 사용자 지정 환경에서는 이름이 다를 수 있습니다:

networksetup -getwebproxy Wi-Fi
networksetup -getsecurewebproxy Wi-Fi
scutil --proxy

출력에서 Enabled: Yes가 표시되고 서버 주소 127.0.0.1와 클라이언트 포트가 일치하면 시스템 프록시가 적용된 것입니다. 이 상태에서도 브라우저에 접속할 수 없다면 네트워크 확치를 반복 설치하기보다 노드, 규칙, DNS를 먼저 점검하세요.

macOS 12~macOS 15 네트워크 확장 승인 경로

TUN 모드는 Network Extension, Packet Tunnel Provider, 시스템 확장 또는 높은 권한의 보조 프로세스를 통해 구현될 수 있습니다. 클라이언트, 설치 방식, macOS 버전에 따라 표시되는 안내가 다릅니다. TUN, 강화 모드 또는 네트워크 서비스 설치를 활성화했을 때 시스템 알림이 나타나는 경우에만 해당 설정 화면에서 승인하면 됩니다.

macOS 15 Sequoia

macOS 15에서는 확장 관리 메뉴가 ‘로그인 항목 및 확장’으로 통합되었습니다. ‘시스템 확장이 차단됨’ 또는 네트워크 확장 요청이 표시되면 먼저 ‘시스템 설정’ → ‘일반’ → ‘로그인 항목 및 확장’을 열고 페이지 하단의 ‘네트워크 확장’을 확인하세요. 현재 클라이언트의 개발자 또는 앱 이름과 일치하는 항목을 찾아 스위치를 켠 다음 안내에 따라 인증합니다.

‘VPN 구성 추가’ 대화상자가 표시되면 방금 조작한 Clash 클라이언트의 요청인지 확인한 뒤 ‘허용’을 선택합니다. 완료 후 클라이언트로 돌아가 TUN을 껐다가 다시 켜세요. 일부 버전은 Packet Tunnel Provider를 다시 로드하려면 클라이언트를 완전히 종료한 후 재시작해야 합니다.

macOS 13 Ventura 및 macOS 14 Sonoma

Ventura 13.7 및 Sonoma 14.7에서는 차단된 시스템 소프트웨어가 보통 ‘시스템 설정’ → ‘개인정보 보호 및 보안’ 페이지 하단에 표시됩니다. ‘허용’을 클릭하고 관리자 암호를 입력한 다음 안내에 따라 클라이언트를 다시 열거나 Mac을 재시동하세요. 버튼이 보이지 않는다면 클라이언트의 ‘설치’를 계속 클릭하지 마세요. 앱을 종료하고 TUN 또는 서비스 설치 요청을 한 번 더 실행한 직후 ‘개인정보 보호 및 보안’을 확인하세요.

VPN 구성은 ‘시스템 설정’ → ‘VPN’에서 확인할 수 있습니다. 같은 클라이언트가 남긴 작동하지 않는 구성이 여러 개라면 먼저 TUN을 끄고, 이전 버전에 속하는 것이 확실한 중복 항목만 삭제한 뒤 현재 버전에서 다시 생성하세요. 회사 기기의 VPN 항목은 모바일 기기 관리 설정으로 배포되었을 수 있으므로 임의로 삭제하면 안 됩니다.

macOS 12 Monterey

Monterey 12.7에서는 이전 버전의 ‘시스템 환경설정’을 사용합니다. ‘보안 및 개인정보 보호’ → ‘일반’으로 이동해 왼쪽 아래 자물쇠 버튼을 클릭하고 인증을 완료한 다음 차단된 시스템 소프트웨어를 승인하세요. 네트워크 서비스와 VPN 상태는 ‘시스템 환경설정’ → ‘네트워크’에서 확인할 수 있습니다. 승인 후 재시동 안내가 표시되면 작업을 저장하고 정상적으로 재시동하세요. 시스템 설정 프로세스를 강제 종료하지 마세요.

키체인 팝업에서 ‘허용’과 ‘항상 허용’ 중 무엇을 선택해야 할까

키체인 팝업에는 접근을 요청한 앱과 항목의 이름이 명확히 표시됩니다. Clash 클라이언트는 키체인에 구독 인증 정보, 컨트롤러 키, 서비스 토큰 또는 보안 저장 항목을 보관할 수 있습니다. 처리하기 전에 팝업 상단의 앱 이름이 방금 실행한 클라이언트와 일치하는지 확인하고, 구독 가져오기·서비스 설치·업데이트 후 첫 실행 시점에 나타난 팝업인지 살펴보세요.

버튼 결과 권장 상황
거부 이번에는 해당 키체인 항목에 접근하지 않음 앱 이름, 출처 또는 요청 시점을 확인할 수 없음
허용 이번 접근만 승인 기능을 처음 확인하며 장기 권한은 아직 부여하지 않음
항상 허용 현재 앱 식별자에 대한 접근 권한을 저장 고정된 설치 경로의 신뢰할 수 있는 클라이언트이며 백그라운드 자동 시작이 필요함

클라이언트가 로그인할 때 자동으로 시작되고 매번 같은 서비스 키를 읽어야 한다면 ‘항상 허용’을 선택하면 백그라운드 시작이 팝업으로 중단되는 일을 줄일 수 있습니다. 이 경우에도 현재 macOS 로그인 계정의 암호를 입력해야 합니다. Touch ID 사용 가능 여부는 시스템 버전, 키체인 항목, 인증 정책에 따라 달라지므로 팝업에서 암호를 요구하면 이 Mac의 계정 암호를 입력하세요.

‘허용’만 선택했다면 다음 앱 재시작 때 다시 묻는 것은 정상입니다. ‘항상 허용’을 선택했는데도 매번 팝업이 나타난다면 앱을 아직 DMG에서 실행하고 있는지, 업데이트 과정에서 배포 경로가 바뀌었는지, 시스템에 같은 이름의 클라이언트가 두 개 남아 있는지를 먼저 확인하세요. 키체인 접근 제어는 앱 서명을 식별하므로 이름이 같다고 같은 승인 주체인 것은 아닙니다.

네트워크 확장 승인 실패 후 초기화 절차

먼저 최소한으로 재시도

  1. 클라이언트에서 TUN, 시스템 프록시, 로그인 시 자동 시작을 끕니다.
  2. 메뉴 막대에서 ‘종료’를 선택한 다음 ‘활성 상태 보기’를 열어 클라이언트 프로세스가 끝났는지 확인합니다.
  3. ‘시스템 설정’ → ‘네트워크’ → ‘VPN’으로 이동해 현재 클라이언트에 속하고 상태가 비정상인 이전 구성만 삭제합니다.
  4. macOS 15의 ‘일반’ → ‘로그인 항목 및 확장’ → ‘네트워크 확장’에서 이전 항목을 끈 뒤 다시 엽니다.
  5. Mac을 재시동하고 ‘응용 프로그램’에서 클라이언트를 실행합니다.
  6. 먼저 시스템 프록시를 켜서 테스트한 다음 TUN을 별도로 활성화합니다.

시스템 명령으로 등록된 시스템 확장을 확인할 수 있습니다. 이 목록은 확장이 존재하는지 확인하기 위한 것이며, Clash 트래픽이 반드시 해당 확장을 통과한다는 뜻은 아닙니다:

systemextensionsctl list
scutil --nwi
ifconfig | grep -E "utun[0-9]"

utun0, utun1 같은 인터페이스가 보여도 곧바로 Clash 소유라고 판단할 수 없습니다. iCloud Private Relay, 기업 VPN, 다른 네트워크 소프트웨어도 utun을 만들 수 있습니다. 더 확실한 방법은 Clash TUN을 끄기 전후로 인터페이스, 라우팅, 클라이언트 로그를 비교하고 로그에 permission denied, operation not permitted, route setup failed가 없는지 확인하는 것입니다.

그다음 보조 서비스 재설치

많은 클라이언트는 ‘설정’ → ‘서비스 모드’ 또는 ‘설정’ → ‘Clash Core’에서 제거와 재설치 메뉴를 제공합니다. 먼저 제거를 실행하고 클라이언트를 완전히 종료한 후 다시 열어 설치하세요. 인증에 성공했다면 관리자 암호 창이 사라졌는지만 보지 말고 클라이언트에서 서비스 상태가 실행 중으로 표시되는지 확인해야 합니다.

인터넷에서 출처가 불분명한 sudo rm 명령을 복사해 LaunchDaemon, 시스템 확장 또는 네트워크 구성을 일괄 삭제하지 마세요. 클라이언트마다 bundle identifier와 보조 서비스 이름이 다르므로 잘못 삭제하면 다른 VPN에도 영향을 줄 수 있습니다. 우선 클라이언트의 제거 메뉴를 사용하고, 클라이언트를 실행할 수 없을 때만 해당 프로젝트 문서에서 정확한 서비스 이름을 확인하세요.

키체인 팝업이 계속 나타날 때 안전하게 초기화하는 방법

‘응용 프로그램’ → ‘유틸리티’ → ‘키체인 접근’을 열고 왼쪽에서 ‘로그인’ 키체인을 선택한 다음 ‘모든 항목’을 선택합니다. 클라이언트 이름, 개발자 이름 또는 팝업에 표시된 항목 이름으로 검색하세요. 대상 항목을 더블 클릭하고 ‘접근 제어’를 열면 접근이 허용된 앱을 확인할 수 있습니다.

  1. 팝업에 표시된 키체인 항목의 전체 이름을 기록합니다.
  2. Clash 클라이언트와 메뉴 막대 프로세스를 종료합니다.
  3. ‘키체인 접근’에서 해당 항목만 찾고 ‘로그인’ 키체인 전체를 삭제하지 마세요.
  4. 접근 목록이 이전 경로를 가리키면 이전 앱 항목을 제거하고 저장할 수 있습니다.
  5. 항목이 이미 삭제한 이전 클라이언트에 속한 것이 확실하다면 해당 항목만 삭제합니다.
  6. ‘응용 프로그램’에서 현재 클라이언트를 다시 실행해 접근 권한을 새로 생성하거나 요청하게 합니다.
  7. 앱 이름을 확인한 후 ‘허용’을 선택하고, 기능이 안정된 뒤 ‘항상 허용’을 사용할지 결정하세요.

구독 인증 정보 항목을 삭제하면 클라이언트에서 다시 로그인하거나 구독을 다시 가져오라고 할 수 있습니다. 작업 전에 구독 링크가 여전히 유효한지 확인하세요. 인증서, Wi-Fi 암호, 브라우저 보안 저장소 또는 이름을 확인할 수 없는 일반 암호 항목은 삭제하지 마세요.

승인 후에도 인터넷이 되지 않을 때 확인할 순서

네트워크 확장이 활성화되었다는 것은 macOS가 확장을 승인했다는 뜻일 뿐, 노드가 작동하거나 규칙이 올바르거나 DNS 해석이 완료되었다는 의미는 아닙니다. 모든 문제를 시스템 권한 탓으로 돌리지 않도록 아래 순서대로 점검하세요.

  1. 코어 상태: mihomo 또는 Clash Meta 코어가 실행 중인지 확인하고 로그에 포트 충돌이나 구성 파싱 오류가 없는지 살펴봅니다.
  2. 구독 상태: 구성을 수동으로 업데이트하고 구독이 만료되지 않았는지 확인합니다. 정책 그룹에서는 사용할 수 없는 기본 정책이 아니라 실제 노드를 선택해야 합니다.
  3. 시스템 프록시: scutil --proxy로 주소와 포트를 확인하고 클라이언트의 mixed-port와 일치하는지 확인합니다.
  4. 실행 모드: 일반적인 사용에는 Rule을 우선 선택합니다. Global은 더 많은 요청을 하나의 정책으로 보내고, Direct는 프록시 규칙에 따라 전달하지 않습니다.
  5. DNS: 구성의 nameserver, fallback 또는 fake-ip 설정을 확인합니다. 변경 후에는 시스템 프록시만 전환하지 말고 코어를 재시작하세요.
  6. TUN 충돌: 다른 VPN, 패킷 캡처 도구, 유사 프록시 클라이언트를 종료한 뒤 Clash TUN만 별도로 켭니다.
  7. 방화벽 및 필터: ‘시스템 설정’ → ‘네트워크’ → ‘VPN 및 필터’로 이동해 동시에 활성화된 콘텐츠 필터가 있는지 확인합니다.

시스템 프록시는 정상인데 TUN을 켠 뒤 인터넷이 끊긴다면 라우팅, DNS 가로채기, MTU 또는 다른 VPN과의 충돌일 가능성이 큽니다. 먼저 TUN의 자동 라우팅과 DNS 제어 옵션을 하나씩 끄며 테스트하세요. 구성이 Fake-IP를 사용한다면 로컬 네트워크 기기, 사내 도메인, 로컬 도메인을 fake-ip-filter에 추가해야 하는지도 확인합니다. 규칙의 의미를 모른 채 모든 도메인을 직접 연결로 바꾸지는 마세요.

반대로 TUN은 정상인데 TUN을 끄면 브라우저에 접속할 수 없다면 시스템 프록시가 실제로 적용되었는지 확인해야 합니다. 일부 클라이언트는 서비스 모드 설치에 실패해도 화면의 스위치가 잠시 켜지지만 시스템 프록시는 바뀌지 않을 수 있습니다. 이때 보조 서비스를 다시 설치하고 networksetup 또는 scutil로 다시 확인하세요.

업데이트 및 제거 시 권한 잔여 항목 방지

업데이트하기 전에 시스템 프록시와 TUN을 끄고 클라이언트를 종료하세요. 앱 내 업데이트를 사용할 때는 앱을 ‘응용 프로그램’에 둡니다. 수동으로 교체할 때는 이전 버전을 먼저 종료한 뒤 새 버전으로 덮어쓰고, ‘클라이언트’, ‘클라이언트 2’, 다운로드 폴더의 복사본을 동시에 남겨 두지 마세요. 다른 브랜치나 배포판으로 바꿀 때는 로컬 구성을 먼저 내보내고 이전 클라이언트의 서비스 제거 기능을 사용하세요.

앱 아이콘을 삭제해도 시스템 프록시는 자동으로 정리되지 않습니다. 종료 전에 시스템 프록시가 여전히 127.0.0.1:7890을 가리키면 클라이언트를 삭제한 후 브라우저가 인터넷에 연결되지 않을 수 있습니다. ‘시스템 설정’ → ‘네트워크’ → ‘Wi-Fi’ → ‘세부사항’ → ‘프록시’에서 웹 프록시, 보안 웹 프록시, SOCKS 프록시를 끄거나, 클라이언트를 다시 설치한 뒤 시스템 프록시를 켰다가 정상적으로 끄세요.

제거가 끝나면 ‘시스템 설정’ → ‘일반’ → ‘로그인 항목 및 확장’, ‘시스템 설정’ → ‘네트워크’ → ‘VPN’, ‘키체인 접근’을 확인하세요. 이전 클라이언트에 속한 것이 확실한 항목만 정리합니다. 같은 클라이언트를 계속 사용할 예정이라면 업데이트를 위해 모든 구성을 삭제할 필요는 없습니다. 구독과 규칙 파일을 유지하는 편이 일반적으로 더 안전합니다.

Clash 다운로드