클라이언트 및 구독 준비
로컬 네트워크에서 프록시를 공유하려면 먼저 PC의 Clash 클라이언트가 요청을 정상적으로 프록시 처리해야 합니다. Clash 클라이언트 다운로드 페이지에서 Windows, macOS 또는 Linux용 클라이언트를 선택해 설치하세요. 그런 다음 클라이언트의 ‘구독’ 또는 ‘프로필’ 메뉴에서 서비스 제공업체의 구독 URL을 추가하고, 설정을 내려받아 현재 프로필로 지정합니다. 클라이언트마다 메뉴 이름이 다를 수 있습니다. 설치 및 가져오기 절차는 빠른 시작 가이드를 참고하세요.
가져온 뒤에는 먼저 규칙 모드를 사용하고, 실제로 적용되는 프록시 그룹에서 사용할 수 있는 노드를 선택한 다음 PC에서 접속을 확인하세요. 구독은 노드와 규칙을 제공하고 클라이언트는 코어를 실행합니다. 로컬 네트워크 공유를 켜도 새 노드가 생기지는 않으며, 구독 만료나 노드 장애, 잘못된 규칙 선택도 해결되지 않습니다.
- 설정이 다운로드만 된 상태가 아니라 현재 활성화되어 있는지 확인하세요.
- 클라이언트에 표시된 혼합 포트 번호를 확인하세요. 이 문서에서는
7890을 예시로 사용합니다. 실제 포트가 다르면 해당 번호로 바꿔 입력하세요. - PC와 휴대폰을 신뢰할 수 있는 같은 로컬 네트워크에 연결하세요. PC는 유선 LAN, 휴대폰은 Wi-Fi를 사용해도 라우터에서 두 기기의 통신을 허용하면 됩니다.
- 테스트 중에는 다른 VPN이나 프록시 앱을 휴대폰에서 잠시 꺼 두세요. 요청이 다른 연결 경로를 거치는 일을 막을 수 있습니다.
mixed-port, HTTP, SOCKS5
mixed-port는 HTTP 프록시와 SOCKS5 프록시 요청을 모두 받는 수신 포트입니다. 코어는 연결 시작 시 프로토콜 핸드셰이크를 확인해 요청을 구분하므로 두 프로토콜에 각각 포트를 열 필요가 없습니다. 모든 트래픽을 한데 섞어 무작위로 전달하는 기능도 아닙니다. 요청이 코어에 들어온 뒤에는 규칙, 정책 그룹, 노드 선택에 따라 출구가 결정됩니다.
| 설정 항목 | 지원 프로토콜 | 주요 사용 사례 |
|---|---|---|
port | HTTP 프록시 | 브라우저, 시스템 Wi-Fi 수동 프록시 |
socks-port | SOCKS5 프록시 | SOCKS5를 지원하는 앱 또는 명령줄 도구 |
mixed-port | HTTP 및 SOCKS5 | 여러 기기에서 같은 프록시 포트 사용 |
휴대폰의 Wi-Fi ‘수동 프록시’ 설정은 보통 HTTP 프록시를 지정하며 SOCKS5를 지정하는 것이 아닙니다. 혼합 포트를 입력하면 이런 요청을 받을 수 있습니다. HTTPS 사이트에 접속할 때 클라이언트는 일반적으로 HTTP 프록시의 CONNECT 메서드로 터널을 만듭니다. 따라서 프록시 주소를 https://192.168.50.23처럼 입력할 필요가 없으며, 일반적인 프록시 공유에 인증서를 설치할 필요도 없습니다.
allow-lan 및 수신 주소
allow-lan: true는 로컬 네트워크 기기의 접속을 허용하는 설정입니다. 수신 주소는 서비스가 PC의 어느 주소에서 연결을 받을지 결정합니다. 코어가 여전히 127.0.0.1에서만 수신하면 PC에서는 사용할 수 있어도 휴대폰에서는 접속할 수 없습니다. 아래는 일반적인 Clash 및 mihomo 설정의 공유 관련 항목입니다. 기존 설정의 최상위 항목에 병합해야 하며 구독 설정 전체를 대체하면 안 됩니다.
mixed-port: 7890
allow-lan: true
bind-address: "*"
mode: rule
"*"는 모든 네트워크 인터페이스에서 수신한다는 뜻으로, 예시에는 편리하지만 노출 범위가 넓습니다. 네트워크 어댑터가 여러 개이거나 신뢰할 수 없는 네트워크를 사용하는 PC라면 방화벽으로 접속 범위를 제한하세요. 코어가 지원하는 경우 특정 로컬 네트워크 주소에 바인딩할 수도 있습니다. 구독을 업데이트하면 수동 변경 사항이 덮어써질 수 있으므로 클라이언트의 ‘LAN 연결 허용’ 또는 ‘혼합 포트’ 설정을 사용하거나 덮어쓰기·병합 기능으로 해당 항목을 유지하세요. 수정한 뒤 설정을 다시 불러오고 로그에서 포트 충돌이나 필드 오류가 없는지 확인하세요.
PC의 로컬 IP 주소와 포트 확인
휴대폰에는 컴퓨터의 공인 IP가 아닌 로컬 네트워크 IP를 입력하세요. 127.0.0.1도 사용할 수 없습니다. 이 주소는 휴대폰에서 휴대폰 자신을 가리킵니다. 여기서는 컴퓨터 IP를 192.168.50.23, 휴대폰 IP를 192.168.50.80, 서브넷 마스크를 255.255.255.0으로 가정합니다. 모두 설정 예시이므로 실제 기기에 표시된 주소를 사용하세요.
Windows
‘설정’ → ‘네트워크 및 인터넷’ → 현재 연결된 ‘Wi-Fi’ 또는 ‘이더넷’ → 네트워크 속성으로 이동해 IPv4 주소를 확인하세요. 터미널에서 아래 명령을 실행해 확인할 수도 있습니다. 사용 중인 물리 네트워크 어댑터를 찾고 VPN, 가상 머신 또는 TUN 가상 어댑터를 잘못 선택하지 않도록 주의하세요.
ipconfig
netstat -ano | findstr :7890
수신 상태에는 보통 0.0.0.0:7890 또는 지정한 로컬 네트워크 주소가 표시되고, 상태는 LISTENING이어야 합니다. 127.0.0.1:7890만 보인다면 LAN 허용 설정과 수신 주소를 확인하세요. 수신 기록이 전혀 없다면 코어가 실행 중인지, 실제 포트 번호가 무엇인지 먼저 확인하세요.
macOS 및 Linux
macOS에서는 ‘시스템 설정’ → ‘네트워크’ → 현재 연결 → ‘세부사항’ → ‘TCP/IP’에서 주소를 확인할 수 있습니다. Linux에서는 네트워크 설정에서 IPv4 주소를 확인하거나 아래 명령으로 인터페이스와 수신 상태를 점검할 수 있습니다.
ip -4 addr
ss -lntp 'sport = :7890'
노트북은 Wi-Fi를 바꾸면 IP 주소가 달라질 수 있습니다. 계속 사용할 계획이라면 라우터의 DHCP 주소 예약 기능으로 PC에 고정 주소를 할당하는 편이 휴대폰의 프록시 호스트를 매번 수정하는 것보다 편리합니다. PC가 절전 모드에 들어가거나 덮개를 닫거나 클라이언트를 종료하면 공유 접속 지점도 작동을 멈출 수 있습니다.
방화벽 및 신뢰할 수 있는 네트워크 범위
allow-lan을 켜면 코어가 외부 연결을 받을 수 있지만 운영체제 방화벽은 여전히 연결을 차단할 수 있습니다. PC에서 프록시 수신 포트만 허용하고 방화벽 전체를 끄지 마세요. 라우터에서 7890을 공인 인터넷에 포트 포워딩해서도 안 됩니다.
Windows 인바운드 규칙
- ‘Windows 보안’ → ‘방화벽 및 네트워크 보호’ → ‘고급 설정’을 여세요.
- ‘인바운드 규칙’ → ‘새 규칙’ → ‘포트’를 선택하고 프로토콜은 TCP, 특정 로컬 포트는
7890으로 지정하세요. - ‘연결 허용’을 선택하고 신뢰할 수 있는 가정용 네트워크에서만 ‘개인’ 프로필을 선택하세요. 현재 네트워크가 실제로 개인 네트워크로 지정되어 있는지도 확인하세요.
- 규칙을 만든 뒤 ‘속성’ → ‘범위’를 열어 원격 IP를 휴대폰의 실제 IP 주소 또는 신뢰할 수 있는 서브넷(예:
192.168.50.0/24)으로 제한하세요.
위의 TCP 허용 설정은 이 문서의 HTTP 브라우징 테스트에 해당하며, 모든 SOCKS5 UDP 환경이 구성되었다는 뜻은 아닙니다. 사무실 네트워크, 공동 주택의 공유 네트워크, 게스트 Wi-Fi에서는 서브넷 전체를 허용하지 말고 접속 기기 범위를 더 좁히세요.
macOS 및 Linux에서 방화벽 허용
최신 macOS에서는 ‘시스템 설정’ → ‘네트워크’ → ‘방화벽’ → ‘옵션’에서 관련 클라이언트나 코어 프로세스의 수신 연결 허용 여부를 확인할 수 있습니다. macOS 버전에 따라 메뉴 경로가 조금 다를 수 있습니다. Linux에서 UFW를 사용한다면 예시 서브넷에 대한 규칙을 추가하고 기존 정책도 확인하세요.
sudo ufw allow from 192.168.50.0/24 to any port 7890 proto tcp
sudo ufw status numbered
휴대폰·태블릿·TV의 프록시 설정
iPhone 및 iPad
- ‘설정’ → ‘Wi-Fi’로 이동해 현재 연결된 Wi-Fi 오른쪽의 정보 버튼을 누르세요.
- ‘HTTP 프록시’에서 ‘프록시 구성’을 열고 ‘수동’을 선택하세요.
- 서버에는 PC의 실제 주소(예:
192.168.50.23)를 입력하고 포트에는7890을 입력하세요. 서버 입력란에 프로토콜 접두사를 넣지 마세요. - 이 문서의 예시에서는 수신 사용자 이름과 비밀번호를 설정하지 않았으므로 ‘인증’을 끄세요. 저장한 다음 브라우저에서 연결을 테스트하세요.
이 설정은 현재 Wi-Fi에만 적용되며 셀룰러 네트워크에는 자동으로 적용되지 않습니다. 다른 Wi-Fi로 바꾸면 해당 네트워크에서도 별도로 설정해야 합니다. 모든 앱이 시스템 HTTP 프록시 설정을 따르는 것은 아닙니다. 브라우저에서 사이트가 열린다고 해서 모든 앱의 트래픽이 PC를 경유한다고 볼 수는 없습니다.
Android 휴대폰 및 태블릿
일반적인 경로는 ‘설정’ → ‘네트워크 및 인터넷’ → ‘인터넷’ → 현재 Wi-Fi → 네트워크 수정 → ‘고급 옵션’ → ‘프록시’ → ‘수동’입니다. 제조사에 따라 네트워크를 길게 누르거나 네트워크 세부정보로 들어가야 할 수 있고, 메뉴 이름이 ‘WLAN’으로 표시되기도 합니다. 프록시 호스트 이름에는 192.168.50.23, 프록시 포트에는 7890을 입력하세요. 처음 문제를 확인할 때는 우회 목록을 비워 두세요.
Android의 Wi-Fi HTTP 프록시도 VpnService처럼 모든 트래픽을 처리하지는 않습니다. 게임, 실시간 통신 앱, 자체 네트워크 스택을 사용하는 앱은 이 설정을 따르지 않을 수 있습니다. 대상 앱이 HTTP 프록시를 지원하지 않는다면 PC 포트를 계속 바꾸기보다 휴대폰에 호환 클라이언트를 설치해 VPN 모드로 처리하는 방법이 적합할 수 있습니다.
TV 및 셋톱박스
일부 Android TV 기기에서는 ‘설정’ → ‘네트워크 및 인터넷’ → 현재 네트워크 → ‘프록시 설정’에서 수동 프록시를 선택할 수 있지만 메뉴는 제조사 펌웨어에 따라 다릅니다. 해당 옵션이 없다면 앱 자체에서 프록시를 설정할 수 있는지 확인하세요. 일반 HTTP 프록시로 TV의 모든 앱과 UDP 트래픽이 PC를 경유한다고 보장할 수는 없습니다. 필요하다면 기기에서 지원하는 클라이언트를 사용하거나 라우터 프록시 구성을 별도로 계획하세요.
연결 테스트 및 규칙 적용 확인
‘포트 연결 확인 → 프록시 요청 성공 확인 → 규칙에 따른 출구 확인’ 순서로 테스트하는 것이 좋습니다. 웹 페이지가 열리지 않는 원인은 로컬 네트워크 연결, 방화벽, 노드, 규칙 중 어느 단계에나 있을 수 있으므로 바로 구독 문제라고 단정하지 마세요.
다른 PC에서 확인
같은 로컬 네트워크에 Windows PC가 한 대 더 있다면 먼저 TCP 포트를 테스트한 다음 HTTP 프록시를 명시해 요청을 보내세요. 아래 명령은 예시 호스트 주소를 사용하며 대상 사이트는 HTTP 응답을 확인하기 위한 용도입니다.
Test-NetConnection 192.168.50.23 -Port 7890
curl.exe -I --connect-timeout 5 --max-time 20 --proxy http://192.168.50.23:7890 https://example.com/
TcpTestSucceeded: True는 TCP 연결이 성공했다는 뜻일 뿐, 노드나 규칙이 작동한다는 뜻은 아닙니다. 대상 사이트의 응답 헤더를 받아야 요청 경로가 대체로 정상이라고 판단할 수 있습니다. 포트에 연결할 수 없다면 주소, 수신 상태, 방화벽을 확인하세요. 포트 연결은 되지만 요청이 실패하면 코어 로그와 프록시 그룹 상태를 확인하세요.
SOCKS5 및 도메인 이름 확인
curl --head --connect-timeout 5 --max-time 20 --proxy socks5h://192.168.50.23:7890 https://example.com/
socks5h는 대상 도메인 이름을 프록시 측에서 확인하도록 지정합니다. 도구가 로컬에서 먼저 도메인을 조회할 수 있는 socks5와는 다릅니다. 이 테스트는 SOCKS5를 통한 TCP 요청만 확인하며 UDP 전달이 정상이라고 판단할 근거는 되지 않습니다.
테스트 중에는 클라이언트의 ‘연결’ 페이지도 열어 휴대폰의 출발지 IP, 대상 도메인, 적용된 규칙, 정책 경로를 확인하세요. 규칙 모드에서는 요청이 DIRECT로 처리될 수도 있고 프록시 그룹으로 전달될 수도 있습니다. 실제로 적용된 그룹에서 원하는 노드가 선택되었는지 확인해야 출구를 판단할 수 있습니다. 규칙 문제를 구분하기 위해 잠시 전역 모드로 바꿔 테스트할 수 있지만, 완료 후에는 평소 사용하는 모드로 되돌리세요.
일반적인 문제와 공유의 한계
| 증상 | 먼저 확인할 항목 | 해결 방법 |
|---|---|---|
| PC에서는 되지만 휴대폰 연결이 시간 초과됨 | 수신 주소, 방화벽, AP 격리 | 로컬 네트워크 주소와 TCP 7890 연결 확인 |
| PC를 다시 시작한 뒤 작동하지 않음 | DHCP 주소 변경, 코어 미실행 | 주소를 예약하고 시작 상태 확인 |
| 구독 업데이트 후 공유가 작동하지 않음 | 로컬 네트워크 설정 항목이 덮어써짐 | 클라이언트의 덮어쓰기 기능을 사용하고 실행 중인 설정 확인 |
| 브라우저는 되지만 게임은 안 됨 | 앱이 HTTP 프록시 설정을 따르는지 확인 | 앱의 프록시 지원 여부를 확인하거나 기기 자체 VPN 방식 사용 |
| 휴대폰 화면이 꺼진 뒤 연결이 끊김 | PC 절전 상태, Wi-Fi 연결 상태 | 프록시 호스트와 접속 기기를 각각 확인 |
PC에서 시스템 프록시나 TUN 모드를 켜야 하나요?
아니요. 코어가 실행 중이고 로컬 네트워크 주소에서 프록시 포트를 수신하고 있으면 휴대폰이 직접 연결할 수 있습니다. PC의 시스템 프록시는 해당 설정을 따르는 PC 프로그램에 주로 영향을 줍니다. PC의 TUN은 PC 자체 트래픽을 처리할 뿐 휴대폰의 모든 트래픽을 자동으로 처리하지 않습니다. 휴대폰에서 프록시를 직접 설정하거나 별도의 게이트웨이 및 라우팅 구성을 설계해야 합니다.
공유를 켠 뒤 외부 제어 포트를 열어야 하나요?
아니요. 프록시 접속 지점과 external-controller는 서로 다른 서비스입니다. 대시보드 제어 인터페이스를 휴대폰의 프록시 주소로 사용하지 말고, 프록시 공유를 위해 제어 인터페이스를 개방하지도 마세요. 일반적인 제어 포트와 이 문서의 혼합 프록시 포트 7890은 용도가 다릅니다.
공유 프록시에 비밀번호를 설정할 수 있나요?
해당 설정 항목을 지원하는 코어에서는 authentication을 구성해 HTTP 및 SOCKS 인바운드 인증을 사용할 수 있습니다. 다만 일부 기기와 앱은 프록시 인증을 제대로 지원하지 않을 수 있으므로 사용 전에 각각 확인해야 합니다. 인증은 추가 보호 수단일 뿐 방화벽의 접속 출처 제한을 대신할 수 없으며, 프록시 포트를 공인 인터넷에 노출해도 된다는 뜻은 아닙니다.
공유 종료 후 정리
- 휴대폰이나 태블릿에서 현재 Wi-Fi의 프록시 설정을 끄세요. 그렇지 않으면 PC가 오프라인이 된 뒤에도 기기가 프록시 응답을 기다릴 수 있습니다.
- 클라이언트에서 로컬 네트워크 공유를 끄고 더 이상 사용하지 않는 방화벽 인바운드 규칙을 삭제하세요.
- 클라이언트의 연결 목록에서 접속 출처를 확인해 익숙하지 않은 기기에 프록시 접속 지점을 장기간 개방하지 않도록 하세요.
안정적인 공유 설정에는 네 가지 조건이 모두 필요합니다. PC 프록시가 정상적으로 작동하고, 수신 설정이 로컬 네트워크 연결을 허용하며, 네트워크와 방화벽이 기기 간 통신을 허용하고, 최종 기기의 앱이 선택한 프록시 방식을 지원해야 합니다. 포트, 노드, 규칙을 한꺼번에 바꾸기보다 이 네 단계에 따라 확인하면 문제를 더 쉽게 찾을 수 있습니다.