이 글이 다루는 상황

노트북이나 데스크톱에서 이미 Clash(Mihomo 코어)를 돌리고 있고, 같은 공유기·같은 Wi‑Fi에 붙어 있는 스마트폰, 태블릿, 스마트 TV까지 그 PC가 쓰는 프록시 노드와 규칙을 그대로 공유하고 싶을 때가 있습니다. 이 패턴이 바로 흔히 검색되는 Clash LAN 프록시 또는 「로컬 네트워크로 프록시 열어 주기」 시나리오입니다. 원격으로 다른 기기에 클라이언트를 새로 깔지 않고, 「Wi‑Fi 설정에 프록시 주소만 넣는」 방식으로 끝내고 싶은 분에게 맞는 글입니다.

그런데 설정을 켜도 휴대폰에서 페이지가 열리지 않거나, PC 브라우저는 되는데 모바일만 안 되는 경우가 많습니다. 대부분은 구독 URL이나 노드 품질 이전에 ① Clash가 LAN이 아닌 루프백만 듣고 있는지, ② 실제 리슨 포트가 7890 등으로 열려 있는지, ③ 운영체제 방화벽이 인바운드를 막고 있는지, ④ 휴대폰에 넣은 IP·포트가 PC의 현재 LAN 주소와 일치하는지 네 가지 중 하나에서 걸립니다. 아래에서는 이 순서대로 짚어 allow-lan, 7890 같은 대표 포트, mixed-port, 그리고 방화벽 예외까지 한 흐름으로 묶었습니다.

전제: 같은 L2 네트워크인지 먼저 확인

휴대폰과 PC가 서로의 IP로 ping이나 포트 접속이 가능해야 LAN 프록시가 성립합니다. 게스트 Wi‑Fi, 「기기 간 연결 차단」이 켜진 공유기, 일부 사무실 AP의 클라이언트 격리(AP isolation) 모드에서는 같은 SSID라도 서로를 볼 수 없어 PC의 프록시 포트에 닿지 못합니다. 증상이 「Wi‑Fi에는 붙는데 PC IP:7890만 타임아웃」일 때는 먼저 공유기 설정에서 격리 옵션을 끄거나, 격리가 없는 메인 SSID로 옮겨 테스트해 보세요.

또한 PC가 유선이고 휴대폰만 무선이어도, 대부분 가정용 라우터에서는 같은 서브넷으로 묶이므로 문제없는 경우가 많습니다. 반면 PC가 VPN이나 다른 터널만 쓰는 가상 어댑터에만 IP가 있으면, 휴대폰이 찾아야 할 주소가 달라질 수 있으니 실제로 LAN에 올라와 있는 IPv4 주소를 다시 확인해야 합니다. Clash 쪽 기본 준비는 구독 가져오기 가이드와 맞춰 두면 이후 포트만 열면 됩니다.

Clash에서 LAN 허용: allow-lan과 바인드 주소

기본적으로 많은 구성에서 HTTP·SOCKS 포트는 127.0.0.1에만 바인딩되어 있어, 외부 기기에서 PC의 LAN IP로 접속해도 연결되지 않습니다. 같은 Wi‑Fi의 다른 장치가 접근하려면 코어가 모든 인터페이스에서 듣도록 바꿔야 합니다. 설정 파일에서는 보통 다음과 같은 형태를 씁니다.

allow-lan: true
bind-address: '*'
# or: bind-address: 0.0.0.0

GUI 클라이언트(Clash Verge Rev, FlClash 등)에는 「LAN 허용」「Allow LAN」과 같은 토글이 있어, 이를 켜면 위와 동등한 값이 들어가는 경우가 많습니다. 적용 후에는 반드시 설정을 저장하고 코어를 한 번 재시작한 뒤, PC 자체에서 127.0.0.1:포트가 아니라 본인 LAN IP:포트로 접속 테스트를 해 보세요. 여기서 LAN IP는 Windows의 ipconfig, macOS의 네트워크 설정 등에서 확인할 수 있습니다.

