먼저 공유 범위를 확인하세요: PC가 프록시 접속 지점을 제공하고 다른 기기가 연결합니다

Clash LAN 공유는 보통 PC에서 프록시 포트를 열고, 휴대폰·태블릿·TV의 프록시 서버 주소에 PC의 LAN IP를 입력하는 방식으로 설정합니다. 연결된 기기의 트래픽은 PC에서 기존 구독, 프록시 그룹, 규칙에 따라 처리됩니다. 휴대폰에 PC의 노드 설정을 복사할 필요는 없지만, PC 전원이 켜져 있고 네트워크에 연결된 상태에서 Clash 코어가 실행 중이어야 합니다.

이 설정만으로 PC가 라우터로 바뀌는 것은 아닙니다. allow-lan을 켜도 같은 Wi-Fi에 연결된 모든 기기의 트래픽이 자동으로 PC를 거치지는 않습니다. 다른 기기에서 프록시를 직접 지정하거나 별도로 구성한 게이트웨이에서 트래픽을 전달해야 합니다. 이 글에서는 명시적 HTTP/SOCKS5 프록시만 다루며, 보조 라우터·라우터 투명 프록시·포트 포워딩은 다루지 않습니다.

  • PC: 현재 설정으로 PC에서 대상 웹사이트에 접속할 수 있는지 먼저 확인하세요. 노드 문제를 공유 설정 문제로 오인하지 않도록 합니다.
  • 네트워크: PC와 연결할 기기 사이에 직접 통신이 허용되어야 합니다. 같은 라우터에 연결된 유선·무선 기기는 대체로 서로 통신할 수 있지만, 게스트 네트워크에서는 기기 간 통신이 차단될 수 있습니다.
  • 예시 주소: 아래에서는 PC의 IPv4 주소를 192.168.1.20, 혼합 포트를 7890으로 가정합니다. 실제 설정에는 사용 중인 주소와 포트를 입력하세요.

mixed-port, allow-lan, bind-address의 기능

항목예시 값기능
mixed-port7890하나의 포트에서 HTTP와 SOCKS5 프록시 요청을 모두 받습니다.
allow-lantrueLAN 기기가 프록시 접속 지점에 연결하도록 허용합니다.
bind-address"*"수신 대기 주소를 지정합니다. 별표는 모든 주소를 의미하며, LAN 접속 허용 설정과 함께 사용해야 합니다.
moderule규칙 모드로 전환해 현재 실행 중인 설정의 규칙에 따라 연결을 처리합니다.

포트가 같아도 프로토콜까지 같은 것은 아닙니다

mixed-port는 들어오는 요청을 인식해 프로토콜에 맞게 처리합니다. 휴대폰 Wi-Fi 설정의 ‘HTTP 프록시’에 7890을 입력할 수 있고, SOCKS5를 지원하는 앱도 같은 포트에 연결할 수 있습니다. HTTPS 웹사이트는 보통 HTTP 프록시의 CONNECT 터널로 통신하므로 HTTPS 페이지를 열기 위해 별도의 ‘HTTPS 포트’를 만들거나 인증서를 설치할 필요가 없습니다.

port는 HTTP 프록시용이고 socks-port는 SOCKS 프록시용입니다. 혼합 포트를 사용할 때는 다른 수신 대기 항목이 같은 주소와 포트를 점유하지 않도록 하세요. PC의 다른 프로그램이 이미 7890을 사용 중이라면 먼저 어떤 프로그램인지 확인하고, 비어 있는 포트를 선택해 연결 기기 설정도 함께 변경하세요.

수신 대기 주소와 방화벽 허용 범위를 함께 확인하세요

127.0.0.1은 루프백 주소로, PC에서만 사용할 수 있습니다. 휴대폰이 PC와 같은 Wi-Fi에 연결되어 있어도 PC의 루프백 주소로 열린 프록시에 접속할 수는 없습니다. bind-address: "*"는 처음 테스트할 때 편리하지만 유선·무선 및 다른 네트워크 인터페이스까지 열릴 수 있습니다. 계속 사용할 때는 고정된 LAN 주소에 바인딩하고 방화벽으로 접속 출처를 제한하는 편이 좋습니다.

