고급 설정 예상 읽기 시간 12분

Clash LAN 프록시 공유: mixed-port 및 LAN 연결 허용 설정

mixed-port와 allow-lan의 역할을 알아보고, 같은 Wi-Fi의 TV·게임기·다른 컴퓨터가 이 PC의 Clash 프록시를 사용하도록 설정하는 방법과 방화벽·보안 주의사항을 안내합니다.

먼저 LAN 프록시 공유의 작동 방식 확인하기

LAN 프록시 공유는 Clash가 실행 중인 컴퓨터 한 대를 프록시 서버로 사용하는 방식입니다. TV, 스마트폰, 태블릿 또는 다른 컴퓨터는 기존 라우터에 계속 연결된 상태에서, 앱이 생성한 HTTP 또는 SOCKS 트래픽만 이 컴퓨터의 Clash 수신 포트로 보냅니다. Clash는 규칙에 따라 DIRECT, 프록시 노드 또는 다른 정책 그룹을 선택한 뒤 결과를 기기로 돌려보냅니다.

이 방식은 컴퓨터를 완전한 라우터로 바꾸는 것이 아니며, 같은 Wi-Fi에 연결된 모든 기기를 자동으로 제어하지도 않습니다. 연결할 기기는 프록시 서버를 직접 입력할 수 있어야 하며, 브라우저나 다운로드 도구처럼 앱별로 프록시를 설정해야 할 수도 있습니다. 일부 게임, 음성 통화, UDP 동영상 및 시스템 업데이트 서비스는 HTTP 프록시를 우회하므로 기기와 앱의 지원 여부를 먼저 확인해야 합니다.

항목 예시 값 설명
Clash 호스트 주소 192.168.1.23 연결 기기에서 접근할 수 있는 LAN IPv4 주소
mixed-port 7890 HTTP와 SOCKS5 프록시 연결을 동시에 수락
allow-lan true 다른 호스트의 Clash 수신 포트 연결 허용
bind-address * 사용 가능한 네트워크 인터페이스에서 연결 수신
클라이언트 프록시 주소 192.168.1.23:7890 TV, 스마트폰 또는 다른 컴퓨터에 입력

mixed-port, allow-lan 및 수신 주소의 역할

mixed-port로 HTTP와 SOCKS5 진입점 통합

mixed-port는 혼합 프록시 포트입니다. 하나의 TCP 포트에서 HTTP 프록시와 SOCKS5 프록시 요청을 모두 인식할 수 있습니다. 7890으로 설정하면 HTTP 프록시를 지원하는 TV는 192.168.1.23:7890에 연결할 수 있고, SOCKS5를 지원하는 데스크톱 프로그램도 같은 주소를 사용할 수 있습니다.

설정에 port: 7890, socks-port: 7891, mixed-port: 7890이 동시에 있으면 포트 중복 수신으로 시작에 실패할 수 있습니다. 일반적으로 mixed-port 하나면 충분합니다. 진입점을 분리해야 한다면 서로 다른 포트를 사용하세요. 예를 들어 HTTP는 7890, SOCKS5는 7891로 설정합니다.

allow-lan으로 LAN 연결 허용 여부 결정

allow-lan: true로 설정하면 다른 기기가 프록시 포트에 연결할 수 있습니다. false로 설정하면 이 컴퓨터의 앱은 루프백 주소로 Clash를 사용할 수 있지만, 192.168.x.x 또는 10.x.x.x 대역에서 들어오는 연결은 거부됩니다. 많은 그래픽 클라이언트에서는 이를 「LAN 연결 허용」, 「LAN 액세스」 또는 「Allow LAN」으로 표시합니다.

bind-address로 수신 인터페이스 제한

Clash Meta(mihomo) 설정에서는 bind-address로 수신 주소를 지정할 수 있습니다. *는 사용 가능한 인터페이스에서 수신한다는 의미로, 가정용 LAN 테스트에 적합합니다. 192.168.1.23을 지정하면 해당 주소에만 바인딩됩니다. DHCP로 호스트 주소가 바뀌면 고정된 바인딩 주소가 작동하지 않을 수 있으므로, 장기간 사용할 때는 라우터에서 이 컴퓨터에 DHCP 주소 예약을 설정하는 것이 좋습니다.

mixed-port: 7890
allow-lan: true
bind-address: "*"
mode: rule
log-level: info

