Clash 混合端口与允许局域网连接:让手机和电视共用电脑代理

讲清 mixed-port 同时承载 HTTP 与 SOCKS5 的用法,开启 allow-lan 后在手机、电视、游戏机上填写代理地址的步骤与防火墙放行要点。

先确认:共享的是代理入口,不是整台电脑的网络

让手机和电视共用电脑上的 Clash,通常只需要三个条件:电脑的混合端口正在监听、客户端允许局域网连接、系统防火墙允许可信设备访问该端口。随后在设备上填写电脑的局域网 IP 和端口。电脑必须保持开机,客户端和当前配置也必须持续运行。

这与开启电脑热点、修改路由器网关不是同一件事。手动填写 HTTP 代理后,只有遵守该代理设置的应用流量才会进入 Clash。游戏通信、部分电视应用、自带网络栈的程序仍可能直连。开启电脑的 TUN 模式,也不会自动接管同一无线网络里其他设备的流量。

本文使用的示例参数

  • 电脑局域网 IPv4:192.168.50.10。
  • 家庭网络网段:192.168.50.0/24,子网掩码为 255.255.255.0。
  • Clash 混合端口:7890。
  • 手机或电视与电脑连接同一可信局域网,允许设备之间相互访问。

这些地址用于说明填写位置,不代表你的实际网络。后续步骤中需要把示例 IP 和网段换成查到的值。端口也以客户端当前设置为准,不能仅凭常见默认值判断。

mixed-port、allow-lan 与监听地址分别控制什么

mixed-port 是 HTTP 代理与 SOCKS5 代理共用的监听端口。两种客户端可以连接同一个端口,内核按连接内容识别协议。它不是 HTTP 与 SOCKS5 之间的转换开关,也不意味着设备的所有流量都会自动经过代理。

参数 控制内容 本例设置
mixed-port HTTP 与 SOCKS5 共用的入口端口 7890
allow-lan 是否允许来自局域网的代理连接 true
bind-address 允许局域网连接时使用的监听地址 192.168.50.10
mode 连接进入内核后的规则处理模式 rule

allow-lan: true 与监听地址需要一起检查。若端口只监听 127.0.0.1,其他设备仍无法连接。回环地址永远指向填写它的那台设备:在手机上填写 127.0.0.1,指向的是手机,不是电脑。

bind-address: "*" 表示监听范围更广,可能覆盖不止一块网卡。对于固定家庭网络,可以先绑定电脑的具体局域网地址,减少入口暴露范围。电脑地址变化后必须同步修改配置,因此建议在路由器中为电脑设置 DHCP 地址保留。

HTTPS 网站仍可使用 HTTP 代理入口

手机界面中的“HTTP 代理”通常也能承载 HTTPS 网站连接:应用向代理发起 CONNECT 请求,再通过隧道传输 TLS 数据。正常使用这种入口不需要安装额外证书。代理类型描述的是设备与代理入口之间的交互方式,不是要求目标网站必须使用 HTTP。

配置电脑:确认 IP、开启入口、检查监听

第一步:查到正在使用的网卡地址

在 Windows 终端运行 ipconfig,找到当前连接的无线局域网适配器或以太网适配器,记录 IPv4 地址、子网掩码和默认网关。不要误用虚拟网卡、TUN 网卡或已经断开的适配器地址。使用 macOS 时,可在「系统设置」→「网络」→当前连接→「详细信息」→「TCP/IP」查看地址。

如果手机连接访客网络,即使无线网络名称相近,也可能无法访问电脑。先把两台设备接入允许互访的家庭网络;若必须跨网段访问,应由网络管理员确认路由和访问控制,而不是直接扩大代理的开放范围。

第二步:设置混合端口与局域网访问

在客户端设置中查找“混合端口”和“允许局域网连接”。不同图形客户端的菜单名称不完全相同,核对最终运行配置比套用某个界面路径更可靠。使用 mihomo 内核时,可将下列顶层字段合并到已有配置;保留原来的节点、策略组和规则,不要用这几行替换整份订阅。

