혼합 포트 7890과 LAN 연결 허용 설정: 휴대폰·TV에서 PC 프록시 함께 쓰기
mixed-port와 HTTP/SOCKS 포트의 차이부터 LAN 연결 설정, 휴대폰·TV·게임 콘솔의 프록시 주소 입력, 방화벽 허용 방법까지 알아봅니다.
휴대폰과 TV에서 PC 프록시를 함께 쓰려면 세 가지 조건이 필요합니다. PC의 프록시 포트가 LAN 연결을 허용해야 하고, 방화벽에서 대상 기기의 접속을 허용해야 하며, 대상 기기에 PC의 LAN 주소를 입력해야 합니다. PC에서 ‘시스템 프록시’만 켜도 같은 Wi-Fi에 연결된 다른 기기의 네트워크 경로가 자동으로 바뀌지는 않습니다.
이 문서에서는 PC 주소 192.168.1.20, 혼합 포트 7890을 예로 듭니다. 예시 주소는 설정 방법을 설명하기 위한 것이며 실제 측정 결과가 아닙니다. 실제로는 PC에서 현재 사용 중인 LAN IPv4 주소를 입력하세요. 클라이언트가 mihomo 커널을 사용한다면 아래 설정 항목을 참고할 수 있습니다. ClashX 등 클라이언트의 메뉴 이름과 지원 기능은 버전에 따라 다릅니다.
1. mixed-port 7890으로 연결하기
mixed-port는 HTTP와 SOCKS 프록시가 함께 사용하는 리스닝 포트입니다. 클라이언트가 연결 내용에 따라 프록시 프로토콜을 구분하므로 휴대폰 시스템 설정에서 HTTP 프록시를 선택하거나 명령줄에서 SOCKS5를 선택해도 같은 7890 포트에 연결할 수 있습니다. 포트 번호 자체가 프로토콜이나 최종 트래픽에 사용할 노드를 결정하지는 않습니다.
| 설정 항목 | 지원 프로토콜 | 사용 사례 |
|---|---|---|
mixed-port: 7890 | HTTP 및 SOCKS | 여러 기기에서 하나의 프록시 포트 공유 |
port: 7890 | HTTP 프록시 | 시스템 Wi-Fi 프록시, HTTP CONNECT |
socks-port: 7891 | SOCKS 프록시 | SOCKS5를 지원하는 앱 |
external-controller | 제어 인터페이스 | 대시보드 관리용이며 기기의 인터넷 연결용 포트가 아닙니다 |
위 표는 여러 설정 방식을 비교한 것으로, 모든 포트를 켜야 한다는 뜻은 아닙니다. port와 mixed-port가 같은 리스닝 주소의 7890을 동시에 사용하지 않도록 하세요. 혼합 포트를 사용한다면 보통 HTTP 포트를 별도로 설정할 필요가 없습니다.
2. PC 주소·리스닝 주소·LAN 연결 허용 확인
실제로 사용하는 네트워크 어댑터 찾기
- Windows에서 터미널을 열고
ipconfig를 실행한 뒤 현재 연결된 Wi-Fi 또는 이더넷 어댑터의 IPv4 주소와 서브넷 마스크를 확인하세요. 가상 어댑터, TUN 어댑터, 연결이 끊긴 어댑터의 주소는 사용하지 마세요. - macOS에서 ‘시스템 설정’ → ‘네트워크’ → 현재 연결 → ‘세부사항’ → ‘TCP/IP’로 이동해 IP 주소를 확인하세요.
- 휴대폰과 PC가 서로 통신할 수 있는 같은 LAN에 연결되어 있는지 확인하세요. PC는 유선, 휴대폰은 Wi-Fi로 연결해도 되지만 라우터에서 두 기기를 서로 격리된 게스트 네트워크에 두면 안 됩니다.
- 장기간 공유할 예정이라면 라우터의 DHCP 주소 예약 기능으로 PC 주소를 고정하세요. PC를 다시 연결한 뒤 주소가 바뀌면 휴대폰에 저장된 프록시 서버 주소가 작동하지 않을 수 있습니다.
실행 중인 커널에 설정 적용하기
클라이언트 설정에서 ‘LAN 허용’ 또는 ‘Allow LAN’을 찾아 혼합 포트도 확인하세요. 클라이언트마다 설정 메뉴가 다르므로 실행 중인 설정과 포트 리스닝 상태를 기준으로 판단해야 합니다. 아래는 기존 설정의 최상위 항목에 추가할 수 있는 mihomo 예시입니다. 노드와 규칙을 포함한 전체 구독 설정은 아닙니다.
mixed-port: 7890
allow-lan: true
bind-address: 192.168.1.20
mode: rule
allow-lan: true는 LAN 연결을 허용하며, bind-address는 리스닝 주소를 지정합니다. 예시는 PC의 192.168.1.20에서만 리스닝하므로 주소가 바뀌면 함께 수정해야 합니다. 일부 클라이언트는 이 항목을 자동으로 생성합니다. 구독 파일을 직접 수정하면 업데이트 때 덮어쓸 수 있으므로 클라이언트의 영구 설정이나 오버라이드 기능을 우선 사용하고, 설정을 다시 불러온 뒤 적용 여부를 확인하세요.
클라이언트에서 bind-address: "*"만 사용할 수 있다면 모든 인터페이스에서 리스닝한다는 뜻이므로 방화벽에서 접속 출발지를 제한해야 합니다. ‘모든 인터페이스’는 집의 Wi-Fi만 허용한다는 의미가 아닙니다. PC의 다른 네트워크 인터페이스에서도 연결을 받을 수 있습니다.
여기서는 프록시 리스닝만 필요하며 TUN을 켤 필요는 없습니다. mode: rule은 LAN 기기에서 들어온 요청에도 현재 규칙을 적용한다는 뜻입니다. 모든 요청이 자동으로 같은 프록시 노드를 사용하게 되는 것은 아닙니다. 해당 규칙에 매칭되는 정책 그룹을 확인하고, 그룹에서 사용할 수 있는 노드를 선택하세요.
3. 필요한 출발지만 방화벽에서 허용하기
‘LAN 연결 허용’과 시스템 방화벽은 서로 독립된 두 가지 제어입니다. 커널이 리스닝 중이어도 Windows나 macOS에서 인바운드 연결을 차단할 수 있습니다. 먼저 홈 네트워크를 신뢰할 수 있는지 확인하고, 필요한 범위만 허용하는 규칙을 만드세요. 방화벽을 계속 꺼 두는 방식으로 문제를 해결하지 마세요.
Windows: 개인 네트워크·TCP 7890·출발지 네트워크 제한
‘Windows 보안’ → ‘방화벽 및 네트워크 보호’ → ‘고급 설정’ → ‘인바운드 규칙’에서 포트 규칙을 만들고 ‘범위’에서 원격 IP를 제한할 수 있습니다. 관리자 권한으로 PowerShell을 열어 아래 예시를 실행해도 됩니다.
New-NetFirewallRule -DisplayName "mihomo LAN TCP 7890" `
-Direction Inbound -Action Allow -Protocol TCP `
-LocalAddress 192.168.1.20 -LocalPort 7890 `
-RemoteAddress 192.168.1.0/24 -Profile Private
192.168.1.0/24는 해당 홈 네트워크에서만 사용할 수 있는 예시입니다. 휴대폰 한 대만 연결한다면 원격 주소를 휴대폰의 고정 IP로 바꿔 범위를 더 좁힐 수 있습니다. 규칙을 의도대로 적용하려면 네트워크 프로필이 실제로 ‘개인’이어야 합니다. 이 규칙을 적용하려고 호텔이나 공용 Wi-Fi를 개인 네트워크로 변경하지 마세요.
이 문서의 HTTP 공유 방식은 TCP를 사용합니다. SOCKS5 UDP 포워딩에는 앱 지원, 커널 설정, UDP 방화벽 규칙도 필요하므로 모든 포트를 무작정 열어서는 해결할 수 없습니다. 공유를 중단한 뒤 아래 예시 규칙을 삭제할 수 있습니다.
Remove-NetFirewallRule -DisplayName "mihomo LAN TCP 7890"
macOS: 실제 연결을 받는 앱 허용하기
‘시스템 설정’ → ‘네트워크’ → ‘방화벽’ → ‘옵션’으로 이동해 현재 실행 중인 클라이언트나 커널 프로그램의 들어오는 연결이 허용되어 있는지 확인하세요. ‘모든 들어오는 연결 차단’을 켰다면 공유 기능과 충돌하는지 먼저 검토해야 합니다. 타사 보안 소프트웨어에도 별도의 네트워크 필터 규칙이 있을 수 있습니다.
4. 휴대폰·TV·게임 콘솔에 프록시 설정하기
대상 기기에는 ‘PC의 LAN IP 주소 + 프록시 포트’를 입력해야 합니다. 노드 서버 주소나 구독 링크를 입력하는 것이 아닙니다. 아래 예시는 서버 192.168.1.20, 포트 7890을 사용합니다. 서버 입력란에는 보통 IP 주소만 입력합니다. http://를 붙이거나 포트 번호를 같은 입력란에 함께 넣지 마세요.
iPhone·iPad: 현재 Wi-Fi에 수동 프록시 설정
- ‘설정’ → ‘Wi-Fi’로 이동한 뒤 연결된 네트워크 오른쪽의 정보 버튼을 탭하세요.
- ‘프록시 구성’ → ‘수동’을 선택하세요.
- 서버에
192.168.1.20, 포트에7890을 입력하고 설정을 저장하세요. - 커널에서 인증을 설정하지 않았다면 ‘인증’을 켜지 마세요. 인증을 설정했다면 커널과 동일한 사용자 이름과 비밀번호를 입력하세요.
- 브라우저에서 HTTPS 페이지를 열고 PC 클라이언트의 연결 내역이나 로그를 확인하세요.
이 설정은 현재 Wi-Fi에만 적용되며 셀룰러 네트워크에는 자동으로 적용되지 않습니다. 일부 앱은 시스템 HTTP 프록시를 따르지 않으므로 브라우저에서 작동해도 모든 앱의 트래픽이 PC를 거친다고 볼 수 없습니다. 사용을 마치면 ‘프록시 구성’을 ‘끔’으로 되돌리세요. PC가 잠자기 상태에 들어간 뒤에도 휴대폰이 계속 연결을 시도하는 일을 막을 수 있습니다.
Android: 연결된 네트워크의 프록시 설정
Pixel의 Android 14 화면을 기준으로 ‘설정’ → ‘네트워크 및 인터넷’ → ‘인터넷’ → 현재 Wi-Fi의 설정 버튼 → 네트워크 수정 → ‘고급 옵션’ → ‘프록시’ → ‘수동’으로 이동하세요. 다른 제조사의 기기에서는 ‘네트워크 수정’이나 ‘고급 설정’에 메뉴가 있을 수 있습니다.
- 프록시 호스트 이름:
192.168.1.20. - 프록시 포트:
7890. - 프록시 우회 주소: 처음 테스트할 때는 기본값을 유지하고, 연결이 확인된 뒤 로컬 서비스 예외를 추가하세요.
Android 시스템 Wi-Fi 프록시도 모든 기기의 트래픽을 투명하게 전달하지는 않습니다. 일부 앱은 자체 연결을 만들거나 시스템 프록시를 사용하지 않아 직접 연결될 수 있습니다. 시스템 화면에 인증 입력란이 없는데 커널에서 인증을 요구한다면 해당 화면으로 연결을 완료하지 못할 수 있습니다. 그렇다고 공유 네트워크에서 필요한 접근 제한을 해제하지 마세요.
TV·게임 콘솔: HTTP 프록시 지원 여부부터 확인
TV의 네트워크 설정은 제품마다 다릅니다. 현재 네트워크의 고급 설정에 ‘프록시 서버’와 ‘포트’ 항목이 명시되어 있을 때만 위 값을 입력하세요. 해당 메뉴가 없는 TV는 PC에서 Allow LAN을 켜는 것만으로 프록시를 사용할 수 없습니다. 기기에서 지원하는 클라이언트를 사용하거나 라우터에서 트래픽 분기 방식을 구성하세요.
PS5를 예로 들면 ‘설정’ → ‘네트워크’ → ‘설정’ → ‘인터넷 연결 설정’에서 등록된 네트워크를 선택한 뒤 ‘고급 설정’으로 이동해 ‘프록시 서버’ 옵션을 확인할 수 있습니다. HTTP 프록시를 입력할 수 있어도 게임 실시간 통신, 음성 채팅, 모든 다운로드가 프록시를 거친다고 단정할 수는 없습니다. PC 연결 기록을 확인해 실제 트래픽을 판단하세요.
5. ‘리스닝 → 연결 가능 여부 → 프록시 → 규칙’ 순서로 문제 찾기
1단계: 포트가 루프백 주소에만 바인딩되어 있지 않은지 확인
Windows PowerShell에서 실행:
Get-NetTCPConnection -State Listen -LocalPort 7890 |
Select-Object LocalAddress, LocalPort, OwningProcess
macOS 터미널에서 실행:
lsof -nP -iTCP:7890 -sTCP:LISTEN
결과가 127.0.0.1:7890만 표시된다면 LAN 기기는 PC의 Wi-Fi 주소를 통해 접속할 수 없습니다. 이 문서의 예시대로 설정했다면 192.168.1.20:7890에서 리스닝하는 항목이 보여야 합니다. 결과가 전혀 없다면 커널 실행 여부, 설정 다시 불러오기 실패 여부, 다른 프로그램의 포트 점유 여부를 확인하세요.
2단계: 다른 기기에서 TCP 연결과 프록시 요청 테스트
같은 LAN에 Windows PC가 한 대 더 있다면 아래 명령으로 포트를 테스트할 수 있습니다. 반드시 다른 기기에서 실행하세요. PC에서 자기 자신을 테스트하면 무선 격리와 인바운드 방화벽 문제를 확인할 수 없습니다.
Test-NetConnection 192.168.1.20 -Port 7890
TcpTestSucceeded가 True라고 해서 TCP 연결만 확인된 것이며 프록시 프로토콜이나 외부 노드가 정상이라는 뜻은 아닙니다. 이어서 프록시를 지원하는 curl로 테스트하세요. Windows PowerShell에서는 curl.exe를 명시적으로 호출할 수 있습니다.
curl --proxy http://192.168.1.20:7890 --connect-timeout 5 --max-time 20 -I https://example.com/
curl --socks5-hostname 192.168.1.20:7890 --connect-timeout 5 --max-time 20 -I https://example.com/
두 번째 명령은 SOCKS5를 통해 대상 도메인을 전달하므로 프록시 측에서 이름을 조회합니다. 이를 통해 로컬 DNS 조회 경로와 구분할 수 있습니다. 명령에 지정한 연결 시간 초과 5초와 전체 시간 초과 20초는 문제 해결을 위한 값이며 지연 시간 측정 결과가 아닙니다. 두 명령은 혼합 포트의 HTTP와 SOCKS 경로를 각각 확인하는 용도입니다. 기기에 두 프록시를 동시에 설정할 필요는 없습니다.
3단계: 증상에 따라 원인 범위 좁히기
| 증상 | 먼저 확인할 항목 | 해결 방향 |
|---|---|---|
| 연결 시간 초과, PC에 요청 기록 없음 | 방화벽, 게스트 네트워크, AP 격리, IP 주소 | 기기 간 통신 및 TCP 7890 연결 여부 확인 |
| 즉시 연결 거부 메시지 표시 | 포트가 리스닝 중이지 않거나 주소·포트 입력 오류 | 실행 중인 설정과 리스닝 주소 확인 |
| HTTP 407 응답 | 프록시 인증 | 커널 인증 설정과 기기 인증 정보 확인 |
| 요청 기록은 있지만 웹사이트가 열리지 않음 | 정책 그룹, 노드, DNS, 규칙 | 해당 요청의 매칭 규칙과 아웃바운드 오류 확인 |
| 브라우저는 되지만 특정 앱은 작동하지 않음 | 앱이 시스템 프록시를 사용하는지 여부 | 앱 자체 프록시 설정과 전송 프로토콜 확인 |
| PC를 깨우거나 다시 연결한 뒤 작동하지 않음 | PC 주소 변경 또는 커널 중지 | DHCP 주소를 고정하고 리스닝 상태 재확인 |
도메인 요청만 실패하고 IP 연결 테스트는 정상이라면 mihomo 커널의 DNS 설정과 로그를 확인하세요. 휴대폰 DNS를 무작정 PC 주소로 바꾸지 마세요. 혼합 포트는 DNS 서비스가 아니며, 7890에서 리스닝한다고 해서 PC가 53 포트로 DNS 조회를 제공하는 것은 아닙니다.
6. 장기간 공유 전 확인 사항과 마무리
LAN 프록시를 사용하려면 PC의 인터넷 연결과 커널 실행이 계속 유지되어야 하며 주소도 안정적이어야 합니다. TV에서 장기간 사용할 경우 화면이 꺼진 뒤 PC 전체가 절전 모드에 들어가지 않도록 절전 설정을 확인하세요. 구독을 업데이트하거나 클라이언트를 업그레이드한 뒤에는 LAN 허용, 혼합 포트, 오버라이드 설정이 계속 적용되는지 다시 확인하세요.
- 규칙 적용 범위: 휴대폰 요청이 PC에 도착하면 PC의 현재 규칙에 따라 트래픽이 분기됩니다. PC 앱의 프로세스 이름 규칙을 휴대폰 앱 식별에 그대로 적용하지 마세요. 일반적인 LAN 프록시 요청에는 휴대폰의 로컬 프로세스 정보가 포함되지 않습니다.
- TUN 적용 범위: PC에서 TUN을 켜도 휴대폰 트래픽이 자동으로 PC를 통과하지는 않습니다. 투명 프록시를 구성하려면 게이트웨이, 라우팅, DNS, 포워딩 설정도 필요하며 수동 HTTP 프록시 입력 방식과는 다릅니다.
- 보안 범위: 신뢰할 수 있는 네트워크에서 접속 출발지를 제한하세요. 공유 네트워크에서는 mihomo의
authentication설정을 함께 사용할 수 있지만, 먼저 단말에서 해당 인증 방식을 지원하는지 확인해야 합니다. - 공유 종료: 휴대폰이나 TV의 프록시 설정을 끄고 클라이언트의 LAN 연결 허용을 해제한 뒤, 더 이상 사용하지 않는 방화벽 규칙을 삭제하세요.
가장 빠른 확인 순서는 PC가 192.168.1.20:7890에서 리스닝하는지 확인하고, 다른 기기에서 포트에 접속할 수 있는지 테스트한 다음, 클라이언트에 해당 요청이 표시되는지 살펴보는 것입니다. 세 단계가 모두 통과한 뒤 노드, 규칙, 앱 호환성을 확인하면 TUN·시스템 프록시·DNS를 반복해서 전환하는 것보다 원인을 쉽게 찾을 수 있습니다. 기본 설정 항목은 사용 설명서의 혼합 포트 안내에서 확인할 수 있습니다.