Clash macOS 설치 권한 설정: 네트워크 확장 및 키체인 알림 해결
Clash macOS 최초 실행 시 네트워크 확장, 시스템 프록시, 키체인 권한의 역할과 거부 후 다시 허용하는 방법을 정리했습니다.
macOS 권한 알림은 어떤 Clash 기능과 관련이 있나요?
macOS의 Clash 그래픽 클라이언트는 일반적으로 인터페이스, Clash 또는 mihomo 코어, 시스템 프록시 제어 모듈, 선택 사항인 TUN 가로채기 모듈로 구성됩니다. 최초 실행 시 표시되는 시스템 알림은 클라이언트의 구현 방식, macOS 버전, 활성화한 기능에 따라 달라집니다. 일반 규칙 프록시, 시스템 프록시, TUN 모드에 필요한 권한도 서로 다른 수준에 해당합니다.
시스템 프록시만 사용하는 경우 클라이언트는 주로 macOS의 현재 네트워크 서비스에서 HTTP, HTTPS 또는 SOCKS 프록시를 로컬 수신 포트로 지정합니다. 브라우저와 시스템 프록시 설정을 따르는 앱은 연결을 Clash 코어에 전달하고, 규칙에 따라 직접 연결, 프록시 노드 또는 다른 정책 그룹이 선택됩니다. 클라이언트가 보조 서비스를 설치하거나 네트워크 설정을 변경하기 위해 관리자 승인을 요구할 수 있지만, 반드시 네트워크 확장을 등록하는 것은 아닙니다.
TUN 모드를 활성화하면 클라이언트가 가상 네트워크 인터페이스를 만들고 시스템 라우팅을 조정하여 시스템 프록시를 읽지 않는 프로그램의 트래픽도 Clash로 전달해야 합니다. 일부 클라이언트는 Apple Network Extension 프레임워크를 사용하고, 일부는 관리자 권한이 있는 백그라운드 서비스로 가상 인터페이스를 만듭니다. 따라서 같은 TUN 기능이라도 클라이언트에 따라 “네트워크 확장 허용”, “VPN 구성 추가”, “보조 도구 설치” 또는 관리자 계정 인증과 같은 알림이 표시될 수 있습니다.
키체인은 보호된 자격 증명을 저장하거나 읽는 데 사용됩니다. 클라이언트는 보조 서비스 인증 정보, 프록시 인증 정보 또는 기타 민감한 설정을 로그인 키체인에 저장할 수 있습니다. 키체인 접근 창과 일반 관리자 인증 창은 구분해야 합니다. 전자는 보통 “키체인”이나 특정 키체인 항목을 명시하고, 후자는 시스템 수준의 변경을 확인하는 용도이므로 창의 위치만으로 두 창을 같은 것으로 판단해서는 안 됩니다.
| 알림 유형 | 일반적인 용도 | 거부했을 때의 영향 |
|---|---|---|
| 관리자 계정 인증 | 백그라운드 보조 서비스 설치 및 보호된 네트워크 설정 변경 | 서비스 모드 또는 TUN 기능을 활성화하지 못할 수 있음 |
| 네트워크 확장 또는 VPN 구성 | 시스템이 관리하는 가상 네트워크 통로 생성 | TUN 가로채기를 시작할 수 없지만 일반 시스템 프록시는 계속 사용할 수 있음 |
| 키체인 접근 | 보호된 인증 및 자격 증명 데이터 읽기 또는 저장 | 암호를 반복해서 묻거나 관련 설정을 복원하지 못할 수 있음 |
| 알림 권한 | 연결, 업데이트 및 백그라운드 상태 표시 | 핵심 프록시 연결에는 영향이 없지만 상태 알림이 줄어듦 |
Clash macOS 최초 실행 설정 순서
설치 후 먼저 앱을 “응용 프로그램” 폴더로 옮긴 다음 해당 위치에서 실행하세요. 다운로드 폴더나 디스크 이미지에서 직접 실행하면 보조 서비스 경로가 바뀌거나 자동 실행이 작동하지 않을 수 있으며, 업그레이드할 때 이전 구성 요소가 남기 쉽습니다. 앱이 인터넷에서 다운로드되었다는 알림이 표시되면 출처를 확인한 후 계속 여세요.
-
먼저 클라이언트를 실행하고 TUN은 바로 활성화하지 마세요.
인터페이스에 코어가 실행 중으로 표시될 때까지 기다리고 로컬 프록시 포트가 충돌하지 않는지 확인하세요. 일반적인 포트는 설정의
port,socks-port또는mixed-port로 결정되며, 실제 값은 현재 설정을 기준으로 합니다. -
유효한 설정 또는 구독을 가져오세요.
구독에는 보통 노드, 정책 그룹, 규칙이 포함됩니다. 가져오기가 끝나면 한 번 수동으로 업데이트하여 YAML 파싱 오류가 없는지 확인하고, 정책 그룹에서 사용할 수 있는 노드를 선택하세요. 네트워크 권한은 트래픽을 코어로 전달할 뿐, 작동하지 않는 노드나 잘못된 구독을 수정하지는 못합니다.
-
먼저 일반 시스템 프록시를 테스트하세요.
“시스템 프록시”를 켠 후 테스트 페이지에 접속하고 클라이언트의 연결 기록을 확인하세요. 로그에 도메인, 규칙, 정책 그룹이 표시되면 앱 트래픽이 Clash로 들어온 것입니다. 이때 연결에 실패한다면 시스템 권한을 계속 추가하기보다 노드와 규칙을 먼저 점검하세요.
-
필요에 따라 서비스 모드를 설치하거나 TUN을 활성화하세요.
명령줄 프로그램, 게임, 가상 머신 관련 트래픽 또는 시스템 프록시를 따르지 않는 앱을 실제로 가로채야 할 때만 TUN을 활성화하세요. 시스템에서 네트워크 확장, VPN 구성 또는 보조 도구 관련 알림이 표시되면 클라이언트 화면의 안내에 따라 권한을 허용하세요.
-
클라이언트를 재시작하고 설정을 다시 확인하세요.
보조 서비스 설치가 완료되면 클라이언트를 완전히 종료한 뒤 다시 실행하세요. 주 메뉴 창만 닫으면 메뉴 막대 앱이 백그라운드에서 계속 실행될 수 있습니다. 다시 들어간 후 시스템 프록시, TUN, 정책 모드가 원하는 상태로 유지되는지 확인하세요.
네트워크 확장을 거부한 후 다시 허용하는 방법
처음 네트워크 확장 요청에서 “허용 안 함”을 선택해도 일반적으로 Clash 설정이 손상되지는 않지만, 해당 TUN 또는 VPN 가로채기 기능은 사용할 수 없는 상태로 남습니다. 다시 허용하는 위치는 macOS 버전에 따라 달라졌고 메뉴 이름도 조금씩 다를 수 있으므로 시스템 설정의 검색 기능을 활용해 찾는 것이 좋습니다.
시스템 설정에서 확장 상태 찾기
최신 macOS에서는 먼저 “시스템 설정”을 열고 검색창에 “네트워크 확장”, “VPN” 또는 “필터”를 입력할 수 있습니다. 일반적인 위치는 “네트워크” 아래의 “VPN 및 필터” 또는 “일반” 아래 “로그인 항목 및 확장 프로그램”의 “네트워크 확장”입니다. 목록에 현재 Clash 클라이언트나 보조 구성 요소가 보이면 해당 항목을 켠 후 클라이언트로 돌아가 TUN을 다시 시도하세요.
일부 버전에서는 “개인정보 보호 및 보안” 페이지 하단에 차단된 시스템 소프트웨어 또는 확장이 표시됩니다. 이러한 알림은 설치 후 일정 시간 동안만 나타나는 경우가 많습니다. 허용을 클릭하면 관리자 계정 인증을 요구하거나 앱 종료 또는 macOS 재시작을 요청할 수 있습니다. 재시작하기 전에 작업을 저장하고 다른 프로그램도 정상적으로 종료하세요.
시스템 설정에서 해당 항목을 찾을 수 없을 때
네트워크 확장 목록에 관련 기록이 전혀 없다면 클라이언트가 아직 등록을 시작하지 않았거나, 앱이 디스크 이미지에서 실행 중이거나, 보조 구성 요소 설치에 실패했거나, 현재 클라이언트가 Network Extension 프레임워크를 사용하지 않는 것일 수 있습니다. 존재하지 않는 설정을 반복해서 찾기보다 다음 순서로 처리하세요:
- 클라이언트를 종료하고 “활성 상태 보기”에서 관련 인터페이스 프로세스가 끝났는지 확인하세요.
- 앱이 “응용 프로그램” 폴더에 있고, 서로 다른 여러 버전을 번갈아 실행하고 있지 않은지 확인하세요.
- 클라이언트를 다시 열고 설정에서 TUN 또는 서비스 모드를 껐다가 켜서 설치 절차를 다시 시작하게 하세요.
- 클라이언트에 “서비스 설치”, “서비스 복구” 또는 “보조 구성 요소 다시 설치” 기능이 있다면 내장 메뉴를 사용하세요.
- 여전히 알림이 나타나지 않으면 클라이언트 로그를 확인하여 권한 오류인지, 서비스 미설치인지, 설정 필드 때문에 코어가 시작되지 않은 것인지 구분하세요.
일부 mihomo 기반 클라이언트는 시스템 설정에 별도의 네트워크 확장으로 표시하는 대신 특권 보조 서비스로 TUN을 관리합니다. 이 경우 관리자 인증과 서비스 상태가 더 중요합니다. 판단할 때는 클라이언트 문서, 로그에 기록된 서비스 시작 결과, 시스템에 해당 가상 인터페이스가 생성되었는지를 기준으로 삼아야 합니다. “목록에 네트워크 확장이 없다”는 사실만으로 설치 실패라고 단정해서는 안 됩니다.
키체인 암호 알림과 반복 팝업 해결
macOS의 “로그인” 키체인은 일반적으로 사용자가 로그인할 때 자동으로 잠금 해제됩니다. Clash 클라이언트나 보조 구성 요소가 보호된 항목에 접근하면 시스템에서 접근 확인 창을 표시할 수 있습니다. 창에는 보통 접근을 요청한 앱과 키체인 항목 이름이 표시되며, 거부, 한 번 허용, 항상 허용 등의 선택지가 제공됩니다. 허용하기 전에 앱 경로와 이름을 확인하고 권한 범위를 결정하세요.
최초 실행이거나 클라이언트를 막 업그레이드한 경우라면 한 번 허용을 선택해 이후 동작을 관찰할 수 있습니다. 출처, 서명, 용도가 명확하고 해당 항목을 백그라운드에서 계속 읽어야 할 때만 지속적인 허용을 고려하세요. 입력창에서 요구하는 것은 일반적으로 현재 macOS 사용자의 로그인 암호이며, 구독 서비스 암호나 프록시 노드 암호, Apple 계정 암호가 아닙니다.
로그인 암호가 맞는데도 키체인이 거부할 때
macOS 로그인 암호를 변경한 후 로그인 키체인의 이전 암호가 동기화되지 않을 수 있습니다. 이 경우 시스템 로그인은 성공했지만 이전 키체인은 계속 예전 암호를 사용합니다. macOS 기본 앱인 “키체인 접근”을 열어 “로그인” 키체인이 잠겨 있는지 확인하고 이전 로그인 암호로 잠금 해제를 시도하세요. 이전 암호를 알고 있다면 키체인 설정에서 암호를 변경하여 현재 계정 암호와 일치시킬 수 있습니다.
이전 암호를 더 이상 찾을 수 없다면 먼저 키체인에 저장된 다른 계정 자격 증명에 미칠 영향을 검토하세요. 기본 키체인을 재설정하면 여러 앱에 영향을 주므로 단일 Clash 알림을 해결하는 첫 단계로 삼아서는 안 됩니다. 더 안전한 방법은 현재 클라이언트와 명확히 관련된 항목을 찾고, 클라이언트를 종료한 뒤 필요한 정보를 백업한 다음 해당 항목만 삭제하여 클라이언트가 인증 기록을 다시 만들도록 하는 것입니다.
실행할 때마다 권한을 요구할 때
- 앱을 다운로드 폴더, 디스크 이미지, “응용 프로그램” 폴더 등 서로 다른 경로에서 번갈아 실행하고 있지 않은지 확인하세요.
- 클라이언트 업그레이드 후 앱 서명이나 구성 요소 이름이 바뀌었는지 확인하세요. 이전 키체인 접근 제어가 새 프로그램과 더 이상 일치하지 않을 수 있습니다.
- “로그인” 키체인이 로그인 후 자동으로 잠금 해제되는지, 보안 정책에 의해 미리 잠기는지 확인하세요.
- 키체인 전체를 삭제하지 마세요. 이름과 소유 앱을 확실히 확인할 수 있는 클라이언트 항목만 처리하세요.
- 팝업 이름이 낯선 프로그램을 가리킨다면 요청을 거부하고 로그인 항목, 백그라운드 항목, 현재 실행 중인 프로세스를 확인하세요.
시스템 프록시를 켠 뒤 작동하지 않을 때 확인하는 방법
시스템 프록시가 성공적으로 켜졌다고 해서 노드를 사용할 수 있다는 뜻은 아닙니다. 프록시 설정이 기록되었는지, 코어가 수신 대기 중인지, 트래픽이 로그에 들어오는지, 규칙에서 올바른 정책을 선택했는지, 마지막으로 원격 노드가 정상인지 순서대로 확인하세요. 각 단계를 나누면 웹페이지 하나가 열리지 않는다는 이유로 권한 구성 요소를 반복 설치하는 일을 피할 수 있습니다.
macOS의 현재 프록시 상태 확인
터미널에서 macOS 기본 명령어로 동적 저장소의 프록시 설정을 확인할 수 있습니다:
scutil --proxy
출력된 HTTP, HTTPS 또는 SOCKS 활성화 상태와 포트는 Clash 클라이언트에 표시된 로컬 수신 정보와 일치해야 합니다. 클라이언트에서 시스템 프록시를 켰는데도 명령어에는 비활성화로 표시된다면 스위치를 끄고 몇 초 기다린 후 다시 켜 보세요. 다른 네트워크 도구가 설정을 즉시 덮어쓰는지도 확인해야 합니다.
특정 네트워크 서비스의 설정을 확인할 수도 있습니다. 네트워크 서비스 이름은 “Wi-Fi”, USB 네트워크 어댑터 이름 또는 기업 설정으로 생성된 서비스일 수 있으므로 먼저 시스템 네트워크 설정에서 실제 이름을 확인하세요:
networksetup -getwebproxy "Wi-Fi"
networksetup -getsecurewebproxy "Wi-Fi"
networksetup -getsocksfirewallproxy "Wi-Fi"
로컬 포트와 설정 일치 여부 확인
Clash 설정은 HTTP와 SOCKS 포트를 따로 사용할 수도 있고, mixed-port로 혼합 진입점을 제공할 수도 있습니다. 시스템 프록시가 이전 포트를 가리키는데 새 설정에서 수신 포트를 변경했다면 스위치는 정상처럼 보여도 연결이 거부됩니다. 클라이언트 개요 화면과 현재 적용된 설정을 확인하세요. 클라이언트가 실행 중에 필드를 병합하거나 덮어쓸 수 있으므로 구독 파일의 원본만 확인해서는 안 됩니다.
로그에 새 연결이 전혀 추가되지 않는다면 문제는 대개 시스템 프록시 기록, 앱의 프록시 우회, 로컬 포트 이전 단계에 있습니다. 로그에 연결은 있지만 timeout이 표시되면 노드, DNS, 원격 연결 가능성을 계속 확인하세요. 로그에 DIRECT가 명확히 표시되면 규칙 순서와 현재 모드를 점검해야 합니다. Clash 규칙은 위에서부터 일치 여부를 확인하며, 보통 하나가 적용되면 이후 규칙은 더 검색하지 않습니다.
클라이언트 종료 후 프록시 복구
정상적으로 종료하면 클라이언트는 일반적으로 자신이 기록한 시스템 프록시를 해제합니다. 프로그램이 비정상 종료된 후 브라우저에서 인터넷이 되지 않는다면 같은 클라이언트를 다시 실행하고 시스템 프록시를 켰다가 끈 다음 정상적으로 종료하세요. “시스템 설정”의 현재 네트워크 서비스 세부 정보에서 HTTP, HTTPS, SOCKS 프록시를 수동으로 끌 수도 있습니다. 네트워크 서비스 이름과 기존 기업 설정을 확실히 모르는 상태에서 일괄 수정 명령을 실행하지 마세요.
TUN 모드 권한, DNS 및 가상 인터페이스
TUN 모드는 가상 네트워크 인터페이스로 IP 트래픽을 받은 다음 Clash 또는 mihomo 코어로 전달합니다. 시스템 프록시를 따르지 않는 앱에 적합하지만 다른 VPN, 가상 머신 네트워크, 컨테이너 도구, 보안 필터 소프트웨어와 충돌하기도 쉽습니다. 일반 웹 프록시로 충분하다면 “권한을 더 완전히 설정하기 위해” TUN을 추가로 켤 필요는 없습니다.
TUN을 활성화하면 클라이언트가 데몬 설치를 위해 관리자 권한을 요구하거나 VPN 구성 추가를 요청할 수 있습니다. 허용이 완료되면 시스템 네트워크 인터페이스에 VPN 또는 필터 항목이 나타날 수 있고, 터미널의 네트워크 인터페이스 목록에는 utun 인터페이스가 표시될 수 있습니다. macOS 자체와 다른 앱도 utun을 만들 수 있으므로 이 이름만으로 Clash 소유라고 단정할 수 없습니다. 활성화 전후의 변화와 클라이언트 로그를 함께 확인하세요.
mihomo 설정에서 TUN과 관련해 자주 사용하는 필드는 enable, stack, auto-route, auto-detect-interface입니다. 그래픽 클라이언트가 이 필드를 자동으로 생성할 수도 있고, 인터페이스 스위치로 구독 설정의 값을 덮어쓸 수도 있습니다. YAML을 수정하기 전에 클라이언트가 “구독 원본 설정”, “덮어쓰기 설정”, “실행 중 병합 설정” 중 어떤 방식을 사용하는지 확인하여 구독 업데이트 후 수동 변경 사항이 덮어써지지 않도록 하세요.
DNS는 TUN 문제 해결에서 핵심적인 단계입니다. 도메인이 먼저 해석되어야 이후 연결이 도메인 규칙 또는 IP 규칙에 따라 라우팅될 수 있습니다. TUN을 켠 뒤 도메인만 접속되지 않고 알고 있는 IP 주소에는 응답이 있다면 Clash DNS 모듈이 실행 중인지, 상위 DNS에 연결할 수 있는지, 다른 VPN이 DNS를 강제로 가로채는지 확인하세요. 로그에 DNS 루프나 지속적인 쿼리 시간 초과가 나타나면 먼저 다른 네트워크 가로채기 도구를 일시 종료한 뒤 Clash만 따로 테스트하세요.
권한을 허용했는데도 Clash가 연결되지 않을 때
시스템 권한은 로컬 연결 과정의 일부일 뿐입니다. 네트워크 확장이 허용됨으로 표시되고 키체인 알림도 더 이상 나타나지 않아도 구독 만료, 노드 연결 불가, 잘못된 시스템 시간, 포트 충돌, 규칙 설정 때문에 연결이 실패할 수 있습니다. 로컬에서 원격으로 이어지는 순서로 점검하는 것이 좋습니다.
-
코어 상태를 확인하세요.
클라이언트에 코어 종료, 설정 파싱 실패, 시작 반복이 표시되지 않는지 확인하세요. YAML 들여쓰기 오류, 중복 포트, 현재 코어가 지원하지 않는 필드 때문에 권한을 얻은 후에도 코어가 실행되지 않을 수 있습니다.
-
구독을 업데이트하고 업데이트 시간을 확인하세요.
설정을 한 번 수동으로 업데이트하고 반환된 오류 메시지를 기록하세요. 구독 주소 만료, 네트워크 요청 차단, 설정 형식 오류는 각각 다르게 처리해야 하며 업데이트 버튼을 반복해서 눌러도 오류의 종류는 바뀌지 않습니다.
-
여러 노드를 테스트하세요.
지연 시간 테스트는 연결 가능성을 확인하는 참고 자료일 뿐 실제 연결 품질을 완전히 보여 주지는 않습니다. 지역과 프로토콜이 다른 노드를 선택해 테스트하고, 로그에서 연결 시간 초과인지, 핸드셰이크 실패인지, DNS 실패인지 확인하세요.
-
시스템 날짜와 시간대를 맞추세요.
날짜, 시간 또는 시간대가 크게 잘못되면 TLS 연결 검증에 실패할 수 있습니다. macOS 날짜 및 시간 설정을 열고 자동 설정을 활성화한 뒤 현재 시간대가 올바른지 확인하세요.
-
다른 네트워크 가로채기 프로그램을 종료하세요.
다른 VPN, 프록시 클라이언트, 콘텐츠 필터, 기업 보안 소프트웨어가 기본 라우팅이나 DNS를 변경할 수 있습니다. 일시적으로 종료한 후 다시 테스트하되, 기업 관리 기기의 보안 구성 요소는 조직의 관리 정책을 따라야 합니다.
-
현재 모드와 정책 그룹을 다시 확인하세요.
규칙 모드는 설정에 있는 규칙 순서와 정책 선택에 따라 작동합니다. 전역 모드는 일반적으로 트래픽을 지정된 전역 정책으로 전달하고, 직접 연결 모드는 프록시 노드를 사용하지 않습니다. 모드를 잘못 선택하면 권한과 노드가 모두 정상이어도 예상과 다른 연결 결과가 나타납니다.
클라이언트 업그레이드 후 TUN이 갑자기 작동하지 않을 때
업그레이드 과정에서 그래픽 프로그램, 코어, 보조 서비스가 동시에 교체될 수 있습니다. 먼저 이전 프로세스를 완전히 종료한 다음 “응용 프로그램” 폴더에서 새 버전을 실행하세요. 인터페이스에 서비스 버전 불일치가 표시되면 클라이언트가 제공하는 서비스 제거 또는 복구 메뉴를 사용해 보조 구성 요소를 다시 설치하세요. 관리자 인증을 완료한 후 클라이언트를 재시작하고 네트워크 확장 또는 VPN 항목이 계속 활성화되어 있는지 확인하세요.
이전 버전과 새 버전을 서로 다른 폴더에 두고 번갈아 실행하지 마세요. 시스템 권한은 앱 식별자, 서명, 구성 요소 경로에 연결될 수 있어 번갈아 실행하면 키체인 접근과 백그라운드 서비스 상태를 파악하기 어려워집니다. 새 버전의 설정이 정상적으로 작동하는지 확인한 뒤 클라이언트가 안내하는 방법으로 이전 구성 요소를 정리하세요.
문제 제보에 적합한 진단 정보
클라이언트 유지 관리자에게 문의할 때는 macOS 메이저 버전, Mac 칩 유형, 클라이언트 버전, 코어 유형, 문제 발생 절차, 민감한 정보가 가려진 로그 일부를 제공할 수 있습니다. 구독 주소, 노드 서버 주소, 인증 정보, 로컬 계정 정보는 공개하지 마세요. 로그는 “연결 실패” 한 줄만 잘라내지 말고 오류 전후의 맥락을 포함해야 합니다.