구독 가져오기부터 네트워크 트래픽 처리까지, 개념별로 관련 설정을 확인하세요. 각 카드에서 용어의 의미와 흔한 오해, 함께 확인해야 할 설정을 설명합니다.
커널과 클라이언트
인터페이스, 백그라운드 프로세스, 컨트롤 인터페이스는 각각 역할이 다릅니다. 문제를 해결할 때는 먼저 실행 중인 커널을 확인한 다음, 변경 사항이 어디에 저장되었는지 살펴보세요.
mihomo 커널
Proxy core · mihomo
프록시 연결, 규칙 매칭, DNS 조회, TUN 트래픽 처리를 담당하는 프로그램의 핵심 구성 요소로, Clash Meta 프로젝트에서 파생되었습니다. GUI 클라이언트에서 mihomo를 사용할 수 있지만 인터페이스 이름과 커널 이름이 같지는 않을 수 있습니다. 지원되지 않는 필드나 설정 불러오기 오류가 발생하면 클라이언트 버전만 확인하지 말고 실제 커널과 버전을 확인하세요.
커널과 클라이언트
GUI 클라이언트
Graphical client · GUI
mihomo 커널에 구독 관리, 정책 선택, 로그 확인, 시스템 설정 인터페이스를 제공하는 애플리케이션입니다. 예를 들면 Clash Verge Rev가 있습니다. 오버라이드, 서비스 모드, 설정 저장 방식은 클라이언트마다 다를 수 있습니다. 같은 구독을 다른 클라이언트에서 사용한다면 가져오기 성공 메시지만 믿지 말고 시스템 프록시, TUN, 로컬 수정 사항을 다시 확인하세요.
커널과 클라이언트
외부 컨트롤 인터페이스
external-controller
대시보드나 관리 프로그램에서 연결을 확인하고, 정책을 전환하거나 설정을 다시 불러올 때 사용하는 인터페이스입니다. 수신 주소는 external-controller로 지정합니다. 브라우저에서 사용하는 프록시 포트가 아니므로 프록시 설정에 mixed-port 대신 입력해서는 안 됩니다. 활성화할 때는 secret 접근 키를 설정하고 수신 범위를 제한해 신뢰할 수 없는 네트워크에 관리 권한이 노출되지 않도록 하세요.
커널과 클라이언트
대시보드
Dashboard · external-ui
외부 컨트롤 인터페이스에 연결해 규칙, 활성 연결, 정책 그룹을 확인하는 관리 화면입니다. external-ui로 대시보드 정적 파일 디렉터리를 지정할 수 있지만, 대시보드 자체는 프록시 트래픽을 전달하지 않습니다. 브라우저에서 대시보드 페이지를 닫아도 커널이 중지되지 않을 수 있으며, 대시보드가 열리지 않는다고 프록시 연결까지 끊겼다고 단정할 수는 없습니다.
커널과 클라이언트
프록시 프로토콜
노드는 연결 설정이고 프로토콜은 통신 규약입니다. 먼저 설정이 서버 측 정보와 일치하는지 확인한 다음 테스트 결과를 살펴보세요.
노드
Proxy endpoint · proxies
프록시 연결에 필요한 서버 설정 정보의 묶음으로, 보통 서버 주소, 포트, 프로토콜, 인증 정보를 포함합니다. 설정 파일에 노드를 proxies로 직접 입력하거나 프록시 프로바이더에서 가져올 수 있습니다. 노드는 전체 설정과 다르며, 표시 이름만으로 실제 연결의 출구 위치를 판단할 수도 없습니다. 연결 문제를 확인할 때는 로그와 대상 웹사이트의 접속 결과를 함께 살펴보세요.
프록시 프로토콜
프록시 프로토콜
Proxy protocol · type
클라이언트와 프록시 서버가 데이터를 주고받을 때 따르는 통신 규약입니다. 노드의 type 필드에서 유형을 지정합니다. 프로토콜, 하위 전송 방식, TLS 설정은 서로 다른 계층이므로 한 필드만 보고 나머지 설정을 추측해서는 안 됩니다. 커널이 특정 프로토콜을 지원하더라도 현재 구독에 필요한 정보가 모두 포함되어 있다는 뜻은 아닙니다.
프록시 프로토콜
Shadowsocks
Shadowsocks · type: ss
mihomo 노드 설정에서 type: ss로 지정하는 암호화 프록시 프로토콜입니다. 서버 주소, 포트, 암호화 방식 cipher, 비밀번호는 서버 측 설정과 일치해야 하며, 노드 이름만으로 추측해서는 안 됩니다. 서버에서 별도 플러그인이나 특정 매개변수를 요구하면 커널 호환성도 확인하세요. 설정 문법을 통과했다고 원격 서버에 연결할 수 있는 것은 아닙니다.
프록시 프로토콜
지연 시간 테스트
Latency test · URL test
지정한 테스트 주소에 연결해 요청의 왕복 시간을 측정하는 방식입니다. 결과는 테스트 주소, 연결 재사용 여부, 네트워크 환경에 따라 달라집니다. 테스트 성공은 해당 요청이 완료되었다는 뜻일 뿐 모든 웹사이트나 프로토콜을 사용할 수 있다는 뜻은 아닙니다. 지연 시간은 다운로드 속도와 다릅니다. 시간 초과가 발생하면 노드 연결 실패, DNS 조회 실패, 테스트 주소 자체의 접속 불가를 구분해 확인하세요.
프록시 프로토콜
규칙과 라우팅
규칙은 매칭할 대상을 정하고, 정책은 연결 처리 방식을 결정합니다. 로그를 볼 때는 매칭된 규칙과 최종 정책을 함께 확인하세요.
규칙 기반 라우팅
Rule-based routing · rules
도메인, IP 등 조건에 따라 연결에 적용할 정책을 선택하는 방식입니다. mode: rule로 규칙 모드를 활성화합니다. 규칙은 보통 위에서 아래로 확인하고, 일치하는 규칙이 있으면 지정된 정책으로 처리합니다. 마지막에는 남은 연결을 처리하도록 MATCH를 두는 경우가 많습니다. 규칙에서 PROXY라는 정책을 참조한다면 해당 이름이 설정에 정의되어 있어야 합니다. 규칙 행만 복사해서는 실행할 수 없습니다.
규칙과 라우팅
정책 그룹
Policy group · proxy-groups
proxy-groups에서 정의하는 프록시 선택 항목의 모음으로, 규칙에서 참조합니다. select는 직접 선택하고, url-test는 테스트 결과에 따라 선택하며, fallback은 사용 가능 여부와 순서에 따라 전환합니다. 세 방식의 목적은 서로 다릅니다. 그룹 이름, 노드 이름, 규칙의 참조 이름은 모두 일치해야 합니다. 자동 테스트로 선택된 노드가 현재 이용하려는 웹사이트에 가장 적합한 것도 아닙니다.
규칙과 라우팅
규칙 세트
Rule provider · rule-providers
다수의 매칭 조건을 별도 파일에 저장하고 rule-providers에서 관리하는 데이터 모음입니다. 기본 규칙에서 RULE-SET으로 규칙 세트를 참조하고, 해당 규칙에 처리 정책을 지정합니다. 규칙 세트의 behavior는 파일 형식과 맞아야 합니다. 업데이트 성공은 파일을 가져왔다는 뜻일 뿐이므로, 참조 위치와 앞선 규칙이 먼저 매칭되는지도 확인하세요.
규칙과 라우팅
GeoIP
IP geolocation · GEOIP
IP 주소의 소속 지역을 기준으로 매칭하는 데이터와 기능입니다. 예를 들어 GEOIP,CN,DIRECT는 해당 IP에 매칭되는 연결을 직접 연결한다는 뜻입니다. MMDB 데이터 모드를 사용할 때는 Country.mmdb 파일이 흔히 쓰입니다. 데이터베이스가 없거나 업데이트에 실패하면 규칙이 제대로 작동하지 않을 수 있습니다. IP 주소의 소속 지역이 서버의 실제 위치와 일치하는 것은 아니며, 구체적인 도메인 규칙을 대신할 수도 없습니다.
도메인 조회 방식과 연결에서 도메인 정보를 유지하는 방식은 서로 관련되어 있지만 별개의 문제입니다. 설정을 변경하기 전에 실제 조회 경로부터 확인하세요.
DNS
Domain Name System · dns
도메인을 IP 주소 등의 레코드로 변환하는 시스템입니다. mihomo에서는 dns 설정으로 관련 동작을 제어합니다. 운영체제, 브라우저, 커널에 각각 조회 설정이 있을 수 있으며, 애플리케이션에서 암호화 DNS를 사용하면 별도 경로를 거칠 수도 있습니다. 웹페이지가 열리지 않을 때는 DNS 조회 실패와 연결 실패를 구분하세요. nameserver만 바꿨다고 문제가 해결된 것은 아닙니다.
DNS와 네트워크 스택
Fake-IP
Synthetic address · enhanced-mode
도메인에 합성 IP를 먼저 반환한 뒤, 연결이 커널에 들어오면 도메인과 연결하는 DNS 작동 방식입니다. enhanced-mode: fake-ip로 활성화합니다. 도메인 기반 규칙 정보를 유지하는 데 도움이 되지만, 합성 주소는 웹사이트의 실제 서버 주소가 아닙니다. 일부 LAN 서비스나 특수 애플리케이션은 fake-ip-filter에 추가해야 합니다. 설정을 변경한 뒤에는 애플리케이션과 시스템에 남아 있는 DNS 캐시도 확인하세요.
DNS와 네트워크 스택
DNS 누수
DNS leak
DNS 조회가 예상한 경로를 따르지 않고 다른 DNS 서버로 전송되는 현상입니다. 예를 들어 프록시를 통해 조회할 것으로 예상했지만 로컬 네트워크의 DNS 서버로 요청이 전송되는 경우입니다. 시스템 DNS, 브라우저의 암호화 DNS, TUN 트래픽 처리, 커널의 상위 DNS 서버 요청 경로를 함께 확인해야 합니다. 테스트 페이지에 특정 지역의 DNS 서버가 표시되는 것만으로 누수를 증명할 수는 없습니다. 먼저 예상 경로를 정하고 실제 요청과 비교하세요.
DNS와 네트워크 스택
도메인 스니핑
Domain sniffing · sniffer
식별 가능한 연결 핸드셰이크 정보에서 도메인 단서를 추출하는 기능입니다. sniffer 설정으로 제어하며, 목적지 IP만 포함된 연결을 처리할 때 도움이 됩니다. HTTPS 본문을 복호화하는 기능은 아니며 모든 도메인을 복원할 수도 없습니다. 핸드셰이크 정보가 보이지 않는 경우도 있습니다. 잘못 인식되거나 특정 애플리케이션에 문제가 생기면 모든 연결을 강제로 덮어쓰기보다 스니핑 범위와 제외 항목을 확인하세요.
전체 설정, 노드 출처, 로컬 수정 사항은 구분해서 이해해야 합니다. 구독 업데이트 후 설정이 사라진다면 오버라이드 계층에 저장해야 하는 경우가 많습니다.
구독
Subscription
원격 링크에서 제공되며 업데이트할 수 있는 설정 또는 노드 데이터입니다. 일반적으로 Clash YAML 설정, 인코딩된 노드 목록, 프로토콜 링크 모음이 포함됩니다. 링크가 열린다고 해서 현재 가져오기 메뉴와 형식이 맞는 것은 아닙니다. HTML 로그인 페이지는 유효한 설정이 아닙니다. 구독 주소의 인증 정보는 비밀번호처럼 취급하고 스크린샷, 문의 글, 신뢰할 수 없는 변환 서비스에 공개하지 마세요.
구독과 설정 파일
YAML
YAML configuration
mihomo 설정에 주로 사용하는 구조화된 텍스트 형식입니다. 들여쓰기로 계층을 표현하고 하이픈으로 목록 항목을 나타냅니다. 들여쓰기에는 공백을 사용하고 탭 문자를 섞지 마세요. 특수 문자가 포함된 문자열은 YAML 문법에 따라 따옴표로 감쌀 수 있습니다. yaml: unmarshal errors 오류는 필드 유형이나 구조가 맞지 않을 때 발생할 수 있습니다. 파일을 파싱할 수 있어도 노드, 정책 그룹, 규칙 참조가 올바르다는 뜻은 아닙니다.
구독과 설정 파일
프록시 프로바이더
Proxy provider · proxy-providers
proxy-providers에서 정의하는 노드 출처로, 원격 파일이나 로컬 파일을 사용할 수 있습니다. 보통 정책 그룹의 use 필드에서 참조합니다. 노드를 제공하는 역할이며 DNS, 규칙, 수신 포트를 포함하는 전체 설정과는 다릅니다. 프록시 프로바이더 링크를 전체 구독처럼 직접 가져오면 실행에 필요한 구조가 없을 수 있습니다. 먼저 파일 내용과 클라이언트가 지원하는 가져오기 방식을 확인하세요.
구독과 설정 파일
로컬 오버라이드
Local override · Merge
구독 원본과 별도로 수정 사항을 저장하고, 클라이언트가 실행 설정을 생성할 때 적용하는 방식입니다. 사용자 지정 규칙, DNS, 수신 설정을 유지하는 데 적합합니다. 다운로드한 구독 파일을 직접 수정하면 다음 업데이트 때 변경 사항이 덮어써질 수 있습니다. 배열 교체, 규칙 추가, 스크립트 실행 순서는 클라이언트마다 다르므로 저장한 뒤 최종 적용 설정을 확인하세요. 편집기에서 보이는 일부 내용만 확인해서는 안 됩니다.
프록시 수신, 시스템 설정, 라우팅을 통한 트래픽 처리는 서로 다른 기능입니다. 활성화한 뒤 실제 애플리케이션으로 확인하고, 비활성화한 뒤 시스템 설정이 복원되었는지 살펴보세요.
시스템 프록시
System proxy
운영체제가 해당 설정을 지원하는 애플리케이션에 제공하는 프록시 연결 정보로, 보통 클라이언트의 로컬 수신 주소와 포트를 가리킵니다. 자체 프록시 설정을 사용하는 프로그램이나 직접 연결하는 프로그램도 있으므로 시스템 프록시를 켜도 기기 전체 트래픽이 커널로 전달되는 것은 아닙니다. 클라이언트를 종료한 뒤 브라우저에서 프록시 연결 오류가 계속 발생하면 시스템 프록시 설정이 남아 있는지, 해당 수신 프로세스가 실행 중인지 확인하세요.
시스템과 플랫폼
TUN 모드
Virtual network device · tun
가상 네트워크 장치와 라우팅 설정을 사용해 트래픽 처리 조건에 맞는 IP 트래픽을 커널로 전달합니다. 시스템 프록시를 따르지 않는 애플리케이션에서 자주 사용합니다. 활성화하려면 관리자 권한, 시스템 서비스 또는 플랫폼 권한이 필요한 경우가 있지만, 스위치가 켜져 있다고 모든 라우팅이 올바르게 설정된 것은 아닙니다. 네트워크 연결에 문제가 생기면 네트워크 스택을 조정하기 전에 DNS 트래픽 처리, 라우팅 제외 항목, 다른 VPN과의 충돌을 확인하세요.
시스템과 플랫폼
LAN 공유
LAN access · allow-lan
다른 기기가 현재 기기의 프록시 수신 포트에 연결하도록 허용합니다. 관련 설정에는 allow-lan, 수신 주소, 시스템 방화벽이 포함됩니다. 다른 기기에서는 자신의 주소가 아닌 현재 기기의 LAN 주소를 입력해야 합니다. 127.0.0.1은 각 기기 자신을 가리킵니다. 프록시를 공유해도 네트워크 전체의 기본 게이트웨이가 자동으로 변경되지는 않습니다. 접근 범위를 제한하고 공용 네트워크에 프록시 포트를 열지 마세요.
시스템과 플랫폼
서비스 모드와 시작 프로그램
Service mode · Launch at startup
서비스 모드는 보통 시스템 서비스 등으로 백그라운드 커널을 실행하고, 시작 프로그램은 시스템 시작 또는 사용자 로그인 시 프로그램을 실행합니다. 두 기능은 서로 다릅니다. 창을 닫아도 트레이로 최소화되거나 커널이 계속 실행될 수 있으며, 동작은 클라이언트에 따라 달라집니다. 설정 후에는 인터페이스가 실행되는지, 커널이 작동하는지, 시스템 프록시나 TUN이 예상대로 복원되는지 각각 확인하세요.