Clash 混合端口与允许局域网连接:同一网络设备共用代理的设置步骤

说明 mixed-port 与 allow-lan 的作用,手机、平板、电视如何填写电脑局域网地址接入,以及防火墙放行要点。

一、适用场景:让局域网设备连接电脑的代理端口

手机、平板或电视不方便安装代理客户端时,可以让同一局域网内的电脑提供 HTTP 代理入口。电脑运行 Clash 或使用 mihomo 内核的客户端,其他设备在 Wi-Fi 设置中填写电脑地址与混合端口。流量进入电脑后,仍由电脑上正在运行的配置、规则和策略组决定直连还是代理。

这不是把电脑自动变成路由器。开启“允许局域网连接”只会允许其他设备访问代理监听端口,不会修改手机网关,也不会让所有应用自动使用代理。需要整机接管、UDP 转发或不遵循系统代理的应用时,应另行评估设备本地客户端、网关方案或 TUN,而不是反复切换这个开关。

  • 适合:家庭网络中的手机浏览器、平板网页访问,以及支持手动 HTTP 代理的电视应用。
  • 前提:电脑与目标设备之间能够互访,电脑保持开机,代理内核运行正常。
  • 不适合直接照搬:酒店、访客 Wi-Fi、启用终端隔离的公共网络,以及需要所有游戏流量统一转发的场景。

二、参数区别:mixed-port、allow-lan 与 bind-address

配置项作用本文示例
mixed-port同一端口接收 HTTP 与 SOCKS 代理请求7890
allow-lan允许局域网设备连接代理监听入口true
bind-address在允许局域网连接时指定监听地址192.168.1.10
mode决定流量按规则、全局或直连方式处理rule

mixed-port 的“混合”指代理协议入口,不是将几条节点线路叠加。手机 Wi-Fi 中填写 HTTP 代理时,也可以连接这个端口。HTTPS 网站通常通过 HTTP CONNECT 建立隧道,不需要另外填写一个所谓的 HTTPS 端口。

allow-lan: true 与监听地址必须一起检查。只允许本机访问的 127.0.0.1 不能作为手机的连接目标;手机上的 127.0.0.1 指向手机自己。bind-address: "*" 通常用于监听所有接口,但覆盖面更大。只需要家庭网络共享时,可以绑定电脑当前的局域网 IPv4 地址,再配合防火墙限制来源。

管理接口 external-controller 与混合端口是两件事。手机使用代理不需要连接控制器,更不需要把管理端口开放给整个网络。不要把面板地址或常见的 9090 管理端口填进 Wi-Fi 的代理端口栏。

三、电脑端设置:先确认地址,再开放监听

1. 找到当前使用的局域网 IPv4 地址

Windows 打开终端执行 ipconfig,查看当前联网的“无线局域网适配器 WLAN”或以太网适配器。记录 IPv4 地址、子网掩码和默认网关,跳过未连接的网卡、虚拟机网卡及 TUN 虚拟网卡。macOS 可在「系统设置」→「网络」→ 当前连接 →「详细信息」→「TCP/IP」查看。

例如,电脑为 192.168.1.10,手机为 192.168.1.25,双方掩码均为 255.255.255.0,通常属于同一子网,但路由器的访客隔离仍可能阻断连接。电脑走有线、手机走 Wi-Fi 也可以共享,关键是路由器允许两者互访,而不是必须使用相同的无线频段。

2. 设置混合端口和允许局域网连接

在客户端设置中查找“混合端口”或“Mixed Port”,记录当前数值,再开启“允许局域网连接”或“Allow LAN”。不同客户端菜单名称不完全一致;有些客户端将这些选项放在内核设置或覆写设置中。以最终运行配置和实际监听结果为准,不要只看订阅文件里的字段。

下面是可合并到现有配置顶层的网络参数片段,不是完整订阅。保留原有的 proxies、proxy-groups 与 rules,不要用这个片段覆盖整个文件,也不要重复声明同名顶层字段。

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

保存并应用配置;客户端提示需要重启内核时,完成重启。若由图形客户端生成运行配置,应使用其持久化覆写机制,避免下次更新订阅时丢失修改。绑定具体地址后,如果电脑换了网络或 DHCP 地址发生变化,监听可能失败,需要同步调整。

3. 确认端口确实在监听

Windows PowerShell 可执行以下命令。应看到 LocalPort 为 7890,LocalAddress 为指定局域网地址或覆盖该地址的监听地址。如果只显示 127.0.0.1,局域网设备仍无法连接。

Get-NetTCPConnection -State Listen -LocalPort 7890 |
  Select-Object LocalAddress, LocalPort, OwningProcess

没有结果时,先检查配置应用失败、端口冲突或内核未运行。若端口属于其他程序,不能仅凭端口号判断 Clash 已启动。绑定局域网地址后,本机系统代理如果仍指向 127.0.0.1:7890,也需要核对兼容性;确需同时服务回环与局域网时,可使用全接口监听,并严格限制防火墙来源。

四、防火墙放行:限定端口、地址与可信网络

监听成功不等于其他设备能连入。电脑防火墙可能仍阻止入站连接。家庭网络可以设置为可信的专用网络,但不要为了共享代理,将公共 Wi-Fi 随意改成专用,也不要关闭整机防火墙。

Windows:添加仅限本地子网的 TCP 入站规则

确认当前网络为专用网络后,以管理员身份打开 PowerShell。以下规则只允许 192.168.1.0/24 访问本机 192.168.1.10 的 TCP 7890 端口,适用于本文的 HTTP 代理测试。

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

停用共享时,可删除这条规则:

Remove-NetFirewallRule -DisplayName "Clash LAN TCP 7890"

如果电脑已存在范围很大的程序放行规则,还应检查旧规则是否扩大了访问面。上述窄范围规则不会自动撤销其他宽范围许可。TCP 放行也不意味着已经支持手机游戏或其他应用的 UDP 流量。

macOS 与 Linux:检查实际提供代理的进程

  • macOS:在「系统设置」→「网络」→「防火墙」→「选项」中检查客户端或内核进程的入站许可。若启用了“阻止所有传入连接”,先确认其影响,不要只反复切换客户端开关。
  • Linux:若使用 UFW 且已启用,可按实际子网添加限定规则。其他防火墙工具应采用相同的最小范围原则,不要同时叠加多套不清楚的规则。
sudo ufw allow proto tcp from 192.168.1.0/24 to 192.168.1.10 port 7890

五、手机、平板与电视填写方法

iPhone 与 iPad:配置当前 Wi-Fi 的 HTTP 代理

  1. 进入「设置」→「无线局域网」,点击当前网络右侧的信息按钮。
  2. 找到「配置代理」,选择「手动」。
  3. “服务器”填写 192.168.1.10,“端口”填写 7890。服务器栏不加 http://,也不附加端口。
  4. 本文基础配置没有启用代理认证,因此关闭“鉴定”;保存后重新打开浏览器测试。

该设置绑定当前 Wi-Fi,不会自动应用到蜂窝网络或另一处无线网络。若电脑关机,仍遵循这个代理设置的应用可能无法联网。离开共享场景后,将“配置代理”改回“关闭”。

Android:编辑已连接网络的代理选项

常见路径为「设置」→「网络和互联网」→「互联网」→ 当前 Wi-Fi → 编辑 →「高级选项」→「代理」→「手动」。厂商系统可能将入口放在「WLAN」→ 当前网络详情中。主机名填写 192.168.1.10,端口填写 7890;没有明确需求时,绕过列表保持默认。

不要为配置代理顺手切换成静态 IP。IP 获取方式与代理设置是不同项目;随意更改网关或 DNS 容易引入第二个故障。Android 应用是否遵循 Wi-Fi 代理由其网络实现决定,浏览器能访问不代表所有应用都会走相同路径。

电视:先确认系统是否提供手动 HTTP 代理

部分 Android TV 或 Google TV 设备可在「设置」→「网络和互联网」→ 当前网络 →「代理设置」中选择“手动”,填写相同的地址和端口。若设备没有这个入口,或目标应用忽略系统代理,这套方法便不能直接覆盖该应用。不要将电脑地址填到电视的 DNS 栏,两者作用不同。

六、连接验证:按端口、请求、规则逐层检查

先用另一台电脑测试,可以更清楚地区分网络连通性与手机应用兼容性。Windows PowerShell 的端口测试只验证 TCP 能否建立连接,不代表节点可用:

Test-NetConnection 192.168.1.10 -Port 7890

TcpTestSucceeded: True 表示 TCP 连接成功。接着发送明确指定代理的请求;在 Windows 中使用 curl.exe,避免旧版 PowerShell 的同名别名影响参数解析:

curl.exe --proxy http://192.168.1.10:7890 --connect-timeout 5 --max-time 15 -I https://example.com/

macOS 或 Linux 可将 curl.exe 改为 curl。返回目标站响应头后,再查看电脑客户端的连接记录,确认目标域名、匹配规则与实际出口。HTTP CONNECT 的成功提示只说明隧道建立,不能代替对后续 TLS 和目标站响应的检查。

现象优先检查判断依据
连接立即被拒绝内核、监听地址、端口号通常没有对应监听,或设备主动拒绝连接
等待后超时防火墙、访客隔离、电脑休眠请求可能被丢弃,或目标设备不可达
返回 HTTP 407代理认证设置端口已可达,但请求未通过代理认证
能连接但目标站失败节点状态、DNS、规则与日志局域网入口已通,应继续检查代理后半程
浏览器正常,其他应用失败应用是否遵循 HTTP 代理不能据此判断需要继续开放更多端口

如果所有请求都走直连,先检查是否处于直连模式,再检查规则顺序和策略组选择。允许局域网连接不会把规则模式自动改成全局代理。对于域名解析,也应结合具体请求路径判断:HTTP CONNECT 可以将目标域名交给代理端处理,但应用可能另外发起本地 DNS 查询,不能把手动代理等同于所有 DNS 都由电脑接管。

七、安全边界与长期使用检查

家庭内网也需要限制访问范围。监听所有接口时,电脑上的其他网卡也可能暴露相同端口;连接 VPN 或虚拟网络后,应重新检查来源限制。路由器不需要为这个方案配置公网端口转发,也不应把 7890 或管理接口映射到互联网。

  • 固定电脑地址:优先在路由器中设置 DHCP 地址保留,避免电脑重连后地址变化,导致手机仍指向旧地址。
  • 按需使用认证:Clash 系列内核可通过 authentication 配置 HTTP/SOCKS 认证,但各设备的代理认证支持不同。启用后必须同步填写凭据,并用 HTTP 407 等响应验证,不要把认证当成防火墙的替代品。
  • 保留控制器边界:代理共享不要求远程管理。保持管理接口仅供必要设备访问,单独管理其认证与防火墙规则。
  • 更新后复查:订阅更新、客户端升级或网络切换后,检查混合端口、允许局域网连接、绑定地址和实际运行配置是否仍一致。
  • 停用时恢复:先关闭手机或电视的手动代理,再关闭电脑的局域网共享及对应防火墙许可,避免设备继续连接已经不存在的入口。