클라이언트마다 설정 저장 위치는 조금씩 다릅니다. 일반적인 경로는 「설정」→「환경 설정」→「LAN 연결 허용」이며, 이어서 「혼합 포트」가 7890인지 확인합니다. 클라이언트에 「설정 덮어쓰기」 또는 「전역 확장 설정」이 있다면 구독 업데이트로 원격 설정에 덮어써지지 않도록 해당 필드를 덮어쓰기 계층에서 설정하세요. 변경 후에는 설정을 다시 불러오거나 코어를 재시작하고, 로그에 포트 수신 오류가 나타나는지 확인합니다.

호스트의 LAN 주소를 찾고 포트 확인하기

Windows에서 Wi-Fi 주소 확인

「설정」→「네트워크 및 인터넷」→「Wi-Fi」→「하드웨어 속성」을 열고 IPv4 주소를 찾습니다. PowerShell에서 다음 명령을 실행해도 됩니다:

ipconfig

현재 무선 네트워크 어댑터에서 192.168.1.23과 같은 IPv4 주소를 찾습니다. 가상 네트워크 어댑터, TUN 어댑터, Docker 어댑터 또는 169.254로 시작하는 자동 할당 주소는 선택하지 마세요. 이어서 PowerShell로 7890 포트가 수신 중인지 확인합니다:

Get-NetTCPConnection -LocalPort 7890 -State Listen

출력의 LocalAddress0.0.0.0 또는 호스트의 LAN 주소라면 해당 인터페이스에서 포트를 수신하고 있다는 뜻입니다. 127.0.0.1만 표시된다면 allow-lanbind-address를 다시 확인하세요.

macOS 및 Linux에서 주소 확인

macOS에서는 「시스템 설정」→「네트워크」→「Wi-Fi」→「세부사항」→「TCP/IP」를 열어 IPv4 주소를 확인합니다. 터미널에서 ipconfig getifaddr en0을 실행해도 됩니다. Wi-Fi 인터페이스가 en0이 아니라면 먼저 networksetup -listallhardwareports로 인터페이스 이름을 확인하세요.

Linux 데스크톱에서는 「설정」→「네트워크」→「Wi-Fi」→현재 연결에서 IPv4 주소를 확인할 수 있습니다. 터미널에서는 다음 명령을 실행합니다:

ip -4 address
ss -lntp | grep 7890

주소를 확인한 뒤 다른 기기에서 포트에 연결할 수 있는지 테스트합니다. Windows PowerShell에서는 Test-NetConnection 192.168.1.23 -Port 7890을 실행할 수 있습니다. macOS 또는 Linux에서는 nc -vz 192.168.1.23 7890을 실행합니다. TCP 테스트가 성공한 경우에만 프록시 규칙과 노드를 계속 확인하세요.

컴퓨터·스마트폰·TV·게임기에 프록시 입력하기

다른 Windows 또는 macOS 컴퓨터

Windows 11 경로는 「설정」→「네트워크 및 인터넷」→「프록시」→「수동 프록시 설정」→「설정」입니다. 서버에는 192.168.1.23, 포트에는 7890을 입력합니다. 저장한 뒤 먼저 브라우저로 테스트하고 대상 앱을 확인하세요. 이 설정은 시스템 HTTP 프록시이므로 모든 데스크톱 프로그램이 이를 읽는 것은 아닙니다.

macOS 경로는 「시스템 설정」→「네트워크」→「Wi-Fi」→「세부사항」→「프록시」입니다. 「웹 프록시(HTTP)」와 「보안 웹 프록시(HTTPS)」를 선택하고, 두 항목의 서버에 Clash 호스트 주소와 포트 7890을 입력합니다. 사용이 끝나면 선택을 해제하여 호스트가 오프라인일 때 네트워크 요청이 계속 대기하지 않도록 하세요.

Android 및 iPhone

Android의 일반적인 경로는 「설정」→「네트워크 및 인터넷」→「인터넷」→현재 Wi-Fi→편집→「고급 옵션」→「프록시」→「수동」입니다. 프록시 호스트 이름에는 192.168.1.23, 포트에는 7890을 입력합니다. 제조사마다 메뉴 이름은 조금 다르지만 설정은 보통 현재 Wi-Fi 네트워크에 저장됩니다.

iPhone 및 iPad의 경로는 「설정」→「Wi-Fi」→현재 네트워크 오른쪽의 정보 버튼→「프록시 구성」→「수동」입니다. 서버에는 호스트의 LAN 주소, 포트에는 7890을 입력합니다. HTTP 프록시는 주로 시스템 프록시 설정을 따르는 앱에 적용되며, 일부 앱은 자체적으로 연결을 만들어 이 경로를 사용하지 않습니다.

