첫 설정 순서: 설정을 먼저 적용하고 트래픽을 연결하세요
설치가 완료됐다는 것은 클라이언트 파일이 기기에 저장됐다는 뜻일 뿐, 프록시 연결이 작동한다는 의미는 아닙니다. 데스크톱 클라이언트는 보통 그래픽 인터페이스와 프록시 코어로 구성됩니다. 인터페이스에서는 구독, 정책 그룹, 켜기·끄기를 관리하고, 코어는 설정을 읽고 포트를 열어 연결을 전달합니다. Clash Meta는 이후 mihomo라는 이름으로 유지 관리되고 있으며, 코어마다 지원하는 프로토콜과 설정 항목이 다를 수 있습니다.
처음 사용할 때는 아래 순서대로 진행하세요. 한 단계씩 완료한 뒤 다음으로 넘어가면 문제가 생겼을 때 원인을 좁히기 쉽습니다. DNS, 포트, 노드를 한꺼번에 바꾸지 마세요.
- 기기 아키텍처를 확인하고 맞는 클라이언트를 설치한 다음, 클라이언트 버전과 코어 이름 및 버전을 기록합니다.
- 네트워크를 가로채는 다른 프록시 프로그램을 종료하고, 기기에서 일반 웹페이지에 정상적으로 접속되는지 확인합니다.
- 구독 또는 로컬 YAML 파일을 가져와 설정을 선택한 다음 코어가 시작되는지 확인합니다.
- 규칙 모드를 사용하고 실제 트래픽을 처리하는 정책 그룹에서 노드를 선택합니다.
- 데스크톱에서는 시스템 프록시를 켜고, Android에서는 클라이언트가 VPN 연결을 설정하도록 허용합니다.
- 브라우저 접속과 연결 로그를 확인한 뒤 TUN, 백그라운드 실행, 시작 프로그램 등록을 설정합니다.
설치 파일과 권한: 플랫폼별 필수 조건 확인
| 플랫폼 | 설치 전 확인 사항 | 첫 권한 설정과 자주 발생하는 문제 |
|---|---|---|
| Windows | 「설정」→「시스템」→「시스템 정보」에서 시스템 종류를 확인하고 x64와 ARM64를 구분합니다. | 시스템 프록시 사용에는 보통 관리자 권한을 계속 유지할 필요가 없습니다. 서비스를 설치하거나 TUN 네트워크 어댑터를 만들 때는 권한 상승이 필요할 수 있습니다. |
| macOS | Apple 메뉴→「이 Mac에 관하여」에서 ‘칩’ 또는 ‘프로세서’를 확인하고 Apple 칩 또는 Intel용 설치 파일을 선택합니다. | 앱을 「응용 프로그램」 폴더에 넣은 뒤 실행합니다. 네트워크 확장 프로그램이나 보조 서비스의 권한은 클라이언트 구현 방식에 따라 달라집니다. |
| Android | 최근 기기는 대부분 ARM64를 사용합니다. Android 버전만 보지 말고 기기 아키텍처와 설치 파일 요구 사항을 확인하세요. | 설정 파일을 가져온 뒤 연결을 누르고 시스템 VPN 안내에서 허용합니다. 기존 VPN 연결은 대체될 수 있습니다. |
| Linux | uname -m으로 아키텍처를 확인하고 배포판에 맞는 DEB, RPM 등의 패키지 형식을 선택합니다. |
데스크톱 프록시 설정을 앱에서 인식하는지는 데스크톱 환경과 앱에 따라 다릅니다. TUN에는 해당 네트워크 권한이 필요합니다. |
Windows: 모든 오류를 권한 문제로 단정하지 마세요
설치 후에는 일반 사용자 계정으로 먼저 실행하세요. 시스템 프록시만 켰는데 로컬 포트 바인딩에 실패한다면 관리자 권한으로 반복 실행하기보다 포트 충돌부터 확인하세요. 시스템 프록시는 프록시 연결 경로를 설정할 뿐, 모든 프로그램이 자동으로 프록시를 사용하게 하지는 않습니다. 일부 게임과 명령줄 도구, 별도 네트워크 구성 요소는 이 설정을 우회할 수 있습니다.
macOS: 보안 경고와 파일 손상을 구분하세요
시스템이 앱 실행을 차단하면 먼저 다운로드 출처와 설치 파일의 아키텍처를 확인하세요. 출처를 신뢰할 수 있다면 「시스템 설정」→「개인정보 보호 및 보안」에서 해당 앱을 열 수 있는지 확인합니다. 클라이언트 하나를 실행하려고 시스템 보안 기능을 전역으로 끄거나 출처를 알 수 없는 터미널 복구 명령을 실행하지 마세요.
Android: 연결 권한과 백그라운드 권한을 따로 설정하세요
VPN 권한은 트래픽이 들어오는 경로를 설정하고, 배터리 최적화는 백그라운드에서 앱이 유지되는 데 영향을 줍니다. 앱을 열어 둔 동안에는 정상인데 화면을 잠그면 자주 끊기는 경우, 「설정」→「앱」→해당 클라이언트→「배터리」에서 백그라운드 제한을 확인하세요. 메뉴 이름은 제조사별로 다를 수 있습니다. 처음에는 기본 설정을 유지하고 연결이 안정적인지 확인한 뒤 필요한 항목만 조정하세요.
구독 및 YAML 가져오기: 내용, 호환성, 적용 상태 확인
클라이언트가 사용할 수 있는 노드를 자동으로 제공하지는 않습니다. 구독 주소는 보통 이용 중인 서비스의 계정 페이지에서 확인할 수 있으며, 링크에 액세스 토큰이 포함될 수 있으므로 비밀번호처럼 다루세요. 전체 주소를 공개 포럼에 올리거나 스크린샷 및 공유 로그에 남기지 마세요. 스크린샷을 보낼 때는 노드 인증 정보도 가리세요.
- 클라이언트의 「설정」 또는 「구독」 페이지를 열고 URL 가져오기나 로컬 파일 가져오기를 선택합니다. 실제 메뉴 이름은 클라이언트에 따라 다릅니다.
- 다운로드가 끝날 때까지 기다린 뒤 설정 항목이 표시되는지 확인합니다. 다운로드에 실패하면 규칙을 바로 수정하지 말고 HTTP 상태 코드, 인증서 또는 네트워크 오류부터 살펴보세요.
- 방금 가져온 설정을 선택해 현재 사용 항목으로 지정합니다. 가져오기에 성공한 것과 실제로 사용 중인 것은 다릅니다.
- 실행 로그를 확인합니다. YAML 들여쓰기 오류, 알 수 없는 프로토콜, 누락된 정책 그룹이 있다면 시스템 프록시를 켜기 전에 먼저 해결하세요.
‘설정 형식 오류’가 발생해도 YAML 자체가 잘못된 것은 아닐 수 있습니다. 만료된 구독이 로그인 페이지를 반환하거나, 주소가 다른 클라이언트 형식의 파일을 반환할 수도 있고, 전체 설정이 아닌 노드 목록만 포함할 수도 있습니다. 파일 첫 부분이 <html>이라면 규칙을 몇 줄 추가하기보다 구독 주소와 계정 상태를 확인하세요.
설정 항목이 호환되지 않으면 현재 실행 중인 코어부터 확인하세요
mihomo에서 사용할 수 있는 프로토콜이나 확장 설정 항목이 구형 Clash 코어에서 작동하지 않을 수 있습니다. 클라이언트의 「정보」 또는 코어 정보 페이지에서 실제 버전을 확인한 뒤 해당 버전의 문서와 대조하세요. 설치 파일 이름만으로 코어의 기능을 판단하거나, 검사를 통과시키려고 모르는 설정 항목을 삭제하지 마세요.
포트 충돌: 7890을 예로 로컬 포트가 열려 있는지 확인
아래는 로컬 연결 설정의 일부입니다. 7890은 이 글에서 사용하는 예시 포트이며 모든 클라이언트의 고정값은 아닙니다. mixed-port는 HTTP 프록시와 SOCKS 프록시 연결을 모두 받습니다. 먼저 인터페이스나 실제 적용된 설정에서 포트를 확인하고, 테스트 명령에도 같은 값을 사용하세요.
# 로컬 연결 항목만 표시하며, 전체 구독 설정이 아닙니다
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
이 부분을 구독 파일 전체에 그대로 덮어쓰면 기존 노드와 정책 그룹, 규칙이 사라집니다. 이 기기에서만 사용할 경우 LAN 접근은 꺼 둡니다. 한 번의 로컬 테스트를 위해 라우터 포트를 열거나 기기 전체의 방화벽을 끌 필요도 없습니다.
Windows: 포트를 사용 중인 프로세스 찾기
netstat -ano | findstr :7890
tasklist /FI "PID eq 1234"
첫 번째 명령은 해당 포트가 포함된 연결 기록을 확인합니다. 로컬 주소가 :7890으로 끝나고 상태가 LISTENING인 행을 찾으세요. 마지막 열에 PID가 표시됩니다. 두 번째 명령의 1234는 예시이므로 실제 PID로 바꾸세요. 프로세스를 확인한 뒤 정상적으로 종료하고, 시스템 프로세스를 무작정 종료하지 마세요.
macOS 및 Linux: 동일한 포트 확인
# macOS용이며 Linux에서도 lsof를 설치하면 사용할 수 있습니다
lsof -nP -iTCP:7890 -sTCP:LISTEN
# Linux
ss -ltnp 'sport = :7890'
다른 사용자의 프로세스 정보를 확인하려면 추가 권한이 필요할 수 있습니다. 이전 클라이언트가 백그라운드에서 계속 실행 중이면 먼저 종료한 뒤 현재 코어를 다시 시작하세요. 포트를 바꿔야 한다면 예를 들어 7892로 변경한 뒤 수동 프록시 설정, 브라우저 확장 프로그램, 터미널 환경 변수도 함께 업데이트해야 합니다. 설정 파일만 바꾸면 앱은 이전 포트에 계속 연결합니다.
프록시 모드와 TUN: 먼저 규칙에 따른 연결을 확인하세요
처음에는 규칙 모드를 선택하세요. 설정에 적힌 규칙 순서에 따라 연결을 직접 연결, 차단 또는 해당 정책 그룹으로 전달합니다. 전역 모드는 트래픽을 전역 정책으로 보내며 사용할 수 있는 노드를 자동으로 선택하지 않습니다. 직접 연결 모드도 ‘클라이언트 연결 끊기’를 뜻하는 것이 아니라 트래픽 처리 방식을 바꾸는 모드입니다.
정책 그룹으로 이동해 현재 선택된 항목을 확인하세요. 규칙 끝부분이 Proxy라는 그룹을 가리킨다면, 다른 테스트 그룹의 지연 시간만 볼 것이 아니라 해당 그룹이 실제로 사용할 수 있는 노드로 연결되는지 확인해야 합니다. 인터페이스에 지연 시간이 표시되더라도 특정 테스트 대상이 그 시점에 응답했다는 뜻일 뿐, 모든 웹사이트와 프로토콜, 지역별 서비스가 정상 작동한다는 의미는 아닙니다.
- 데스크톱 브라우저 테스트: 시스템 프록시를 켜고 자체 프록시를 지정하는 브라우저 확장 프로그램을 잠시 끈 다음, 확인이 필요한 웹사이트에 접속합니다.
- 터미널 테스트: 프록시를 명시적으로 지정해 터미널이 시스템 프록시 설정을 읽지 않는 문제를 클라이언트 오류로 오해하지 않도록 합니다.
- 연결 기록: 클라이언트에서 대상 도메인, 일치한 규칙, 정책 그룹, 최종 노드를 확인해 요청이 예상한 경로를 통과하는지 살펴봅니다.
# Windows PowerShell에서 curl.exe를 명시적으로 호출
curl.exe -I --proxy http://127.0.0.1:7890 https://example.com/
# macOS / Linux
curl -I --proxy http://127.0.0.1:7890 https://example.com/
이 명령은 지정한 대상으로 HTTP 요청을 한 번 보내 확인할 뿐입니다. 사이트 응답이 오면 요청 경로가 작동한 것이고, 연결이 거부되면 먼저 포트가 열려 있는지 확인하세요. 오래 기다려도 응답이 없으면 로그와 함께 노드 및 대상 주소를 살펴보세요. 예시 URL에 접속된다고 다른 URL도 접속되는 것은 아니므로 실제 사용하려는 서비스도 테스트해야 합니다.
TUN 모드는 마지막에 켜세요
TUN은 가상 네트워크 인터페이스로 트래픽을 전달하며, 시스템 프록시를 읽지 않는 앱을 처리할 때 유용합니다. 실제로 적용되는 범위는 라우팅, 제외 설정, DNS 설정에 따라 달라지므로 모든 트래픽을 반드시 가로채는 기능으로 이해해서는 안 됩니다. Windows, macOS, Linux에서는 보통 서비스, 드라이버 또는 시스템 네트워크 권한이 필요합니다. Android의 VPN 인터페이스는 시스템 권한으로 관리됩니다.
기본 연결이 정상이고 추가 앱의 트래픽도 처리해야 할 때만 TUN을 켜세요. 켠 뒤 사내 도메인, 회사 VPN, LAN 기기에 접속하는 데 문제가 생기면 먼저 TUN을 끄고 비교 테스트한 다음 라우팅과 DNS를 하나씩 확인하세요. DNS를 바꾸고 Fake-IP를 켜고 여러 라우팅 옵션을 동시에 수정하지 마세요. 관련 설정은 YAML 설명서의 DNS 설정과 Fake-IP 안내를 참고하세요.
시작 프로그램 등록 및 재부팅 확인: 인터페이스·코어·프록시 상태 점검
시작할 때 인터페이스 실행, 프록시 코어 실행, 시스템 프록시 자동 설정은 보통 서로 다른 상태입니다. 수동 실행이 안정적인지 확인한 뒤 클라이언트 설정에서 필요한 항목을 켜세요. Windows에서는 「설정」→「앱」→「시작 프로그램」에서 시작 항목을 확인할 수 있습니다. macOS에서는 「시스템 설정」→「일반」→「로그인 항목 및 확장 프로그램」에서 로그인 항목과 백그라운드 항목을 확인하세요. 메뉴 이름은 시스템 버전에 따라 다를 수 있습니다.
Android의 시작 시 실행과 백그라운드 동작 제한은 클라이언트와 시스템 구현에 따라 다릅니다. 연결을 계속 유지해야 한다면 먼저 화면을 잠근 뒤에도 정상적으로 접속되는지 확인하고, 필요한 경우 배터리 제한을 조정하세요. 시스템의 ‘VPN 항상 사용’과 ‘VPN 없이 연결 차단’은 서로 다른 설정입니다. 후자는 VPN을 사용할 수 없을 때 인터넷 연결을 제한하므로 영향을 이해한 뒤 켜세요.
첫 재부팅 후 항목별로 확인하세요
- 클라이언트와 코어가 실행 중이고, 예상한 구독 설정이 선택되어 있는지 확인합니다.
- 수신 포트가 바뀌지 않았는지, 규칙 모드와 정책 그룹 선택이 올바른지 확인합니다.
- 데스크톱에서는 시스템 프록시나 TUN이 예상대로 다시 활성화됐는지 확인하고, Android에서는 VPN 연결 상태를 확인합니다.
- 일반 웹페이지, 대상 서비스, LAN 리소스를 각각 테스트하고 트레이 아이콘만으로 판단하지 마세요.
- 클라이언트를 정상 종료한 뒤 데스크톱의 시스템 프록시가 꺼졌는지 확인합니다. 종료 후 인터넷이 연결되지 않으면 남아 있는 프록시 설정을 살펴보세요.
Windows에서는 「설정」→「네트워크 및 인터넷」→「프록시」에서 로컬 포트를 가리키는 설정이 남아 있는지 확인할 수 있습니다. macOS에서는 「시스템 설정」→「네트워크」→현재 연결→「세부사항」→「프록시」를 확인하세요. 변경 전에 기존 설정을 기록해 두고, 특히 조직에서 관리하는 기기라면 조직의 프록시 설정을 덮어쓰지 마세요.
위 점검을 마친 뒤 분기 규칙을 추가하거나 DNS를 조정하세요. 구독 관련 문제는 구독 자주 묻는 질문을, 모드 차이는 프록시 모드 가이드를 참고하세요. 한 번에 설정 하나만 바꾸고 복구할 수 있는 정상 설정을 보관하세요.