공유 접속 지점을 설정하고 클라이언트에 실제로 적용된 값을 확인하세요

현재 정상 작동하는 설정을 먼저 백업하세요. 아래 내용은 기존 설정의 최상위 항목에 합쳐 넣는 조각이며, 노드가 포함된 전체 구독 설정이 아닙니다. 기존 proxies, proxy-providers, proxy-groups, rules 항목은 유지하고, 이 몇 줄로 파일 전체를 덮어쓰지 마세요.

mixed-port: 7890
allow-lan: true
bind-address: "*"
mode: rule
log-level: info
  1. 클라이언트 설정에서 ‘혼합 포트’와 ‘LAN 연결 허용’이 실제로 켜져 있는지 확인하세요. 클라이언트마다 메뉴 이름은 조금씩 다를 수 있습니다.
  2. 클라이언트에서 설정 덮어쓰기, 병합 또는 패치 기능을 지원한다면 이를 이용해 공유 설정을 저장하세요. 구독으로 생성된 파일을 직접 수정하면 다음 구독 업데이트 때 변경 내용이 사라질 수 있습니다.
  3. 설정을 저장한 뒤 다시 불러오고, 필요하면 코어를 재시작하세요. 로그에서 YAML 구문 오류나 포트 충돌 오류가 없는지 확인합니다.
  4. 적용된 설정이나 수신 대기 상태를 다시 확인하세요. GUI에서 YAML의 포트와 스위치 설정을 덮어쓸 수 있으므로 코어에서 실제로 적용된 값을 기준으로 판단합니다.

YAML 최상위 항목에는 불필요한 들여쓰기를 하지 말고, 같은 항목을 중복 선언하지 마세요. 별표는 따옴표 안에 넣어야 합니다. 따옴표 없는 *는 YAML에서 특수한 의미가 있어 파싱 오류가 발생할 수 있습니다. 유선 네트워크 주소만 지정하려면 bind-address: "192.168.1.20"으로 바꿀 수 있지만, PC 주소가 바뀌면 설정도 수정해야 합니다.

PC IP 확인 및 네트워크 범위에 맞춘 방화벽 허용

Windows: IP 주소와 TCP 수신 대기 확인

Windows 11에서는 ‘설정’ → ‘네트워크 및 인터넷’ → 현재 연결된 ‘Wi-Fi’ 또는 ‘이더넷’의 속성에서 IPv4 주소를 확인할 수 있습니다. 터미널에서 ipconfig를 실행해도 됩니다. 라우터에 연결된 실제 네트워크 어댑터의 주소를 사용하세요. TUN 가상 어댑터, VPN 또는 다른 가상 어댑터의 주소를 사용하면 안 됩니다.

ipconfig
Get-NetTCPConnection -State Listen -LocalPort 7890

두 번째 명령은 PowerShell에서 실행합니다. LocalAddress가 127.0.0.1뿐이면 아직 PC 내부에서만 수신 대기 중입니다. 0.0.0.0은 일반적으로 모든 IPv4 인터페이스를 의미하며, 192.168.1.20이면 지정한 주소에서만 수신 대기 중입니다. 결과가 없다면 코어가 실행 중인지, 실제 포트가 7890인지 먼저 확인하세요.

현재 연결된 네트워크가 신뢰할 수 있는 네트워크인지 확인한 뒤 ‘Windows 보안’ → ‘방화벽 및 네트워크 보호’ → ‘고급 설정’ → ‘인바운드 규칙’에서 TCP 포트 규칙을 만들 수 있습니다. 다음은 관리자 권한 PowerShell에서 실행하는 동일한 설정의 예시입니다. 프라이빗 네트워크의 192.168.1.0/24에서 오는 연결만 허용합니다. 집에서 사용하는 서브넷이 다르면 먼저 수정하세요.