⚠️
보안: allow-lan을 켜면 같은 네트워크에 있는 다른 사람도 프록시 포트에 접속할 수 있습니다. 신뢰할 수 있는 가정·사무 Wi‑Fi에서만 쓰고, 공용 핫스팟에서는 끄는 것이 안전합니다. 가능하면 공유기에서 기기별 고정 IP를 쓰고, 불필요할 때는 LAN 허용을 해제하세요.

어떤 포트를 넣을까: 7890, SOCKS, mixed-port

Mihomo/Clash Meta 계열에서 자주 보이는 기본값으로, HTTP 프록시7890, SOCKS7891처럼 나란히 잡혀 있는 구성이 흔합니다. 다만 사용자가 YAML에서 바꿨거나 클라이언트가 mixed-port 하나로 HTTP와 SOCKS를 같이 받도록 합쳐 둔 경우도 많습니다. 휴대폰 Wi‑Fi 설정에 넣을 때는 클라이언트의 「포트」 화면에 표시된 숫자를 그대로 따라가는 것이 가장 안전합니다.

iOS·Android의 수동 프록시는 대개 HTTP/HTTPS 또는 PAC를 가정하므로, HTTP 포트 또는 mixed가 HTTP를 받는 포트인지 확인하세요. SOCKS만 열려 있고 HTTP가 없다면, 일부 앱은 시스템 프록시를 타지 못합니다. 반대로 앱이 SOCKS5를 지원한다면 SOCKS 포트를 넣는 방법도 있습니다. 혼란을 줄이려면 한 포트로 정리된 mixed-port 값을 UI에서 확인해 그 번호를 모바일에 적는 방식을 추천합니다.

Windows: 방화벽에서 인바운드 허용

allow-lan과 포트가 맞아도 Windows Defender 방화벽이 Clash 실행 파일이나 해당 포트의 인바운드 연결을 차단하면 외부 기기에서는 여전히 실패합니다. 제어판 또는 설정 앱에서 「Windows Defender 방화벽 → 고급 설정 → 인바운드 규칙」으로 들어가, TCP 대상으로 실제 리슨 중인 포트(예: 7890, 또는 mixed 포트)를 허용하는 규칙을 추가합니다. 규칙 범위를 「프라이빗」 네트워크로 한정하면 공용 프로필에서의 노출을 줄일 수 있습니다.

제3자 보안 제품이 방화벽 역할을 대신하고 있다면 Windows 기본 규칙만으로는 부족할 수 있으니, 해당 제품에서도 Clash 또는 사용 포트에 대한 허용 항목을 만들어야 합니다. 규칙을 추가한 뒤에는 PC 방화벽을 잠시 끄고 테스트해 보았을 때만 모바일이 연결된다면, 원인이 방화벽 쪽으로 거의 확정됩니다. 같은 PC에서 Windows 11 시스템 프록시 글과 함께 읽으면 로컬 루프백(UWP) 문제와 LAN 공유 문제를 구분하기 쉽습니다.

macOS: 방화벽과 「들어오는 연결」

맥에서도 방화벽이 켜져 있으면 인바운드가 막힐 수 있습니다. 시스템 설정의 방화벽 옵션에서 Clash 관련 앱에 대한 연결 허용을 확인하거나, 필요 시 해당 포트에 대한 규칙을 추가합니다. 또한 Little Snitch 등 애플리케이션 방화벽을 쓰는 경우 OS 방화벽과 별도로 규칙이 필요합니다. iPhone이 같은 iCloud 계열이라도 Wi‑Fi 프록시는 PC의 LAN 주소를 가리키므로, 맥의 무선 LAN IP가 유효한지 매번 확인하는 습관이 좋습니다.

스마트폰·태블릿: Wi‑Fi에 프록시 주소 넣기