TV 및 스트리밍 기기

Android TV 또는 Google TV에서는 보통 「설정」→「네트워크 및 인터넷」→현재 Wi-Fi→「프록시 설정」에서 수동 설정을 선택할 수 있습니다. 서버 호스트 이름에는 192.168.1.23, 프록시 포트에는 7890을 입력합니다. TV 연결은 성공했지만 앱에서 여전히 지역 또는 네트워크 오류가 표시되면 Clash 로그에 해당 TV 주소의 요청이 기록되는지 확인하세요.

프록시는 앱이 실제로 프록시 포트로 보내는 트래픽만 처리합니다. TV의 DNS 탐색, 시간 동기화, LAN 화면 전송 및 일부 UDP 트래픽은 직접 연결될 수 있습니다. 화면 전송에 영향을 주지 않으려면 Clash 규칙에서 RFC1918 사설 주소와 LAN 도메인을 DIRECT로 유지하세요.

PlayStation, Nintendo Switch 및 Xbox

PlayStation 5에서는 「설정」→「네트워크」→「설정」→「인터넷 연결 설정」으로 이동한 뒤 현재 네트워크를 선택하고 「고급 설정」을 엽니다. 「프록시 서버」를 사용으로 변경한 후 호스트 주소와 7890 포트를 입력합니다. Nintendo Switch에서는 「설정」→「인터넷」→「인터넷 설정」→현재 네트워크→「설정 변경」→「프록시 설정」으로 이동합니다.

게임기의 프록시 설정은 보통 다운로드, 스토어 또는 일부 HTTP 요청에만 적용됩니다. 온라인 대전은 UDP를 많이 사용하며 NAT 유형 확인도 HTTP 프록시를 완전히 거치지 않습니다. Xbox 시스템에 일반적인 수동 HTTP 프록시 메뉴가 없다면 mixed-port만으로 전체 트래픽을 제어할 수 없습니다. 보조 라우터를 사용하거나 투명 프록시를 지원하는 기기를 게이트웨이로 지정해야 합니다.

신뢰할 수 있는 LAN만 허용하도록 방화벽 설정

Clash가 7890 포트에서 수신 중이라고 해서 운영체제 방화벽이 다른 기기의 접근을 허용하는 것은 아닙니다. 올바른 방법은 가정 또는 신뢰할 수 있는 네트워크 프로필에서만 TCP 7890을 열고, 허용할 출발지 대역을 제한하는 것입니다. 공항, 호텔 또는 학교의 공용 Wi-Fi에서 LAN 공유를 장기간 활성화하지 마세요.

Windows Defender 방화벽

「Windows 보안」→「방화벽 및 네트워크 보호」→「고급 설정」→「인바운드 규칙」→「새 규칙」으로 이동합니다. 「포트」를 선택하고 프로토콜은 TCP, 특정 로컬 포트에는 7890을 입력합니다. 작업은 연결 허용으로 설정하고 프로필은 「개인」만 선택합니다. 「범위」에서 원격 IP를 가정용 대역(예: 192.168.1.0/24)으로 제한하세요.

Windows가 현재 Wi-Fi를 공용 네트워크로 인식한다면 먼저 「설정」→「네트워크 및 인터넷」→「Wi-Fi」→현재 네트워크로 이동해 네트워크 프로필을 「개인 네트워크」로 변경합니다. 신뢰할 수 있는 가정용 네트워크에서만 이 작업을 수행해야 합니다.

Linux에서 UFW로 출발지 제한

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

집에서 192.168.50.0/24를 사용한다면 명령의 네트워크 대역도 그에 맞게 변경해야 합니다. macOS에서 ‘들어오는 연결을 허용하시겠습니까?’라는 메시지가 표시되면 현재 사용하는 Clash 클라이언트 또는 mihomo 코어인지 확인한 뒤 가정용 네트워크 연결을 허용하세요.

인증·규칙·DNS 보안 설정

여러 사람이 사용하는 네트워크에서는 프록시 진입점에 인증 추가

mihomo에서는 authentication을 사용해 HTTP 및 SOCKS 진입점에 사용자 이름과 비밀번호를 설정할 수 있습니다. 기숙사, 셰어하우스 또는 방문자가 많은 Wi-Fi에서는 인증을 활성화하고 클라이언트 프록시 설정에 해당 자격 증명을 입력하는 것이 좋습니다.