mixed-port: 7890
allow-lan: true
bind-address: "192.168.50.10"
mode: rule

注意 YAML 缩进,以上四个字段位于同一层。若客户端提供覆写或合并配置功能,优先在那里保存本地设置,避免下次订阅更新覆盖修改。部分客户端会用图形界面的端口选项生成运行配置,编辑后应重新加载,并检查实际生效的监听地址。

第三步:确认端口确实启动

在 Windows PowerShell 中执行以下命令,查看 TCP 监听状态:

Get-NetTCPConnection -State Listen -LocalPort 7890 |
  Select-Object LocalAddress, LocalPort, OwningProcess
  • 看到 192.168.50.10:符合本例的具体地址绑定。
  • 看到 0.0.0.0 或 :::监听通配地址,继续核查 IPv4、IPv6 与防火墙范围。
  • 只看到 127.0.0.1:目前仍是本机入口,需要核对局域网设置。
  • 没有监听结果:检查客户端是否运行、配置是否加载成功,以及端口是否被其他进程占用。

若出现端口占用,不要直接结束未知进程。先根据 OwningProcess 查询进程,再决定调整哪一个程序的端口。改为其他端口后,手机、电视和防火墙规则也要同步更新。

放行防火墙:限定网络类型与来源网段

本机能够使用代理,不代表局域网设备能连入。电脑自身访问回环地址通常不会经过相同的入站检查,因此需要单独验证防火墙。先确认当前连接确实是可信家庭网络,再把对应网络配置文件设为“专用”;不要为了共享代理把公共无线网络改成可信网络。

Windows 入站规则示例

用管理员权限打开 PowerShell,按本例的实际地址创建 TCP 入站规则。执行前先核对 LocalAddress 与 RemoteAddress,它们分别限制本机接收地址和远端来源网段。

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

这条规则适用于本文的 HTTP 代理测试,不是对所有网络开放端口。若系统中已有范围更宽的同类放行规则,还应一并审查;新增窄范围规则不会自动收紧旧规则。停止共享后,可用下面的命令删除本次创建的规则:

Remove-NetFirewallRule -DisplayName "Clash LAN TCP 7890"

在 macOS 上,进入「系统设置」→「网络」→「防火墙」→「选项」,检查实际提供代理服务的客户端或内核进程是否允许传入连接。系统版本不同,入口文字可能略有差异。若另有网络过滤工具,也要检查它的访问规则,不要只看系统防火墙。

填写手机、电视与游戏机的代理地址

手机:在当前无线网络中设置手动代理

  1. 连接与电脑可以互访的无线网络。
  2. 打开当前网络的详细设置,找到“代理”或“配置代理”,选择“手动”。
  3. 在“服务器”或“代理主机名”填写 192.168.50.10,不要加 http://,也不要填路由器网关。
  4. 在“端口”填写 7890,保存后重新打开一个网页进行验证。

部分手机可从「设置」→「无线局域网」→当前网络的信息按钮→「配置代理」进入;其他设备可能放在当前网络的“修改网络”或“高级选项”中。该设置通常只关联当前无线网络,切换到移动数据后不会继续沿用这个局域网入口。

若客户端配置了代理认证,应同时填写匹配的用户名与密码。暂未设置认证时,不要随意开启手机上的认证开关。某些应用或设备不支持带认证的手动代理,需要先确认兼容性,再决定使用方式。

电视:先确认系统和应用支持情况

在电视当前网络的高级选项中查找 HTTP 代理。若提供主机与端口输入框,使用与手机相同的值。部分电视仅允许在连接网络时设置代理;部分应用完全忽略系统代理。电视能联网、浏览器能打开网页,并不能证明视频应用也会使用代理。

若网络菜单只有 IP、子网掩码、网关与 DNS,没有代理选项,不要把 7890 填进 DNS 或网关栏。DNS 服务器地址不等于 HTTP 代理地址;需要改用应用自身支持的代理入口,或另行规划网关方案。

游戏机:HTTP 代理不等于游戏 UDP 接管

