Clash DNS 유출 테스트 방법 및 fake-ip 유출 방지 설정 가이드
DNS 요청이 프록시를 우회하는지 확인하는 방법을 설명하고, fake-ip, nameserver-policy, TUN 가로채기 세 가지 방식을 비교해 바로 적용할 수 있는 dns 설정 예시를 제공합니다.
설정 작업 공간
클라이언트는 조작 화면을, 코어는 설정 해석과 트래픽 전달을 담당합니다. 각 스위치가 어느 단계에 영향을 주는지 확인한 뒤 설정을 바꾸세요. 한 번에 하나씩 변경하면 문제가 생겼을 때 원인을 찾기 쉽습니다.
규칙 모드는 도메인, 주소 또는 규칙 세트를 순서대로 확인하고, 일치하는 항목을 해당 정책으로 전달합니다. 전역 모드와 달리 프록시가 필요한 연결과 직접 연결할 연결을 각각 다른 경로로 보낼 수 있습니다. 먼저 정책 그룹이 실제로 있는지 확인하고, 구체적인 규칙은 앞쪽에, 기본 규칙은 맨 마지막에 배치하세요. 변경 후에는 연결 목록에서 실제로 적용된 규칙을 확인하세요. 웹페이지가 열리는지만으로 판단하면 안 됩니다. 아래 예시는 규칙 구조만 보여 줍니다. PROXY는 기존 정책 그룹을 가리켜야 하며, 이것만으로 완전한 설정을 가져올 수는 없습니다.
mode: rule
rules:
- DOMAIN-SUFFIX,example.com,PROXY
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,PROXY
규칙 및 정책 용어 보기 →
일부 앱은 시스템 프록시 설정을 따르지 않습니다. 이때는 TUN 가상 네트워크 인터페이스로 트래픽을 처리할 수 있습니다. 시스템 프록시와 TUN은 서로 다른 기능이며, TUN을 켠다고 모든 연결이 프록시를 거치는 것도 아닙니다. 최종 경로는 여전히 규칙에 따라 결정됩니다. 데스크톱에서는 서비스 모드나 관리자 권한이 필요한 경우가 많고, 모바일에서는 시스템의 VPN 연결 권한을 허용해야 합니다. 처음 설정할 때는 시스템 프록시가 작동하는지 먼저 확인한 뒤 TUN을 따로 테스트하세요. 여러 트래픽 처리 도구를 동시에 실행하지 않는 것이 좋습니다. 아래는 mihomo 설정 예시입니다. 네트워크 스택과 라우팅 옵션은 시스템 지원 여부에 맞춰 조정하세요.
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
플랫폼별 권한 및 라우팅 안내 보기 →
구독 링크는 전체 설정을 제공할 수도 있고 노드 목록만 제공할 수도 있습니다. 먼저 제공자가 안내한 형식을 확인한 다음 클라이언트의 설정 가져오기 메뉴에서 추가하세요. 다운로드가 끝나면 해당 설정을 선택해 활성화해야 합니다. 자동 업데이트는 구독 내용을 다시 가져오는 기능일 뿐, 현재 선택한 정책이 작동한다는 뜻은 아닙니다. 노드가 바뀌는 경우 구독으로 관리하면 하나씩 직접 입력하는 것보다 편리하지만, 원격 업데이트가 로컬 변경 사항을 덮어쓸 수도 있습니다. 규칙을 직접 설정해야 한다면 클라이언트의 재정의 또는 병합 기능을 우선 사용하고, 원본 설정은 안전하게 보관하세요. 구독 주소를 공개적으로 공유하지 마세요.
# 로컬 설정과 원격 설정은 따로 기록
mode: rule
log-level: info
mixed-port: 7890
allow-lan: false
YAML, Base64, URI 형식 구분하기 →
도메인 조회는 연결을 시작하기 전에 이루어집니다. 노드에는 연결되지만 도메인이 열리지 않는다면 노드를 계속 바꾸기보다 먼저 DNS 조회 경로를 확인하세요. fake-ip는 예약된 주소를 반환해 코어가 도메인과 연결을 연결할 수 있도록 하지만, DNS 요청이 실제로 코어에 전달되어야 합니다. 시스템 DNS를 바로 바꾸는 방식보다 클라이언트의 트래픽 처리, TUN 가로채기, 규칙 설정이 서로 맞물려야 합니다. 아래 예시는 활성화 항목과 주소 범위만 보여 주며, 완전한 DNS 유출 방지 설정은 아닙니다. 변경 전에 설정을 백업하고, 변경 후에는 DNS 조회 결과와 실제 연결의 출구를 각각 테스트하세요.
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
DNS 테스트 및 설정 실습 보기 →
호환되는 여러 클라이언트에서 같은 구독을 사용할 수 있지만, 포트, 서비스 권한, 네트워크 인터페이스, 파일 경로는 대개 기기별 설정입니다. 노드와 규칙은 공유하되 각 기기에서 트래픽 처리 방식을 따로 설정하는 것이 안전합니다. 설정 폴더 전체를 복사하는 것보다 운영체제별 경로 오류와 포트 충돌을 피하기 쉽습니다. 클라이언트마다 재정의, 규칙 세트, 코어 항목의 지원 범위가 다를 수 있습니다. 이전하기 전에 가져오기 안내를 확인하고 대상 기기에서 사용할 수 있는 백업을 보관하세요. 설정을 공유해도 연결 상태가 자동으로 동기화되지는 않으며, 모든 기능의 위치가 같다고 보장할 수도 없습니다.
# 기기별로 확인할 로컬 설정
mixed-port: 7890
allow-lan: false
external-controller: 127.0.0.1:9090
클라이언트와 플랫폼 지원 비교 →
시스템 프록시는 시스템 설정을 따르는 앱이 클라이언트로 연결되는 경로를 정합니다. 규칙 모드는 코어에 들어온 연결을 어떤 정책으로 분배할지 정하고, TUN은 트래픽을 처리하는 별도의 진입 경로를 제공합니다. 세 기능은 서로 다른 단계에 있습니다. 규칙 모드를 켜도 모든 앱이 자동으로 프록시에 연결되는 것은 아니며, TUN을 켜도 설정에 있는 직접 연결 규칙이 사라지지 않습니다. 문제가 생기면 스위치를 여러 개 동시에 바꾸기보다 “트래픽이 처리되고 있는가, 어떤 규칙이 적용됐는가, 정책이 어디를 가리키는가” 순서로 확인하세요.
홈 화면은 설정 항목을 보여 주는 예시일 뿐, 기기가 연결된 상태를 뜻하지 않습니다. 실제 메뉴 이름은 클라이언트마다 다를 수 있으며, 혼합 포트는 현재 활성화된 설정을 기준으로 확인하세요. 전체 설치 과정은 사용 가이드를 참고하고, 서비스 권한, 라우팅 충돌, 시스템 네트워크 복구는 플랫폼별 전체 문서에서 확인하세요.
플랫폼별 안내
먼저 운영체제와 프로세서 아키텍처를 확인한 다음 클라이언트를 고르세요. 다운로드 페이지에서 플랫폼별 설치 경로, 사용 조건, 유지 관리 상태를 확인할 수 있습니다. 이 페이지는 해당 항목으로 안내합니다.
Clash Plus부터 사용해 보거나 Clash Verge Rev, FlClash 등의 사용 방식과 비교해 보세요. 일반적인 브라우저 연결은 먼저 시스템 프록시로 테스트하고, TUN이 필요할 때 서비스 설치 여부와 권한을 확인하세요. 설치 후 포트가 이미 사용 중이라면 기존 클라이언트를 종료하세요. 두 프로그램이 동시에 시스템 프록시를 변경하지 않도록 주의해야 합니다. 유지 관리가 중단된 클라이언트는 이전을 위한 참고용으로만 사용하고, 계속 사용할 클라이언트는 현재도 관리되는 프로젝트를 우선 고려하세요.
Apple Silicon과 Intel 기기에 맞는 설치 파일을 선택하세요. 처음 실행할 때 보안 경고가 표시되면 먼저 앱 출처를 확인한 다음 시스템 설정에서 허용하세요. 앱을 실행하기 위해 보안 기능 전체를 끄는 것은 권장하지 않습니다. 프록시를 켠 뒤에는 네트워크 설정에서 실제 프록시 주소를 확인할 수 있습니다. 클라이언트를 바꿀 때는 이전 프로그램을 종료하기 전에 트래픽 처리 기능을 꺼서 설정이 남지 않도록 하세요.
처음 연결할 때 시스템 VPN 권한을 허용하고, 배터리 최적화와 백그라운드 실행 제한도 확인하세요. 다른 앱으로 전환한 뒤 연결이 끊긴다면 구독을 다시 가져오기보다 먼저 시스템의 백그라운드 앱 종료 여부를 살펴보세요. 앱별 프록시를 사용하면 트래픽 처리 범위를 줄일 수 있지만, 앱 포함·제외 방식은 클라이언트마다 다를 수 있으니 선택하기 전에 안내를 확인하세요. 대부분의 경우 다른 VPN 앱이 같은 연결 경로를 차지할 수도 있습니다.
다운로드 페이지에서 Clash Plus의 App Store 페이지로 이동하고, 프로젝트를 확인할 수 있도록 공식 사이트 clashplus.io도 안내합니다. 설정을 가져온 뒤 시스템 안내에 따라 VPN 구성을 추가하고, 클라이언트로 돌아와 현재 설정과 정책을 확인하세요. 시스템의 VPN 표시는 터널이 연결됐다는 뜻일 뿐, 모든 도메인이 프록시를 통한다는 의미는 아닙니다. 실제 연결 경로는 규칙과 연결 정보를 함께 확인해야 합니다.
데스크톱에서는 보통 Clash Verge Rev 또는 FlClash를 설치한 다음 배포판에 맞는 패키지를 선택합니다. 서버나 라우터에서는 mihomo 코어를 사용할 수 있지만, 시작 옵션, 설정 디렉터리, 서비스 권한을 직접 관리해야 합니다. 원격 기기의 라우팅을 변경하기 전에는 관리 연결과 되돌리기 방법을 확보하세요. 그래픽 인터페이스의 스위치가 서버의 서비스 설정으로 자동 변환되지는 않습니다.
처음 설정하기
세 단계에 따라 처음 설정을 완료하세요. 먼저 확인 가능한 연결 하나를 만든 뒤 자동 선택, 복잡한 규칙, 여러 기기 설정을 추가하면 설치 문제와 규칙 문제를 구분하기 쉽습니다.
설정 또는 구독 메뉴에서 링크를 추가하고 가져오기가 끝날 때까지 기다린 다음, 해당 설정을 현재 설정으로 선택하세요. 노드와 정책 그룹이 있는지 먼저 확인하고 가져오기 오류도 살펴보세요. 가져오기에 실패했다면 링크 만료, 네트워크 접속 실패, 형식 비호환 중 무엇이 원인인지 구분하세요. 업데이트를 반복해서 눌러도 설정 문법 오류는 해결되지 않습니다.
처음 사용할 때는 규칙 모드를 선택하고 프록시가 필요한 정책 그룹에서 사용 가능한 노드를 지정하세요. 데스크톱에서는 시스템 프록시를 켜고, 모바일에서는 VPN 권한을 허용하세요. 대상 앱이 시스템 프록시를 따르지 않을 때만 가이드에 따라 TUN을 테스트하세요. 기본 LAN 접근 제한은 유지하고, 연결을 편하게 하려고 컨트롤 인터페이스를 무작정 공개하지 마세요.
접속할 페이지를 열면서 연결 목록에 표시되는 도메인, 규칙, 정책 경로를 확인하세요. 페이지 하나가 열린다고 모든 앱의 트래픽이 처리되는 것은 아니며, 노드 테스트가 성공해도 DNS가 정상이라는 뜻은 아닙니다. 이어서 직접 연결되어야 하는 대상을 테스트해 트래픽 분기가 예상대로 작동하는지 확인한 다음 다른 기능을 하나씩 켜세요.
현재 클라이언트, 운영체제, 트래픽 처리 방식, 로그에 처음 표시된 오류를 기록하세요. 복잡한 재정의 설정은 임시로 작동하는 상태로 되돌린 다음 항목별로 확인합니다. 클라이언트를 종료한 뒤에도 인터넷이 연결되지 않는다면 시스템 프록시가 로컬 포트를 계속 가리키는지 확인하세요. 도메인 접속만 문제가 있다면 DNS를 살펴보세요. 설정을 바꾸기 전에 백업해 두어야 문제를 다시 확인할 단서를 잃지 않습니다.
가이드는 첫 연결 과정을 따라가며 직접 설정하기에 적합합니다. 전체 문서는 Windows, macOS, Android, iOS, Linux별로 나뉘어 있어 설치 권한, 플랫폼 제한, 설정 항목을 찾아보기 좋습니다. fake-ip, 정책 그룹, 규칙 세트 같은 용어가 낯설다면 용어집을 먼저 확인한 뒤 현재 단계로 돌아오세요.
오픈소스 및 프로젝트 관계
라이선스를 확인하고 프로젝트를 구분한 다음 업데이트를 살펴보세요. 이름이 비슷한 클라이언트라도 같은 팀이 관리하거나 동일한 코어와 설정 기능을 사용하는 것은 아닙니다.
GPL-3.0
mihomo 저장소에 명시된 오픈소스 라이선스입니다. 각 그래픽 클라이언트와 포함된 구성 요소의 라이선스는 해당 프로젝트의 안내를 각각 확인해야 합니다.
원본 Clash는 규칙 기반 프록시의 설정과 트래픽 분기 기반을 마련했고, 이후 생태계에 여러 파생 프로젝트와 그래픽 클라이언트가 등장했습니다. 원 프로젝트의 유지 관리가 중단된 뒤에도 설치 파일, 가이드, 구독 안내에는 기존 이름이 남아 있을 수 있습니다. 클라이언트를 고를 때는 익숙한 이름만 보지 말고 해당 프로젝트의 유지 관리 상태, 운영체제 지원, 설정 호환성을 확인하세요. 오래된 가이드의 설정 항목이 현재 사용하는 코어에서도 지원된다고 볼 수는 없습니다.
mihomo는 Clash Meta 프로젝트에서 발전했으며, 설정 해석, 프로토콜 연결, 규칙 매칭, DNS 등 네트워크 처리를 담당합니다. 그래픽 클라이언트는 그 위에 구독 가져오기, 스위치, 로그, 서비스 관리 기능을 제공합니다. 클라이언트의 화면이 업데이트되어도 코어 동작까지 반드시 달라지는 것은 아닙니다. 반대로 코어에 새 설정 항목이 추가되더라도 클라이언트가 지원해야 편리하게 사용할 수 있습니다.
오픈소스 저장소에서 라이선스, 설정 예시, 문제 논의를 확인할 수 있지만 모든 문제가 코어에 해당하는 것은 아닙니다. 시스템 권한, 백그라운드 제한, 인터페이스에서 가져오기 실패가 발생하면 해당 계층부터 원인을 찾으세요. 문제를 제보하기 전에는 민감한 정보를 제거한 간단한 설정으로 재현하고, 기대한 동작과 실제 동작을 함께 설명하세요. 소스 코드를 내려받는 것은 읽거나 개발하기 위한 것이며, 설치가 완료되거나 구독이 제공되는 것은 아닙니다.
클라이언트 업데이트는 프로그램을 바꾸고, 구독 업데이트는 원격 설정 내용을 바꿉니다. 서로 대신할 수 없습니다. 업그레이드 전에 로컬 재정의 설정과 현재 작동하는 설정을 백업하고, 업그레이드 후에는 트래픽 처리 방식, 규칙 적용, DNS 동작을 확인하세요. 이 사이트는 다운로드 경로와 한국어 자료를 모아 제공하며 각 상위 프로젝트를 대표하지 않습니다. 구체적인 기능과 릴리스 내용은 프로젝트 안내를 함께 확인하고, 다운로드 경로는 클라이언트 다운로드 페이지에서 찾아보세요.
먼저 로컬에 Git을 설치해야 합니다. 이 명령은 저장소를 복제할 뿐, 시스템 프록시는 변경하지 않습니다.
git clone https://github.com/MetaCubeX/mihomo.git
설정 살펴보기
최신 문서 세 편에서는 DNS, 모바일 배터리 소모, 코어 생태계를 다룹니다. 증상에 따라 범위를 좁힌 뒤 설정을 바꾸세요. 네트워크 트래픽 처리 방식에 영향을 주는 변경은 하나씩 테스트하고 되돌릴 방법을 마련해 두는 것이 좋습니다.
DNS 요청이 프록시를 우회하는지 확인하는 방법을 설명하고, fake-ip, nameserver-policy, TUN 가로채기 세 가지 방식을 비교해 바로 적용할 수 있는 dns 설정 예시를 제공합니다.
모바일 기기의 배터리 소모가 비정상적으로 빠른 경우 잦은 깨우기, 구독 자동 업데이트, 로그 수준, TUN 스택 선택이 원인일 수 있습니다. 이 문서에서는 점검 순서와 적용 가능한 절전 설정을 안내합니다.
원본 Clash에서 Clash Meta, mihomo로 이어지는 흐름을 따라 코어와 그래픽 프런트엔드의 역할, 라이선스, 클라이언트별 기반 코어를 정리합니다.