mixed-port: 7890
allow-lan: true
bind-address: "*"
authentication:
  - "lanuser:change-this-password"

인증 정보는 민감한 설정입니다. 공개 저장소에 커밋하거나 공유될 수 있는 구독 파일에 직접 입력하지 마세요. 일부 TV는 인증이 필요한 프록시를 지원하지 않습니다. 이런 경우에는 포트 접근 범위를 넓히기보다 방화벽으로 기기 IP를 제한하는 것이 우선입니다.

LAN 직접 연결 규칙 유지

프록시를 공유할 때도 프린터, NAS, 화면 전송 수신기 및 라우터 관리자 페이지는 계속 직접 연결되어야 합니다. 규칙은 위에서 아래 순서로 적용되므로 사설 네트워크 대역을 일반 프록시 규칙보다 앞에 배치하고 마지막에는 MATCH 기본 규칙을 남겨 두세요.

rules:
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - DOMAIN-SUFFIX,local,DIRECT
  - MATCH,PROXY

구독에서 제공하는 규칙 세트를 사용한다면 사설 주소 직접 연결 규칙이 포함되어 있는지 확인하세요. 클라이언트에 현재 표시되는 ‘규칙 모드’만 보지 말고 실제로 적용된 정책도 확인해야 합니다. Clash 연결 페이지 또는 실시간 로그에서 출발지 주소, 대상 도메인 및 정책 이름을 확인해 트래픽이 예상대로 처리되는지 판단하세요.

DNS 동작은 클라이언트 앱에 따라 달라짐

HTTP 프록시 요청에는 보통 대상 호스트 이름이 포함되므로 Clash가 프록시 측에서 도메인을 처리할 수 있습니다. 그러나 연결 기기가 자체적으로 DNS 조회를 수행할 수도 있습니다. SOCKS5에서 프록시 측이 이름을 해석하는지는 앱이 원격 해석을 사용하는지 로컬 해석을 사용하는지에 따라 달라집니다. 브라우저는 정상인데 특정 앱만 실패한다면 앱이 시스템 프록시를 따르는지, DNS를 사용할 수 있는지, UDP에 의존하는지를 각각 확인하세요.

연결 실패를 순서대로 점검하기

  1. 호스트가 온라인인지 확인합니다. Clash를 실행하는 컴퓨터가 절전 모드에 들어가면 안 되며, Wi-Fi를 전환한 뒤에는 LAN 주소를 다시 확인해야 합니다.
  2. 코어가 정상인지 확인합니다. 먼저 호스트 자체에서 127.0.0.1:7890으로 프록시를 테스트해 구독·노드·규칙 문제를 배제합니다.
  3. 수신 범위를 확인합니다. allow-lan: true인지 확인하고, 7890이 0.0.0.0, * 또는 올바른 LAN 주소에서 수신 중인지 확인합니다.
  4. 네트워크 계층 연결을 확인합니다. 두 기기는 서로 접근할 수 있는 동일 네트워크에 있어야 합니다. 라우터의 AP 격리나 게스트 네트워크 격리는 기기 간 연결을 차단합니다.
  5. 방화벽 규칙을 확인합니다. 방화벽을 잠시 끄는 것은 짧은 진단에만 적합합니다. 원인을 확인한 뒤에는 방화벽을 다시 켜고 제한된 네트워크 대역의 인바운드 규칙을 설정해야 합니다.
  6. 앱이 프록시를 사용하는지 확인합니다. Clash 로그에서 연결 기기의 IP를 필터링하세요. 기록이 전혀 없다면 문제는 보통 노드가 아니라 기기의 프록시 설정 또는 네트워크 격리에 있습니다.

curl이 설치된 다른 기기에서 다음 명령을 실행할 수 있습니다. 예상 결과는 Clash 호스트의 7890 포트에 연결되고 HTTP 응답 헤더가 반환되는 것입니다:

curl -I -x http://192.168.1.23:7890 https://www.gstatic.com/generate_204

Connection refused가 표시되면 보통 포트가 수신 중이 아니거나 allow-lan이 활성화되지 않은 경우입니다. 계속 시간 초과가 발생하면 먼저 방화벽, 게스트 네트워크 및 AP 격리를 확인하세요. 프록시 연결은 되었지만 대상 요청이 시간 초과된다면 Clash 로그, 노드 지연 시간 및 규칙 적용 결과를 확인합니다.

Clash 다운로드 플랫폼에 맞는 설치 패키지 선택