New-NetFirewallRule -DisplayName "Clash LAN TCP 7890" `
  -Direction Inbound -Action Allow -Protocol TCP `
  -LocalPort 7890 -RemoteAddress 192.168.1.0/24 `
  -Profile Private

이 규칙은 이 글의 HTTP 프록시 연결 테스트용이며 UDP 공유 설정이 아닙니다. 공유를 중단한 뒤에는 다음 명령으로 규칙을 삭제해 접속 지점이 계속 열려 있지 않도록 하세요.

Remove-NetFirewallRule -DisplayName "Clash LAN TCP 7890"

macOS 및 Linux: 해당 코어 프로세스 확인

macOS에서는 ‘시스템 설정’ → ‘네트워크’ → 현재 연결 → ‘세부사항’ → ‘TCP/IP’에서 IP 주소를 확인할 수 있습니다. ‘네트워크’ → ‘방화벽’ → ‘옵션’에서 클라이언트나 코어 프로그램이 차단되지 않았는지도 확인하세요. 시스템 버전에 따라 버튼 위치가 다를 수 있습니다. 클라이언트를 업그레이드하며 코어 프로그램이 바뀌었다면 권한을 다시 확인하세요.

Linux에서는 ip -4 addr로 주소를 확인하고 ss -lntp로 수신 대기 상태를 확인할 수 있습니다. UFW를 사용 중이고 실제 가정용 서브넷이 192.168.1.0/24라면 다음과 같이 출처를 제한하는 규칙을 추가할 수 있습니다. 원격 접속에 미칠 영향을 모르는 상태에서 이 규칙 하나 때문에 방화벽을 무작정 활성화하거나 초기화하지 마세요.

sudo ufw allow from 192.168.1.0/24 to any port 7890 proto tcp

휴대폰·TV에 프록시 주소 입력: 서버는 라우터가 아니라 PC입니다

iPhone 및 iPad

  1. ‘설정’ → ‘Wi-Fi’로 이동한 다음, 현재 연결된 Wi-Fi 오른쪽의 정보 버튼을 누릅니다.
  2. ‘프록시 구성’을 찾아 ‘수동’을 선택합니다.
  3. ‘서버’에는 PC 주소 192.168.1.20을, ‘포트’에는 7890을 입력합니다.
  4. PC에서 프록시 인증을 설정하지 않았다면 ‘인증’은 끈 상태로 두세요. 저장한 뒤 Safari에서 새 페이지를 열어 테스트합니다.

이 설정은 현재 Wi-Fi에만 적용되며 셀룰러 데이터에는 자동으로 적용되지 않습니다. 서버 주소에 휴대폰 IP, 라우터 게이트웨이 또는 127.0.0.1을 입력하지 말고, 서버 입력란 앞에 http://도 붙이지 마세요. 프록시 접속에 인증이 필요하다면 해당 사용자 이름과 비밀번호를 입력해야 합니다. 일부 앱은 프록시 인증을 완전히 지원하지 않을 수 있으므로 앱별로 확인하세요.

Android 휴대폰

시스템 WLAN 설정에서 현재 네트워크를 수정하고 ‘고급 옵션’ 또는 ‘프록시’를 찾아 ‘수동’을 선택합니다. 호스트 이름에 192.168.1.20, 포트에 7890을 입력하세요. Pixel 시리즈에서 흔히 볼 수 있는 경로는 ‘설정’ → ‘네트워크 및 인터넷’ → ‘인터넷’ → 현재 네트워크 설정 → 수정 → ‘고급 옵션’ → ‘프록시’입니다. 다른 제조사의 경우 실제 네트워크 수정 화면을 확인하세요.

‘프록시 사용 안 함’ 주소는 기기에서 우회할 주소 목록으로, Clash의 rules와는 별개입니다. 처음 테스트할 때는 기본값을 그대로 두고, 의미가 불분명한 와일드카드 규칙은 입력하지 마세요. Android Wi-Fi의 수동 프록시는 시스템 HTTP 프록시를 사용하는 앱을 대상으로 합니다. 게임, 동영상 앱, 백그라운드 서비스도 모두 프록시를 사용한다고 단정할 수 없습니다.

TV 및 TV 박스

TV에서 ‘설정’ → ‘네트워크’로 이동해 현재 연결을 열고 ‘프록시 설정’이나 네트워크 수정 메뉴를 찾습니다. 수동 HTTP 프록시를 지원한다면 PC IP와 7890을 입력하세요. 일부 TV는 Wi-Fi 수정 화면에만 프록시 항목이 있고 유선 네트워크는 지원하지 않을 수 있습니다. 프록시 메뉴를 찾으려고 임의로 고정 IP를 설정하지 마세요. 게이트웨이나 DNS를 잘못 입력할 수 있습니다.

TV에 프록시 설정 메뉴가 없다면 대상 앱에 HTTP/SOCKS5 설정이 있는지, 호환되는 독립형 클라이언트를 설치할 수 있는지 확인하세요. TV의 DNS를 PC 주소로 바꿔도 프록시 설정을 대신할 수 없습니다. 이 글에서는 LAN 기기용 DNS 서버도 활성화하지 않습니다.

수신 대기·네트워크·규칙의 세 단계로 공유 상태 확인

먼저 프록시가 필요한 HTTPS 사이트를 휴대폰 브라우저에서 열고, PC 클라이언트의 연결 목록이나 로그를 함께 확인하는 것이 좋습니다. 휴대폰 상태 표시줄에 아이콘이 있는지만 보지 말고 요청이 코어에 도달했는지, 대상 도메인이 올바른지, 어떤 규칙이 적용되었는지, 최종적으로 어디로 연결되었는지를 확인하세요.

  1. 먼저 포트에 연결할 수 있는지 확인: 다른 Windows PC가 있다면 Test-NetConnection 192.168.1.20 -Port 7890을 실행하세요. TcpTestSucceeded: True는 TCP 접속 지점에 도달했다는 뜻일 뿐, 노드와 규칙이 정상이라는 의미는 아닙니다.
  2. 그다음 프록시 요청 확인: curl이 설치된 다른 PC에서 아래 명령을 실행해 프록시를 명시적으로 지정하세요. 앱이 시스템 프록시 설정을 무시하는 경우를 배제할 수 있습니다.
  3. 마지막으로 실제 앱 확인: 브라우저가 정상 작동하면 TV 앱, LAN 화면 미러링 등 다른 기능도 각각 테스트하세요. 웹페이지 테스트 결과만으로 ‘모든 트래픽이 프록시를 거친다’고 판단하지 마세요.
curl --proxy http://192.168.1.20:7890 --connect-timeout 5 --max-time 20 -I https://example.com/

여기서 5초는 연결 단계의 최대 대기 시간이고, 20초는 요청 전체의 최대 시간입니다. 지연 시간을 측정한 값이 아닙니다. 연결 목록에서 요청에 DIRECT가 적용되더라도 PC의 프록시 접속 지점을 거쳤을 수 있습니다. 이후 PC에서 대상에 직접 연결했다는 뜻이므로 규칙과 연결 경로를 함께 확인하세요.

증상우선 확인할 항목다음 단계
포트 연결 시간 초과방화벽, 게스트 네트워크, AP 격리, PC 주소기기 간 통신이 가능한지 확인하고 인바운드 규칙이 적용되는 네트워크 프로필을 점검하세요.
연결 거부포트 수신 대기 여부, 코어 종료 여부, 주소 바인딩 오류수신 대기 상태를 확인하고 실제 혼합 포트를 확인하세요.
HTTP 407 응답프록시에서 인증을 요구함기기가 인증을 지원하는지 확인하고 유효한 계정 정보를 입력하세요.
요청은 로그에 표시되지만 실패노드, 규칙, PC의 DNS 또는 상위 연결같은 대상에 PC에서 직접 접속한 결과와 비교하세요.
브라우저는 정상인데 TV 앱은 실패앱이 HTTP 프록시를 사용하지 않거나 UDP가 필요한 기능앱의 프록시 지원 여부를 확인하고 필요하면 기기에 맞는 다른 방법을 사용하세요.

ping이 실패해도 시스템에서 ICMP 응답을 차단할 수 있으므로 프록시 접속이 불가능하다고 단정할 수 없습니다. 반대로 ping이 성공해도 일부 네트워크 연결만 확인된 것이므로 7890의 TCP 접속도 테스트해야 합니다. PC에서도 같은 사이트가 열리지 않는다면 휴대폰 포트를 계속 바꾸지 말고 설정이나 상위 노드부터 점검하세요.

TUN, DNS, UDP: 프록시 공유의 한계

PC에서 TUN을 켜도 휴대폰 트래픽이 자동으로 들어오지는 않습니다

TUN은 주로 PC의 가상 네트워크 인터페이스로 들어오는 트래픽을 처리합니다. PC 클라이언트에서 TUN을 켜도 같은 네트워크의 휴대폰에 프록시가 자동으로 배포되거나, 일반 PC가 다른 기기의 기본 게이트웨이가 되지는 않습니다. 이 글에서 다루는 명시적 프록시 설정에는 보통 TUN이 필요하지 않습니다. PC의 시스템 프록시 스위치도 LAN 공유 스위치와 다르므로, 핵심은 수신 대기 접속 지점과 기기별 프록시 설정입니다.

HTTP 프록시가 모든 프로토콜을 처리하는 것은 아닙니다

일반 HTTP 프록시와 HTTPS CONNECT는 주로 TCP 연결을 처리하며, 게임의 UDP, QUIC, 화면 미러링 검색, LAN 브로드캐스트까지 모두 전달한다고 보장할 수 없습니다. SOCKS5 프로토콜에 UDP 릴레이 기능이 있더라도 실제 사용 가능 여부는 앱, 코어, 노드, 방화벽에 따라 달라집니다. 휴대폰 Wi-Fi 설정에 HTTP 프록시를 입력한다고 SOCKS5 UDP 기능까지 자동으로 사용할 수 있는 것은 아닙니다.

DNS가 처리되는 위치는 요청 방식에 따라 다릅니다

HTTP 프록시는 보통 대상 호스트 이름을 전달받고, PC에서 현재 설정에 따라 이름을 확인하고 연결합니다. 하지만 앱이 먼저 도메인을 확인하거나 시스템 프록시를 무시할 수도 있습니다. SOCKS5에서 도메인 이름을 프록시에 전달해 이름을 확인하는지도 앱의 요청 방식에 따라 다릅니다. 따라서 ‘Wi-Fi 프록시를 설정했으니 모든 기기 DNS 요청이 Clash에서 처리된다’고 보장할 수는 없습니다.

일상적인 사용: IP 고정, 절전 방지, 네트워크를 떠나기 전 공유 해제

  • PC 주소 고정: 가능하면 라우터의 DHCP 설정에서 PC에 주소를 예약해 재연결 후 192.168.1.20 대신 다른 IP를 받지 않도록 하세요. 직접 고정 IP를 설정할 때는 서브넷, 게이트웨이, 주소 충돌을 확인해야 합니다.
  • 전원 상태 확인: 노트북 덮개를 닫거나 절전 모드로 전환하면 프록시 연결이 끊기는 경우가 많습니다. 공유를 계속해야 한다면 시스템 전원 설정을 조정하되 통풍과 전력 사용에 유의하세요.
  • 접속 범위 제한: 기존 방화벽에 더 넓은 범위의 앱 허용 규칙이 이미 있는지 확인하세요. 출처를 제한하는 새 규칙을 추가해도 기존 규칙까지 자동으로 제한되지는 않습니다. 네트워크 어댑터가 여러 개인 기기는 특히 주의해서 확인하세요.
  • 사용을 마치면 기기 설정 복구: 공유를 끄기 전에 휴대폰이나 TV의 프록시를 ‘끔’ 또는 ‘없음’으로 바꾸세요. 그렇지 않으면 기기가 오프라인 상태인 PC로 계속 요청을 보낼 수 있습니다.

전체 문제 해결 순서는 네 단계로 정리할 수 있습니다. PC에서 먼저 접속이 되는지 확인하고, 혼합 포트가 LAN에서 수신 대기하는지 확인한 다음, 기기에서 방화벽을 통과해 해당 포트에 연결할 수 있는지 확인하세요. 마지막으로 앱 요청에 적용된 규칙과 연결 경로를 살펴봅니다. 이 순서대로 확인하면 구독을 반복해서 가져오거나 여러 네트워크 스위치를 한꺼번에 켜는 것보다 문제를 쉽게 찾을 수 있습니다.