游戏机的网络设置若提供代理服务器选项,可以尝试填写电脑 IP 与混合端口。它可能只影响登录、商店、下载或系统检测等部分请求。实时对战常用 UDP,不能用一次商店访问成功来判断游戏流量已经经过代理。

SOCKS5 的 UDP 转发还涉及应用是否支持 UDP ASSOCIATE、内核配置、节点能力和 UDP 防火墙规则。本文的 TCP 放行示例不覆盖这些条件。不要在没有明确需求时额外开放 UDP,也不要把“开启 allow-lan”理解成获得完整的游戏加速链路。

验证链路:端口连通、请求出现、规则命中

按层检查,比反复切换节点更容易定位问题。先确认电脑本机通过该端口能够访问目标,再验证另一台设备是否能到达入口,最后检查规则与节点。每次只改变一个条件,并记录改变前后的结果。

  1. 检查电脑出口。使用客户端当前节点访问一个已知可用的 HTTPS 页面。若电脑自身也失败,先修复订阅、节点或规则,不要继续调整手机。
  2. 检查局域网端口。若另一台 Windows 电脑可用,执行 Test-NetConnection 192.168.50.10 -Port 7890,查看 TcpTestSucceeded。成功只代表 TCP 入口可达,不代表节点可用。
  3. 检查实际代理请求。从另一台装有 curl 的设备执行下面的命令,显式指定 HTTP 代理。
  4. 检查连接记录。在客户端连接面板中确认是否出现远端设备的源地址、目标域名、命中规则和最终策略。
curl --proxy http://192.168.50.10:7890 --connect-timeout 10 --max-time 20 -I https://clash67.com/

这里的 10 与 20 是测试超时限制,单位为秒,不是预期延迟或性能承诺。收到站点的 HTTP 响应说明请求已走到响应阶段;具体状态码还受站点本身影响。若返回代理认证错误,应核对认证参数,而不是继续开放端口。

规则模式下,手机与电视送进来的连接仍按电脑当前配置分流。看到 DIRECT 可能只是规则选择了直连,不代表局域网代理没有生效。若改用 SOCKS5 测试,socks5h://192.168.50.10:7890 可让 curl 把域名交给代理解析;普通 socks5:// 的解析位置不同,排查 DNS 时需要区分。

常见故障:按现象缩小范围

现象 优先检查 下一步
电脑可用,手机连接超时 监听地址、防火墙、无线隔离 先测 TCP 7890,再看连接记录
浏览器可用,电视应用失败 应用是否遵守 HTTP 代理 确认失败时内核是否收到请求
重启路由器后失效 电脑的 DHCP 地址是否变化 更新地址并设置 DHCP 地址保留
连接记录存在,但目标打不开 规则、策略组、节点与解析 核对命中规则和实际选中的节点
电脑休眠后全部断开 主机电源状态与网络连接 恢复电脑,按需要调整接电休眠设置

是否需要开放外部控制端口?

不需要。手机访问代理只需使用混合端口。external-controller 是管理接口,与设备使用的代理入口不同,不应为了局域网共享顺手开放。保留管理接口的本机绑定,并按客户端要求设置访问密钥。

是否需要开启 TUN 或修改手机 DNS?

手动 HTTP 代理本身不要求电脑开启 TUN,也通常不要求先修改手机 DNS。对于代理收到的域名请求,解析过程由相应协议和内核配置决定;绕过代理的应用仍可能自行解析。先用明确指定代理的请求验证,再判断是否存在 DNS 问题。

结束共享后怎么恢复?

先把手机和电视的代理设置改回“无”或关闭手动代理,再关闭客户端的局域网访问并删除临时放行规则。否则电脑关机后,设备可能继续尝试访问已经离线的代理入口,表现为无线网络已连接但网页打不开。

最后保留一份简短记录:电脑固定地址、混合端口、放行网段以及使用代理的设备。后续更新客户端或订阅后,复查监听状态与规则即可,不必重新扩大网络权限。需要了解订阅导入和规则基础时,可继续阅读Clash 配置入门指南。

Clash 客户端下载