Android에서는 해당 Wi‑Fi 네트워크를 길게 눌러 수정 → 프록시를 「수동」으로 바꾼 뒤, 호스트명에 PC의 LAN IP(예: 192.168.0.23), 포트에 Clash가 표시한 HTTP 또는 mixed 포트를 입력합니다. iOS/iPadOS는 Wi‑Fi 정보에서 「프록시 구성」을 수동으로 설정합니다. 저장 후 브라우저로 IP 확인 사이트를 열어, 기대한 노드 경로로 나가는지 확인하세요.

일부 스트리밍 앱이나 금융 앱은 시스템 프록시를 무시합니다. 그런 앱까지 동일하게 묶으려면 PC 쪽에서 TUN 모드로 전체 트래픽을 가로채는 방식을 검토해야 하는데, 이는 「Wi‑Fi에 프록시만 적는」 LAN 공유와는 다른 난이도와 권한을 요구합니다. 본문의 Clash LAN 프록시 범위는 주로 브라우저와 시스템 프록시를 따르는 앱에 해당합니다.

DNS는 어디로 보낼까

HTTP 프록시만 지정하고 DNS는 여전히 로컬 ISP로 나가면, 일부 사이트에서 기대와 다른 경로로 보이거나 누수처럼 느껴질 수 있습니다. Clash 쪽에서 DNS 스니핑·fake-ip 등을 쓰고 있다면, 모바일에서도 동일한 효과를 기대하려면 클라이언트의 DNS 설정과 규칙을 맞춰야 합니다. 세부 절차는 Fake-IP·DNS 가이드를 참고하고, LAN 공유 시에는 「프록시 서버까지 도달하는지」를 먼저 해결한 뒤 DNS를 손보는 편이 디버깅이 쉽습니다.

여전히 안 될 때 점검 목록

  • PC와 휴대폰의 IP 대역이 같은지, 게스트/격리 SSID는 아닌지
  • Clash 로그에 외부 IP에서의 인바운드 시도가 찍히는지, 아니면 방화벽에서 먼저 끊기는지
  • 포트 번호를 7890으로 가정했지만 실제로는 mixed나 다른 값으로 바뀌었는지
  • PC 방화벽뿐 아니라 공유기 자체의 방화벽·부모 제어가 포트를 막지 않는지
  • VPN 다른 앱이 같은 포트를 점유하거나 라우팅을 바꾸지 않는지

이 중에서도 방화벽AP 격리가 현장에서 가장 자주 원인으로 꼽힙니다. allow-lan을 켰는데도 netstat 또는 클라이언트 표시상 리슨 주소가 127.0.0.1에만 남아 있다면 바인드 설정이 아직 반영되지 않은 것이므로, YAML 저장·재시작·GUI 동기화를 다시 확인하세요.

팁: 모바일에서 접속이 안 될 때 PC에서 먼저 curl -x http://LAN_IP:포트 https://www.google.com처럼 루프백이 아닌 LAN IP로 자기 자신에게 프록시를 걸어 테스트하면, Clash 리슨과 방화벽 중 어디서 막히는지 빠르게 가릅니다.

맺음말

같은 Wi‑Fi에서 휴대폰과 PC가 한 노드를 쓰게 만드는 핵심은, Clash가 로컬 루프백이 아니라 LAN에서 요청을 받도록 allow-lan과 바인드를 열고, 7890 등 실제 포트에 맞춰 모바일 Wi‑Fi 프록시를 적으며, 방화벽이 그 포트의 인바운드를 허용하는지 확인하는 일련의 과정입니다. mixed-port를 쓰는 구성이라면 표시된 단일 포트만 일치시키면 되어 설정 실수가 줄어듭니다.

Clash 계열 클라이언트는 포트·로그·규칙을 한 화면에서 다루기 쉬워, LAN 공유를 켰다 껐다 실험하기에도 편합니다. 설치 패키지와 최신 빌드는 Clash 공식 다운로드 페이지에서 받을 수 있습니다. → Clash를 무료로 내려받아 PC에서 프록시를 연 뒤, 위 순서대로 LAN과 방화벽만 맞춰 보시면 같은 무선 환경의 여러 기기를 한 설정으로 묶는 데 도움이 됩니다.