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 上,进入「系统设置」→「网络」→「防火墙」→「选项」,检查实际提供代理服务的客户端或内核进程是否允许传入连接。系统版本不同,入口文字可能略有差异。若另有网络过滤工具,也要检查它的访问规则,不要只看系统防火墙。
填写手机、电视与游戏机的代理地址
手机:在当前无线网络中设置手动代理
- 连接与电脑可以互访的无线网络。
- 打开当前网络的详细设置,找到“代理”或“配置代理”,选择“手动”。
- 在“服务器”或“代理主机名”填写
192.168.50.10,不要加http://,也不要填路由器网关。 - 在“端口”填写
7890,保存后重新打开一个网页进行验证。
部分手机可从「设置」→「无线局域网」→当前网络的信息按钮→「配置代理」进入;其他设备可能放在当前网络的“修改网络”或“高级选项”中。该设置通常只关联当前无线网络,切换到移动数据后不会继续沿用这个局域网入口。
若客户端配置了代理认证,应同时填写匹配的用户名与密码。暂未设置认证时,不要随意开启手机上的认证开关。某些应用或设备不支持带认证的手动代理,需要先确认兼容性,再决定使用方式。
电视:先确认系统和应用支持情况
在电视当前网络的高级选项中查找 HTTP 代理。若提供主机与端口输入框,使用与手机相同的值。部分电视仅允许在连接网络时设置代理;部分应用完全忽略系统代理。电视能联网、浏览器能打开网页,并不能证明视频应用也会使用代理。
若网络菜单只有 IP、子网掩码、网关与 DNS,没有代理选项,不要把 7890 填进 DNS 或网关栏。DNS 服务器地址不等于 HTTP 代理地址;需要改用应用自身支持的代理入口,或另行规划网关方案。
游戏机:HTTP 代理不等于游戏 UDP 接管
游戏机的网络设置若提供代理服务器选项,可以尝试填写电脑 IP 与混合端口。它可能只影响登录、商店、下载或系统检测等部分请求。实时对战常用 UDP,不能用一次商店访问成功来判断游戏流量已经经过代理。
SOCKS5 的 UDP 转发还涉及应用是否支持 UDP ASSOCIATE、内核配置、节点能力和 UDP 防火墙规则。本文的 TCP 放行示例不覆盖这些条件。不要在没有明确需求时额外开放 UDP,也不要把“开启 allow-lan”理解成获得完整的游戏加速链路。
验证链路:端口连通、请求出现、规则命中
按层检查,比反复切换节点更容易定位问题。先确认电脑本机通过该端口能够访问目标,再验证另一台设备是否能到达入口,最后检查规则与节点。每次只改变一个条件,并记录改变前后的结果。
- 检查电脑出口。使用客户端当前节点访问一个已知可用的 HTTPS 页面。若电脑自身也失败,先修复订阅、节点或规则,不要继续调整手机。
- 检查局域网端口。若另一台 Windows 电脑可用,执行
Test-NetConnection 192.168.50.10 -Port 7890,查看TcpTestSucceeded。成功只代表 TCP 入口可达,不代表节点可用。 - 检查实际代理请求。从另一台装有 curl 的设备执行下面的命令,显式指定 HTTP 代理。
- 检查连接记录。在客户端连接面板中确认是否出现远端设备的源地址、目标域名、命中规则和最终策略。
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 配置入门指南。