평소에는 규칙 모드, 문제를 확인할 때는 전역 또는 직접 연결
평소 웹 브라우징에는 규칙 모드를 우선 사용하세요. 프록시가 필요한 대상은 프록시 정책 그룹으로 보내고, 나머지는 설정에 따라 직접 연결합니다. 특정 웹사이트가 열리지 않으면 잠시 전역 모드로 전환해 분기 규칙이 원인인지 확인할 수 있습니다. 로컬 네트워크에서 직접 접속할 수 있는지 비교하려면 직접 연결 모드를 사용하세요. 세 모드는 연결의 경로를 결정하는 방식이지, 속도나 암호화 수준을 나눈 단계가 아닙니다.
이 글은 Clash 설정 문법을 사용하는 클라이언트와 Clash Meta(현재 이름: mihomo) 코어 기반 클라이언트에 적용됩니다. 인터페이스에는 ‘규칙 / 전역 / 직접 연결’ 또는 ‘Rule / Global / Direct’로 표시될 수 있습니다. 설정 파일에서 이에 해당하는 값은 mode: rule, mode: global, mode: direct입니다.
세 가지 프록시 모드의 트래픽 처리 비교
| 모드 | 코어에 들어온 뒤의 처리 | 주요 사용 사례 | 주요 확인 항목 |
|---|---|---|---|
| 규칙 Rule | rules 순서대로 일치 여부를 확인하고, 해당 정책으로 전달 |
일상적인 트래픽 분기, 사내망 직접 연결, 서비스별 출구 선택 | 일치한 규칙, 정책 그룹의 현재 선택 항목, 기본 규칙 |
| 전역 Global | 대개 내장 GLOBAL 그룹에서 출구를 일괄 결정 |
프록시 연결 여부를 임시로 비교하거나 규칙 오적용을 확인할 때 | GLOBAL에서 현재 선택한 노드 또는 정책 |
| 직접 연결 Direct | 원격 프록시 노드를 거치지 않고 로컬 네트워크로 대상에 직접 연결 | 로컬 네트워크를 비교하거나 노드가 접속에 영향을 주는지 확인 | 로컬 네트워크, 대상 연결 가능 여부, DNS 조회 |
여기서 ‘전역’은 코어로 들어온 트래픽을 뜻합니다. 게임이 시스템 프록시를 따르지 않는다면 전역 모드로 바꿔도 게임 연결이 자동으로 노드를 경유하지 않습니다. 또한 전역 그룹에서 DIRECT를 선택할 수 있습니다. 이 경우 인터페이스에 전역으로 표시되더라도 실제 연결은 직접 연결일 수 있습니다. 모드 표시만 보지 말고 모드와 출구를 함께 확인하세요.
규칙 모드: 규칙에 먼저 일치시킨 뒤 정책 선택
규칙은 위에서 아래 순서로 확인
규칙 모드는 웹사이트 이름만 보고 용도를 자동으로 추측하는 기능이 아니라, 현재 적용 중인 설정의 규칙을 실행하는 방식입니다. 연결은 보통 적용 가능한 규칙에 처음 일치하면 해당 정책으로 전달되며, 뒤에 있는 ‘더 적합한’ 규칙을 계속 찾지 않습니다. 범위가 넓은 규칙을 너무 위에 두면 뒤에 있는 더 구체적인 도메인 규칙이 적용되지 않을 수 있습니다.
아래 내용은 기존 설정에 합쳐 사용할 수 있는 예시이며, 완성된 구독 설정이 아닙니다. 예시에 쓰인 代理选择는 설정에 실제로 존재하는 정책 그룹 이름으로 바꿔야 합니다. example.com은 문법 설명용 예시 도메인이므로 실제 용도에 맞게 변경하세요.
mode: rule
mixed-port: 7890
rules:
- DOMAIN-SUFFIX,example.com,프록시 선택
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- MATCH,프록시 선택
DOMAIN-SUFFIX,example.com은 해당 도메인과 하위 도메인에 일치합니다. 도메인 이름에 이 문자열이 포함되기만 하면 일치하는 것은 아닙니다.- 세 개의
IP-CIDR규칙은 일반적인 IPv4 사설 주소 대역을 포함하며, 사내망을 직접 연결하는 예시로 적합합니다. 실제로 규칙이 적용되는지는 연결에서 사용할 수 있는 대상 주소 정보에 따라 달라집니다. no-resolve는 이 IP 규칙에 일치하는 연결을 위해 도메인 조회를 추가로 실행하지 않는다는 뜻입니다. 연결 전체에서 DNS가 필요 없다는 의미는 아닙니다.MATCH는 기본 규칙이므로 맨 마지막에 둬야 합니다. 예시에서는 일치하는 규칙이 없는 연결을 프록시 그룹으로 보내며, 필요에 따라DIRECT로 바꿀 수도 있습니다.
정책 그룹은 고정된 노드가 아닙니다
규칙이 ‘프록시 선택’에 일치하더라도 그룹 안에서 무엇을 선택했는지 확인해야 합니다. select 유형의 수동 선택 그룹이라면 현재 노드, 다른 정책 그룹 또는 DIRECT가 선택되어 있을 수 있습니다. 따라서 규칙이 프록시 그룹에 일치했다는 사실만으로 원격 노드를 사용한다고 단정할 수 없습니다.
클라이언트의 ‘연결’ 또는 ‘Connections’ 페이지에서 방금 보낸 요청을 찾아 대상 도메인, 일치한 규칙, 프록시 체인을 확인하세요. 규칙은 올바르게 일치했는데 프록시 체인이 직접 연결로 이어진다면, 중복 규칙을 추가하기보다 먼저 정책 그룹의 선택 항목을 확인하세요.
전역 모드: 비교 테스트에 적합하지만 트래픽을 가져오는 기능은 아님
전역 모드는 보통 일반 rules 목록의 분기 선택을 건너뛰고, 코어에 들어온 연결을 GLOBAL로 전달합니다. 전환한 뒤에는 클라이언트의 프록시 선택 화면에서 전역 그룹에 사용 가능한 노드가 선택되어 있는지 확인하세요. 일부 클라이언트는 전역 그룹을 별도 영역에 표시하며, 이 그룹의 선택 항목이 규칙 모드에서 사용하는 정책 그룹과 동기화되지 않을 수 있습니다.
- 규칙 모드에서 접속에 실패한 웹사이트와 시간을 기록하세요. DNS, 노드, 설정을 한꺼번에 변경하지 않는 것이 좋습니다.
- ‘모드’에서 ‘전역 / Global’을 선택하고
GLOBAL에 사용할 노드를 지정하세요. - 해당 웹사이트의 기존 연결을 닫은 다음 같은 주소를 다시 방문하세요.
- 전역 모드에서는 접속되고 규칙 모드에서는 실패한다면, 규칙 모드로 돌아가 해당 연결에 일치한 규칙과 실제 출구를 확인하세요.
이 비교로 원인 범위를 좁힐 수는 있지만, 규칙 오류를 단독으로 입증하지는 못합니다. 두 모드에서 서로 다른 노드를 선택했다면 결과 차이는 노드의 출구에서 비롯됐을 수도 있습니다. 전역 그룹과 규칙에 일치한 정책 그룹이 같은 노드를 가리키도록 한 뒤 접속 결과를 비교하는 것이 더 정확합니다.
직접 연결 모드: 노드는 우회하지만 클라이언트는 종료되지 않음
직접 연결 모드는 코어에 들어온 연결을 로컬 네트워크로 내보냅니다. ‘원격 프록시 노드를 거치지 않을 때 이 대상에 접속할 수 있는가?’라는 질문을 확인하기에 적합합니다. 직접 연결은 정상인데 지정한 노드에서는 실패한다면, 노드나 원격 출구 또는 관련 프로토콜 지원을 확인하세요. 직접 연결이 정상이라고 해서 모든 설정이 올바르다는 뜻은 아닙니다.
직접 연결 모드로 전환해도 클라이언트는 계속 연결을 받을 수 있고, 시스템 프록시는 로컬 포트를 계속 가리킬 수 있으며, TUN 가상 네트워크 어댑터도 계속 작동할 수 있습니다. 코어 내장 DNS나 Fake-IP 매핑 같은 구성 요소가 이름 조회에 관여하는지는 현재 DNS와 트래픽 처리 설정에 따라 달라집니다. 따라서 직접 연결 모드는 ‘클라이언트를 실행하지 않은 상태’의 네트워크 환경을 완전히 재현하지 못합니다.
실제 로컬 네트워크 상태를 비교하는 방법
- 먼저 직접 연결 모드로 바꾸고 같은 대상을 테스트하세요.
- 클라이언트의 영향을 더 분리하려면 시스템 프록시 또는 TUN을 끄고, 다른 프록시 도구가 트래픽을 가져오지 않는지 확인하세요.
- 연결을 새로 설정하세요. 필요한 경우 브라우저를 완전히 종료했다가 다시 열어 기존 연결이 재사용되지 않도록 합니다.
- 두 결과를 비교한 뒤 테스트가 끝나면 기존 트래픽 처리 방식과 규칙 모드로 복원하세요.
시스템 프록시가 127.0.0.1:7890을 가리키는 상태에서 해당 포트를 사용하는 클라이언트를 바로 종료하지 마세요. 시스템 프록시를 따르는 앱의 연결이 실패할 수 있습니다. 7890은 흔히 쓰이는 예시 포트이며, 실제 포트는 클라이언트의 ‘설정’에서 HTTP 또는 Mixed 리스닝 포트를 확인하세요.
모드 변경이 적용되지 않을 때: 연결 경로를 단계별로 확인
1단계: 요청이 코어에 들어오는지 확인
‘연결 / Connections’ 페이지를 열고 새 웹페이지에 접속하세요. 해당 연결이 전혀 보이지 않는다면 시스템 프록시가 켜져 있는지, 앱 자체 프록시가 따로 설정되어 있는지, 브라우저 확장 프로그램이 시스템 설정을 덮어쓰는지 먼저 확인하세요. Windows 11에서는 ‘설정’ → ‘네트워크 및 인터넷’ → ‘프록시’에서 확인할 수 있습니다. macOS에서는 ‘시스템 설정’ → ‘네트워크’ → 현재 네트워크 서비스의 ‘세부사항’ → ‘프록시’에서 확인하세요.
시스템 프록시는 프록시 설정을 따르는 앱에서 주로 사용되며, 시스템의 모든 트래픽을 가져오는 기능은 아닙니다. 더 많은 앱의 트래픽을 처리해야 한다면 TUN을 검토할 수 있습니다. 다만 TUN에는 라우팅, 권한, DNS 설정도 관련되므로 웹페이지 하나를 테스트하려고 모든 옵션을 한꺼번에 바꾸지는 마세요.
2단계: 프록시를 명시한 요청으로 시스템 설정 차이 배제
현재 설정에서 로컬 Mixed 포트 7890을 실제로 수신하고 있다면 아래 명령으로 비교할 수 있습니다. Windows에서는 일부 PowerShell 환경이 curl을 다른 명령으로 해석할 수 있으므로 curl.exe를 사용하세요. macOS와 Linux에서는 보통 curl을 사용합니다.
# Windows: 로컬 HTTP 프록시를 명시적으로 사용
curl.exe --noproxy "" -I --connect-timeout 10 --max-time 20 --proxy http://127.0.0.1:7890 https://example.com/
# Windows: 프록시 우회
curl.exe --noproxy "*" -I --connect-timeout 10 --max-time 20 https://example.com/
# macOS / Linux: 로컬 HTTP 프록시를 명시적으로 사용
curl --noproxy "" -I --connect-timeout 10 --max-time 20 --proxy http://127.0.0.1:7890 https://example.com/
이 명령은 연결 시간 제한을 10초, 전체 실행 시간 제한을 20초로 설정해 오래 기다리지 않도록 합니다. 성능을 측정하는 명령은 아닙니다. 특정 문제를 테스트하려면 예시 주소를 실제 대상 주소로 바꾸세요. 직접 연결 명령은 curl의 프록시 선택만 우회합니다. TUN이 계속 켜져 있으면 하위 연결이 여전히 처리될 수 있으므로 트래픽이 클라이언트를 완전히 우회한다고 단정할 수 없습니다.
3단계: 기존 연결, DNS, 설정 덮어쓰기 확인
- 기존 연결 재사용: 모드 변경은 보통 새 연결에 적용되며, 이미 연결된 HTTP/2, WebSocket, 다운로드가 즉시 다른 출구로 전환된다고 보장하지 않습니다. 대상 연결을 먼저 닫고 다시 시도하세요. 처음부터 기기 전체를 재시작할 필요는 없습니다.
- DNS 조회 실패: 로그에 이름 조회 시간 초과가 표시되면 먼저 DNS 서버에 연결할 수 있는지 확인하세요. 전역 모드로 바꿔도 DNS 문제가 자동으로 해결되지는 않습니다. Fake-IP 모드에서도 대상 도메인의 실제 조회가 언제나 불필요한 것은 아닙니다.
- 설정 미적용: 현재 구독 설정이 선택되어 있고 변경 사항을 적용한 뒤 다시 불러왔는지 확인하세요. 클라이언트의 덮어쓰기, 병합, 스크립트 기능이 최종
mode와rules값을 변경할 수 있습니다. - 연결 거부: 연결 세부 정보에
REJECT가 표시되면 규칙에 일치한 원인을 확인하세요. 로컬 포트 연결이 거부된 경우에는 코어가 실행 중인지, 포트가 일치하는지 먼저 확인하세요.
원인을 더 확인하려면 이 사이트의 문제 진단을 참고하세요. 대상 도메인, 모드, 실제 출구, 오류 메시지, 발생 시간을 기록하면 ‘전환했는데 반응이 없다’고만 설명할 때보다 문제를 쉽게 재현할 수 있습니다. 스크린샷을 공유하기 전에 구독 주소, 노드 인증 정보, 개인 연결 정보는 가리세요.
자주 묻는 질문과 일상 설정 팁
전역 모드는 규칙 모드보다 항상 빠른가요?
그렇지 않습니다. 지연 시간과 속도는 주로 로컬 네트워크, 노드 경로, 대상 서비스, 혼잡도에 따라 달라집니다. 전역 모드는 원래 직접 연결하는 것이 적합한 연결까지 원격 노드로 보낼 수도 있습니다. 속도를 비교할 때는 대상, 노드, 테스트 조건을 동일하게 유지하세요. 모드 이름만 비교해서는 안 됩니다.
TUN을 켜도 규칙 모드를 사용해야 하나요?
트래픽 분기 방식에 따라 선택해야 합니다. TUN은 트래픽을 가져오는 방식이고, 규칙 모드는 출구를 결정하는 방식이므로 함께 사용할 수 있습니다. TUN으로 연결을 코어에 가져온 뒤에도 규칙에 따라 직접 연결, 프록시 또는 거부를 선택할 수 있습니다. 전역 모드로 바꾸면 이후 출구 선택 방식이 달라집니다.
구독을 업데이트하면 모드와 노드 선택이 바뀌나요?
클라이언트가 인터페이스 상태를 보존하는 방식, 설정을 불러오는 방식, 덮어쓰기 적용 방식에 따라 다릅니다. 업데이트 후 현재 모드와 정책 그룹이 여전히 있는지, 선택한 노드가 삭제되지 않았는지 확인하세요. 사용자 지정 분기 설정을 장기간 유지해야 한다면 클라이언트가 지원하는 덮어쓰기 또는 병합 기능을 사용하세요. 구독에서 생성된 파일을 직접 수정하면 업데이트 시 변경 사항이 덮어써질 수 있습니다.
평소에는 ‘규칙 모드 + 정책 그룹 선택’을 유지하고, 문제가 생기면 트래픽 처리 여부, 규칙 일치, 출구 노드, DNS 순서로 확인하세요. 한 번에 하나씩만 변경하고 테스트가 끝나면 원래 설정으로 복원하세요. 정책 그룹, Fake-IP, TUN 개념은 용어집에서 확인할 수 있습니다. 처음 설정한다면 입문 가이드부터 시작하세요.