먼저 iPhone에서 Clash를 사용하는 방식을 확인하세요
iPhone에서는 일반적으로 데스크톱용 Clash를 설치하지 않고, App Store에서 Clash 설정이나 호환 구독 형식을 읽을 수 있는 네트워크 도구를 설치합니다. 이러한 클라이언트는 iOS의 Network Extension 인터페이스로 기기에 VPN 터널을 만든 다음, 설정에 정의된 프록시 그룹, 도메인 규칙, DNS 설정에 따라 트래픽을 처리합니다.
이 방식은 Windows에서 ‘시스템 프록시’를 켜는 것과 다릅니다. iOS에서는 사용자가 127.0.0.1:7890을 직접 입력하거나 Wi-Fi 상세 설정에서 HTTP 프록시를 지정할 필요가 없습니다. 클라이언트가 실행되면 시스템에 VPN 설정 추가를 요청하며, 승인이 완료되어야 조건에 맞는 네트워크 연결을 처리할 수 있습니다.
클라이언트 선택 시 확인할 네 가지 기능
- 구독 형식: 서비스 제공업체가 제공하는 링크 형식을 지원하는지, 또는
.yaml·.yml설정 파일을 직접 읽을 수 있는지 확인합니다. - 규칙 모드: DOMAIN, DOMAIN-SUFFIX, IP-CIDR, GEOIP, MATCH와 같은 순서 기반 규칙을 최소한 처리할 수 있어야 합니다.
- 프록시 프로토콜: 구독에서 실제 사용하는 프로토콜이 앱 설명에 포함되어 있는지 확인합니다. 링크를 가져올 수 있다고 해서 모든 노드에 연결할 수 있는 것은 아닙니다.
- 시스템 요구 사항: 앱 상세 페이지의 ‘호환성’을 확인합니다. 구형 기기라면 최소 iOS 버전과 프로세서 요구 사항을 특히 살펴보세요.
클라이언트마다 Clash Meta, 즉 mihomo 확장 필드의 지원 범위가 다릅니다. 기본 노드, 프록시 그룹, 일반적인 규칙은 대체로 호환되지만, rule-providers·스크립트·특수 DNS 정책·확장 프로토콜을 사용한다면 클라이언트 문서를 확인해야 합니다. 완전한 Clash YAML을 범용 노드 구독만 지원하는 앱에 가져오면 노드는 표시되지만 규칙 그룹, DNS, 규칙 세트가 원본 파일대로 작동하지 않는 경우가 많습니다.
App Store에서 호환 클라이언트 설치하기
1단계: App Store 계정과 시스템 버전 확인
- iPhone에서 ‘설정’ → ‘일반’ → ‘소프트웨어 업데이트’를 열고 현재 iOS 버전을 확인합니다.
- App Store를 열고 오른쪽 상단의 계정 프로필을 탭한 다음, 현재 계정으로 앱을 정상적으로 다운로드할 수 있는지 확인합니다.
- 앱 상세 페이지에서 아래로 내려 ‘정보’ → ‘호환성’을 확인하고, 개발자 이름·최근 업데이트 날짜·버전 기록을 다시 살펴봅니다.
- 다운로드가 완료되면 홈 화면에서 앱을 엽니다. 먼저 ‘설정’ → ‘Wi-Fi’에서 프록시 서버를 수동으로 입력하지 마세요.
이 글은 iOS 18.6의 한국어 메뉴를 기준으로 설명합니다. iOS 17.7이나 지역에 따라 시스템 메뉴가 다르게 표시되거나 VPN 항목이 별도로 보일 수 있지만 기본 원리는 같습니다. App Store에서 제공되는 앱은 계정 국가에 따라 달라질 수 있으므로 검색되지 않는다면 먼저 개발자 공식 사이트에서 제공 국가와 최소 시스템 요구 사항을 확인하세요.
2단계: 가져올 수 있는 설정 유형 확인
| 설정 출처 | 일반적인 형식 | 가져오기 전 확인 사항 |
|---|---|---|
| 구독 링크 | https://로 시작하는 주소 |
링크가 완전한지, 만료되지 않았는지, 클라이언트가 반환 형식을 지원하는지 확인합니다. |
| Clash 설정 파일 | .yaml 또는 .yml |
프록시 그룹·규칙·DNS 필드가 포함되어 있는지, 파일 인코딩이 정상인지 확인합니다. |
| 범용 노드 구독 | 웹 패널에서 복사한 구독 주소 | 클라이언트에서 전용 구독 유형이나 형식 변환을 선택해야 하는지 확인합니다. |
| 개별 노드 | QR 코드·링크 또는 수동 입력 정보 | 프로토콜·서버·포트·인증 정보가 모두 갖춰져 있는지 확인합니다. |
완전한 Clash 설정과 노드 목록은 서로 다른 형식입니다. 완전한 설정에는 일반적으로 proxies·proxy-groups·rules·dns가 포함됩니다. 반면 노드 목록에는 서버 정보만 있고 프록시 그룹과 규칙 분할은 iOS 클라이언트가 직접 생성할 수 있습니다. 가져온 뒤 노드만 보이고 원래 설정의 ‘자동 선택’이나 ‘장애 조치’ 그룹이 보이지 않는다면, 먼저 어떤 유형의 구독을 받은 것인지 확인하세요.
구독 링크 또는 Clash 설정 파일 가져오기
방법 1: 구독 링크 붙여넣기
- 서비스 제공업체 패널에서 전체 구독 주소를 복사하고, 주소 앞뒤에 공백이나 줄바꿈이 없는지 확인합니다.
- 클라이언트를 열고 ‘설정’ 또는 ‘Profiles’ 페이지로 이동합니다.
- 오른쪽 상단의 ‘+’를 탭하고 ‘URL에서 다운로드’, ‘Download from URL’ 또는 비슷한 항목을 선택합니다.
- 이름 입력란에 ‘일상 구독’처럼 알아보기 쉬운 이름을 입력하고, URL 입력란에 링크를 붙여넣습니다.
- 자동 업데이트 주기를 설정할 수 있다면 우선 24시간으로 지정하세요. 5분마다 업데이트해도 노드가 더 빨라지는 것은 아니며, 오히려 구독 서버의 요청 제한에 걸릴 수 있습니다.
- 저장한 뒤 다운로드가 끝날 때까지 기다립니다. 그런 다음 해당 설정을 탭해 현재 활성 설정으로 지정합니다.
구독 주소에는 보통 접근 자격 증명이 포함되어 있으므로 계정 비밀번호처럼 취급해야 합니다. 실제 주소를 공개 스크린샷·공유 메모·문제 신고에 포함하지 마세요. 아래 주소는 URL 구조를 설명하기 위한 예시일 뿐 연결에는 사용할 수 없습니다.
https://subscription.example.com/api/client?token=demo-token-2026
붙여넣은 직후 ‘URL이 유효하지 않음’이 표시되면 입력란에서 프로토콜이 여전히 https://로 시작하는지 확인합니다. 10초 후 시간 초과가 표시된다면 현재 네트워크에서 구독 서버에 접근할 수 없거나 DNS 조회에 실패했거나 서버가 일시적으로 응답하지 않는 경우일 가능성이 큽니다. 두 오류는 점검 방향이 다릅니다.
방법 2: ‘파일’ 앱에서 YAML 가져오기
- 먼저 설정 파일을 iCloud Drive 또는 ‘나의 iPhone’에 저장합니다.
- 시스템 ‘파일’ 앱을 열고
.yaml또는.yml파일을 길게 누릅니다. - ‘공유’를 선택한 뒤 앱 목록에서 설치한 프록시 클라이언트를 선택합니다.
- 공유 목록에 대상 앱이 표시되지 않으면 ‘더 보기’를 탭해 해당 앱이 파일 가져오기 확장을 제공하는지 확인합니다.
- 클라이언트의 ‘설정’ 페이지로 돌아가 파일 이름·업데이트 시간·구문 분석 상태를 확인합니다.
클라이언트 안에서 ‘파일에서 가져오기’를 선택해 시스템 파일 선택기를 호출할 수도 있습니다. AirDrop으로 설정을 받을 때는 먼저 ‘파일’에 저장한 다음 가져오기를 실행하는 편이 미리보기 화면에서 바로 여는 것보다 안정적입니다.
YAML의 기본 구조 빠르게 확인하기
‘구문 분석 실패’가 발생하면 먼저 텍스트 편집기에서 들여쓰기와 최상위 필드를 확인하세요. YAML은 공백으로 계층을 표현하며 Tab 문자는 구문 분석 오류를 일으킬 수 있습니다. 아래는 구조를 확인하기 위한 간략한 예시이며, 완전한 노드 설정이 아닙니다.
mode: rule
dns:
enable: true
enhanced-mode: fake-ip
proxy-groups:
- name: Proxy
type: select
proxies:
- DIRECT
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- MATCH,Proxy
MATCH는 일반적으로 규칙 마지막에 기본 처리 규칙으로 둡니다. 규칙은 위에서 아래 순서로 매칭되며, 처음 일치한 규칙에서 처리가 멈춥니다. 범위가 넓은 MATCH나 DOMAIN-SUFFIX 규칙을 너무 앞에 배치하면 뒤의 세부 규칙은 적용되지 않습니다.
VPN 설정 승인 및 연결 시작
처음 실행할 때 시스템 승인이 필요합니다
- 클라이언트 홈 화면에서 방금 가져온 설정을 선택합니다.
- 프록시 그룹 페이지에서 주요 정책 그룹에 사용할 노드를 선택하거나 자동 선택 그룹을 사용합니다.
- 홈 화면으로 돌아가 ‘연결’, ‘시작’ 또는 ‘VPN’ 스위치를 켭니다.
- 시스템에 ‘VPN 설정을 추가하겠습니까?’라는 메시지가 표시되면 ‘허용’을 탭합니다.
- Face ID, Touch ID 또는 기기 암호로 확인을 완료합니다.
- 클라이언트 상태가 ‘연결됨’으로 바뀔 때까지 기다린 다음 네트워크를 확인합니다.
사용자가 말하는 ‘VPN 프로파일 설치’는 실제로는 Network Extension이 관리하는 VPN 설정을 추가하는 작업을 뜻하는 경우가 많으며, 별도의 구성 프로파일이 반드시 표시되는 것은 아닙니다. 승인 후 ‘설정’ → ‘일반’ → ‘VPN 및 기기 관리’ → ‘VPN’에서 확인할 수 있고, ‘설정’ 화면에 ‘VPN’ 항목이 바로 표시될 수도 있습니다.
정상적으로 연결되면 iOS 상태 막대나 제어 센터에 VPN 상태가 표시됩니다. 아이콘이 나타났다는 것은 시스템 터널이 만들어졌다는 뜻일 뿐, 노드에 접속할 수 있거나 DNS와 규칙 분할이 정상이라는 의미는 아닙니다. 따라서 다음 절의 점검도 완료해야 합니다.
로컬 네트워크 및 알림 권한이 필요한가요?
- VPN 권한: 시스템 터널을 만드는 데 필수이며, 거부하면 클라이언트가 트래픽을 처리할 수 없습니다.
- 로컬 네트워크 권한: 가정용 NAS·프린터·로컬 네트워크 제어 인터페이스에 접근할 때 필요할 수 있습니다. 원격 프록시만 사용한다면 반드시 필요한 것은 아닙니다.
- 알림 권한: 연결 끊김·구독 업데이트·트래픽 알림을 표시하는 데 사용되며, VPN 연결 가능 여부를 결정하지는 않습니다.
- 셀룰러 데이터 권한: 모바일 네트워크를 사용해야 한다면 ‘설정’ → ‘셀룰러’에서 대상 앱의 스위치가 켜져 있는지 확인합니다.
구독·노드·규칙 적용 여부 확인
먼저 네 가지 계층을 점검하세요
- 설정 계층: 설정 페이지에 구문 분석 오류가 없고, 구독 업데이트 시간이 이번 작업 시간으로 표시되는지 확인합니다.
- 노드 계층: 프록시 그룹에 노드가 표시되고 지연 시간 테스트가 계속 시간 초과되지 않는지 확인합니다.
- 터널 계층: 클라이언트에 연결됨으로 표시되고 시스템 설정의 VPN 상태도 연결됨인지 확인합니다.
- 규칙 계층: 연결 기록에 도메인·적중 규칙·최종 사용 정책 그룹이 표시되는지 확인합니다.
한 번의 지연 시간 테스트는 특정 테스트 주소에 연결하는 데 걸린 시간만 보여 줍니다. 예를 들어 노드 A가 83ms, 노드 B가 126ms로 표시되어도 A의 다운로드 속도가 반드시 더 빠르다고 단정할 수는 없습니다. 모바일 네트워크의 패킷 손실, 서버 부하, 우회 경로, 대상 웹사이트의 위치가 실제 사용 경험에 영향을 줍니다. 3회 연속 테스트한 뒤 웹페이지 열기·동영상 재생·작은 파일 다운로드를 각각 실행하는 편이 더 정확합니다.
로그로 규칙 적중 여부 확인
대부분의 iOS 클라이언트는 ‘로그’, ‘요청’ 또는 ‘연결’ 페이지에 트래픽을 기록합니다. 테스트 웹페이지를 연 뒤 기록에 대상 도메인·정책 그룹·노드 이름이 포함되어 있는지 확인하세요. 일반적인 결과는 다음과 같이 해석할 수 있습니다.
DIRECT표시: 해당 요청은 규칙에 따라 직접 연결되었으며 프록시 노드를 거치지 않았습니다.- 특정 프록시 그룹 표시: 요청이 해당 그룹에 적중한 뒤 그룹에서 선택한 노드를 통해 전달됩니다.
MATCH표시: 앞의 도메인·IP·규칙 세트가 모두 적중하지 않아 마지막 기본 규칙으로 처리되었습니다.- 도메인 없이 IP만 표시됨: DNS 모드, 앱 자체의 도메인 조회 또는 QUIC 연결과 관련이 있을 수 있습니다.
- 요청 기록이 전혀 없음: 앱이 현재 터널을 우회했거나 VPN 연결이 실제로 끊겼을 수 있습니다.
승인 실패·가져오기 실패·연결 끊김 해결
‘허용’을 눌렀지만 VPN이 연결되지 않음
먼저 ‘설정’ → ‘일반’ → ‘VPN 및 기기 관리’ → ‘VPN’으로 이동해 같은 클라이언트가 만든 설정이 이미 있는지 확인합니다. 설정은 있지만 켜지지 않는다면 다음 순서로 처리하세요.
- 클라이언트를 완전히 종료한 뒤 다시 열고 한 번 더 연결을 시작합니다.
- 실행 중인 다른 VPN·기업 보안 도구·DNS 계열 Network Extension을 종료합니다.
- iPhone을 재시동해 이전 네트워크 확장 프로세스가 터널을 계속 점유하지 않도록 합니다.
- 설정 출처를 확인한 뒤 작동하지 않는 기존 VPN 설정을 삭제하고 클라이언트에서 다시 승인합니다.
- ‘설정’ → ‘스크린 타임’ → ‘콘텐츠 및 개인정보 보호 제한’에서 계정 또는 설정 변경이 제한되어 있는지 확인합니다.
iOS에서는 일반적으로 한 번에 하나의 개인 VPN 터널만 활성화됩니다. 다른 프록시 앱·기업 VPN·콘텐츠 필터가 작동 중이면 새 클라이언트가 ‘연결 중’ 상태에 반복해서 머물 수 있습니다. 회사에서 관리하는 기기는 모바일 기기 관리 정책으로 새 VPN 추가가 금지되어 있을 수도 있으므로 기기 관리자에게 문의해야 합니다.
구독 다운로드는 성공했지만 노드 수가 0임
- 서비스 제공업체가 구독 내용이 아닌 웹 로그인 페이지를 반환했을 수 있습니다. 패널에 다시 로그인해 해당 클라이언트 유형에 맞는 링크를 생성하세요.
- 구독이 클라이언트에서 지원하지 않는 인코딩이나 프로토콜을 사용할 수 있습니다. 가져오기 로그에서 ‘unsupported’, ‘invalid type’ 등의 필드를 확인하세요.
- 링크가 복사되는 과정에서 잘렸을 수 있습니다.
&가 포함된 주소를 앞부분만 복사하면 서버가 빈 설정을 반환할 수 있습니다. - 구독이 만료되었거나 트래픽을 모두 사용했을 수 있습니다. 이 경우 서버가 HTTP 성공 응답을 반환하더라도 내용에 사용 가능한 노드가 없을 수 있습니다.
노드 테스트는 정상인데 웹페이지가 열리지 않음
이 경우 노드를 계속 바꾸기보다 먼저 DNS와 규칙을 확인해야 합니다. 동일한 웹페이지를 테스트하기 위해 모드를 잠시 ‘전체’로 전환하세요. 전체 모드에서 열리면 노드 연결은 대체로 정상이며 규칙 순서나 정책 그룹 선택이 원인일 가능성이 큽니다. 전체 모드에서도 실패한다면 DNS·프로토콜 호환성·현재 네트워크를 확인하세요.
Fake-IP 모드에서는 클라이언트가 먼저 도메인에 예약 주소를 반환한 다음 연결 단계에서 원래 도메인을 복원해 규칙을 적용합니다. 일부 로컬 네트워크 기기·은행 앱·로컬 검색에 의존하는 서비스는 Fake-IP와 맞지 않을 수 있으므로 클라이언트 문서에 따라 관련 도메인을 필터 목록에 추가하세요. 모든 DNS 기능을 바로 끄면 시스템 DNS와 프록시 연결 경로가 어긋나는 문제가 생기기 쉽습니다.
Wi-Fi에서는 되지만 셀룰러 네트워크에서는 안 됨
- ‘설정’ → ‘셀룰러’에서 클라이언트의 셀룰러 데이터 사용이 허용되어 있는지 확인합니다.
- 저데이터 모드가 백그라운드 구독 업데이트에 영향을 주는지 확인합니다.
- VPN 연결을 끊고 비행기 모드를 한 번 켠 뒤 5초 후 다시 끕니다.
- 다시 연결한 뒤 로그를 확인해 DNS 시간 초과와 노드 연결 시간 초과를 구분합니다.
- 특정 UDP 프로토콜만 실패한다면 구독에서 TCP 전송을 지원하는 노드로 바꿔 비교해 보세요.
구독 업데이트 및 일상 사용 설정
자동 업데이트 주기 설정 방법
노드 변경이 잦지 않다면 12시간 또는 24시간마다 한 번이면 대체로 충분합니다. 서비스 제공업체가 일시적으로 회선을 조정할 때는 수동으로 업데이트할 수 있습니다. 자동 업데이트에 실패해도 현재 연결이 반드시 끊기는 것은 아닙니다. 대부분의 클라이언트는 로컬에 저장된 기존 설정을 계속 사용하지만, 새 노드 추가·노드 삭제·규칙 변경은 반영되지 않습니다.
업데이트 후 프록시 그룹이 비정상적으로 표시되면 현재 선택한 노드가 구독에서 삭제되지 않았는지 확인하세요. 자동 선택 그룹은 지연 시간을 다시 측정하고, 수동 선택 그룹은 노드를 다시 지정해야 합니다. 설정을 바꾼 뒤 규칙 모드가 전체 또는 직접 연결로 변경되지 않았는지도 확인하세요.
필요할 때 연결하기 및 백그라운드 제한
일부 클라이언트는 ‘주문형 연결’을 지원해 Wi-Fi·셀룰러 네트워크 또는 특정 도메인에 접근할 때 VPN을 자동으로 시작할 수 있습니다. 처음 설정할 때는 복잡한 조건을 모두 끄고 수동 연결이 안정된 뒤 하나씩 추가하는 것이 좋습니다. 조건이 너무 많으면 Wi-Fi에서 셀룰러 데이터로 전환할 때 여러 번 재연결되어 몇 초 동안 웹페이지가 열리지 않을 수 있습니다.
iOS는 백그라운드 실행 시간을 관리하지만, 이미 만들어진 Network Extension은 계속 트래픽을 처리할 수 있습니다. 멀티태스킹 화면에서 클라이언트를 강제로 쓸어 올려 종료한 뒤에도 VPN이 계속 작동하는지는 앱 구현과 시스템 상태에 따라 다릅니다. 상태 막대에는 VPN이 표시되지만 클라이언트에서 연결 기록을 열 수 없다면 시스템 VPN 스위치로 연결을 끊은 뒤 앱으로 돌아가 다시 시작하세요.
새 iPhone으로 옮기기 전에 보관할 항목
- 구독 관리 페이지의 로그인 방식을 기록해 두세요. 클라이언트에 저장된 설정에만 의존하지 마세요.
- 사용자 지정 규칙은 설정 파일로 별도 내보내거나 관리되는 개인 저장 공간에 보관하세요.
- 자주 사용하는 정책 그룹의 선택 기준을 적어 두세요. 예를 들어 일상 사용에는 자동 선택, 로컬 네트워크 서비스에는 DIRECT를 사용할 수 있습니다.
- 새 기기에서 클라이언트를 다시 다운로드한 뒤 VPN 설정을 새로 추가하고 시스템 승인을 완료해야 합니다.
이 과정을 마치면 iPhone에서 Clash를 사용하는 흐름은 호환 클라이언트를 App Store에서 설치하고, 구독 또는 YAML을 가져온 다음, 현재 설정과 노드를 선택하고, 시스템 VPN을 승인한 뒤 연결 기록으로 규칙을 확인하는 단계로 정리할 수 있습니다. 문제가 생기면 설정·노드·터널·규칙의 네 계층을 차례로 점검하는 편이 앱을 반복해서 재설치하는 것보다 원인을 찾기 쉽습니다.