先确认共享范围:电脑提供入口,设备主动连接
Clash 局域网共享的常见做法,是让电脑监听一个代理端口,再让手机、平板或电视把代理服务器设为电脑的局域网 IP。电脑继续使用已有订阅、代理组与规则处理这些连接。手机不需要复制电脑上的节点配置,但电脑必须保持开机、联网,且 Clash 内核正在运行。
这不是把电脑自动变成路由器。仅开启 allow-lan,不会强制接管同一 Wi-Fi 下所有设备的流量;其他设备仍需手动指定代理,或由另行配置的网关转发。本篇只讲显式 HTTP/SOCKS5 代理,不涉及旁路由、路由器透明代理与端口映射。
- 电脑:先确认本机使用当前配置可以访问目标网站,避免把节点故障误判成共享问题。
- 网络:电脑与接收设备之间必须允许直接通信。同一个路由器下的有线与无线设备通常可以互通,访客网络则可能禁止互访。
- 示例地址:下文假定电脑 IPv4 为
192.168.1.20,混合端口为7890。操作时替换成实际地址与端口。
mixed-port、allow-lan 与 bind-address 分别控制什么
| 字段 | 示例值 | 作用 |
|---|---|---|
mixed-port | 7890 | 在同一端口接收 HTTP 与 SOCKS5 代理请求。 |
allow-lan | true | 允许局域网设备访问代理入口。 |
bind-address | "*" | 指定监听地址;星号表示所有地址,需配合局域网访问设置。 |
mode | rule | 进入规则模式,按运行配置中的规则处理连接。 |
同一个端口,不代表同一种协议
mixed-port 根据接入请求识别协议。手机 Wi-Fi 设置中的“HTTP 代理”可以连接 7890,支持 SOCKS5 的应用也可以连接这个端口。HTTPS 网站通常通过 HTTP 代理的 CONNECT 隧道传输,不需要为了打开 HTTPS 网页另开一个“HTTPS 端口”,也不需要安装证书。
单独的 port 用于 HTTP 代理,socks-port 用于 SOCKS 代理;使用混合入口时,不要再让其他监听字段占用同一个地址和端口。电脑已有程序监听 7890 时,应先确认占用者,或者选择空闲端口并同步修改设备设置。
监听范围与放行范围要一起检查
127.0.0.1 是回环地址,只服务本机。即使手机能连到电脑的 Wi-Fi,也不能通过电脑的回环监听进入代理。bind-address: "*" 便于首次测试,但可能同时覆盖有线、无线及其他网络接口;长期使用可绑定固定局域网地址,并用防火墙进一步限制来源。
配置共享入口,并确认客户端实际加载的值
先备份当前可用配置。以下内容是要合并到现有配置顶层的片段,不是一份包含节点的完整订阅。保留原来的 proxies、proxy-providers、proxy-groups 和 rules,不要用这几行覆盖整个文件。
mixed-port: 7890
allow-lan: true
bind-address: "*"
mode: rule
log-level: info
- 在客户端设置中确认“混合端口”和“允许局域网连接”的实际值;不同客户端菜单名称可能略有差别。
- 若客户端提供配置覆写、合并或补丁功能,用它保存共享设置。直接编辑订阅生成的文件,可能在下一次订阅更新后丢失。
- 保存并重新加载配置,必要时重启内核。查看日志,确认没有 YAML 解析错误或端口占用错误。
- 再次查看生效配置或监听状态。图形界面可能覆盖 YAML 中的端口与开关,以内核运行结果为准。
YAML 顶层字段不应额外缩进,同一字段也不要重复声明。星号需要放在引号内;未加引号的 * 在 YAML 中具有特殊含义,可能导致解析失败。若只绑定有线网卡地址,可改为 bind-address: "192.168.1.20",但电脑地址变化后也要更新配置。
查电脑 IP,按网络范围放行防火墙
Windows:检查地址与 TCP 监听
Windows 11 可在“设置”→“网络和 Internet”→当前的“Wi-Fi”或“以太网”连接属性中查看 IPv4 地址,也可在终端执行 ipconfig。选择正在连接路由器的物理网卡地址,不要抄到 TUN 虚拟网卡、VPN 或其他虚拟适配器的地址。
ipconfig
Get-NetTCPConnection -State Listen -LocalPort 7890
第二条命令在 PowerShell 中执行。若 LocalAddress 只有 127.0.0.1,说明仍是本机监听;若为 0.0.0.0,通常表示 IPv4 所有接口;若为 192.168.1.20,则是指定地址。没有结果时,先检查内核是否启动以及实际端口是否为 7890。
确认当前连接确实是可信网络后,可以在“Windows 安全中心”→“防火墙和网络保护”→“高级设置”→“入站规则”中创建 TCP 端口规则。下面是管理员 PowerShell 的等价示例,仅允许专用网络中的 192.168.1.0/24 来源;如果家中网段不同,必须先修改:
New-NetFirewallRule -DisplayName "Clash LAN TCP 7890" `
-Direction Inbound -Action Allow -Protocol TCP `
-LocalPort 7890 -RemoteAddress 192.168.1.0/24 `
-Profile Private
这条规则用于本文的 HTTP 代理连通测试,不是 UDP 共享配置。停止共享后,可用以下命令删除该规则,避免留下长期开放的入口:
Remove-NetFirewallRule -DisplayName "Clash LAN TCP 7890"
macOS 与 Linux:检查对应内核进程
macOS 可在“系统设置”→“网络”→当前连接→“详细信息”→“TCP/IP”查看地址,并在“网络”→“防火墙”→“选项”中检查客户端或内核程序是否被阻止。不同系统版本的按钮位置可能调整;客户端升级更换了内核程序后,也应重新检查授权。
Linux 可运行 ip -4 addr 查地址,再运行 ss -lntp 查监听。若系统已使用 UFW,且实际家庭网段确为 192.168.1.0/24,可以添加以下限源规则。不要为了这一条规则,在不了解远程登录影响时贸然启用或重置防火墙。
sudo ufw allow from 192.168.1.0/24 to any port 7890 proto tcp
手机与电视填写代理地址:服务器是电脑,不是路由器
iPhone 与 iPad
- 打开“设置”→“无线局域网”,点当前 Wi-Fi 右侧的信息按钮。
- 找到“配置代理”,选择“手动”。
- “服务器”填写电脑地址
192.168.1.20,“端口”填写7890。 - 若电脑没有配置代理认证,保持“鉴定”关闭;保存后用 Safari 新建页面测试。
这项设置跟随当前 Wi-Fi,不会自动应用到蜂窝数据。不要把服务器写成手机自己的 IP、路由器网关或 127.0.0.1,也不要在服务器栏添加 http://。若代理入口要求认证,需要填写对应用户名和密码;部分应用对代理认证的支持并不完整,应逐个验证。
Android 手机
在系统 WLAN 设置中编辑当前网络,找到“高级选项”或“代理”,选择“手动”。主机名填写 192.168.1.20,端口填写 7890。以 Pixel 系列常见界面为例,入口为“设置”→“网络和互联网”→“互联网”→当前网络设置→编辑→“高级选项”→“代理”;其他品牌以实际网络编辑界面为准。
“不使用代理的地址”属于设备端绕过列表,与 Clash 的 rules 不是同一层。首次测试先保持该项默认,不要填写含义不明的通配规则。Android Wi-Fi 手动代理主要面向读取系统 HTTP 代理的应用,不能据此认定游戏、视频应用或后台服务也会使用它。
电视与电视盒子
在电视的“设置”→“网络”中打开当前连接,查找“代理设置”或网络编辑选项。如果支持手动 HTTP 代理,同样填写电脑 IP 与 7890。部分电视只在 Wi-Fi 编辑页提供代理项,有线网络未必支持;不要为寻找代理入口随意改成静态 IP,以免把网关或 DNS 填错。
如果电视没有代理选项,可检查目标应用是否自带 HTTP/SOCKS5 设置,或是否适合安装独立兼容客户端。仅把电视的 DNS 改成电脑地址,不能替代代理配置;本文也没有开启供局域网使用的 DNS 服务。
按监听、网络、规则三层验证共享结果
建议先用手机浏览器测试一个明确需要代理的 HTTPS 网站,同时打开电脑客户端的连接列表或日志。重点看连接是否进入内核、目标域名是否正确、命中了哪条规则以及最终出口,而不是只看手机状态栏有没有图标。
- 先验证端口可达:如果还有一台 Windows 电脑,可执行
Test-NetConnection 192.168.1.20 -Port 7890。TcpTestSucceeded: True只说明 TCP 入口可达,不代表节点与规则一定正常。 - 再验证代理请求:在另一台装有 curl 的电脑执行下方命令,明确指定代理,排除应用忽略系统代理的影响。
- 最后看实际应用:浏览器成功后,再单独验证电视应用、局域网投屏或其他业务,不把网页测试结果扩展成“全部流量已接管”。
curl --proxy http://192.168.1.20:7890 --connect-timeout 5 --max-time 20 -I https://example.com/
这里 5 秒是连接阶段超时上限,20 秒是整次请求时间上限,不是延迟测量结果。连接列表中若请求命中了 DIRECT,它仍然可能经过电脑代理入口,只是后续由电脑直连目标;需要结合规则与出口判断。
| 现象 | 优先检查 | 下一步 |
|---|---|---|
| 端口连接超时 | 防火墙、访客网络、AP 隔离、电脑地址 | 确认设备互通,并检查入站规则作用的网络配置文件。 |
| 连接被拒绝 | 端口未监听、内核退出、地址绑定错误 | 查监听状态,核对实际混合端口。 |
| 返回 HTTP 407 | 代理要求身份认证 | 检查设备是否支持认证,并填写有效凭据。 |
| 请求进入日志但失败 | 节点、规则、电脑侧 DNS 或上游连接 | 对照同一目标在电脑本机的访问结果。 |
| 浏览器正常,电视应用失败 | 应用不读取 HTTP 代理,或业务依赖 UDP | 检查应用代理能力,按需要改用设备端方案。 |
ping 失败不能单独证明代理不可达,因为系统可能禁止 ICMP 回应。反过来,能 ping 通也只证明部分网络连通,仍需测试 7890 的 TCP 连接。若电脑本机也打不开同一目标,应先修复配置或上游节点,而不是不断更换手机端口。
TUN、DNS 与 UDP:共享代理的边界
电脑开启 TUN,不等于手机流量自动进入
TUN 主要处理进入电脑虚拟网络接口的流量。仅在电脑客户端打开 TUN,不会自动给同网段手机下发代理,也不会让普通电脑成为其他设备的默认网关。本文的显式代理方式通常不要求开启 TUN;电脑系统代理开关也不等于局域网共享开关,关键仍是监听入口和设备端设置。
HTTP 代理不覆盖所有协议
普通 HTTP 代理与 HTTPS CONNECT 主要服务 TCP 连接,不能承诺接管游戏 UDP、QUIC、投屏发现或局域网广播。虽然 SOCKS5 协议有 UDP 转发机制,能否实际使用还取决于应用、内核、节点以及防火墙;手机 Wi-Fi 页面填写 HTTP 代理,并不会自动获得 SOCKS5 UDP 能力。
DNS 位置由请求方式决定
HTTP 代理通常会收到目标主机名,再由电脑侧按当前配置处理解析与连接;但应用可能预先解析域名,也可能忽略系统代理。SOCKS5 是否把域名交给代理解析,同样取决于应用的请求方式。因此,不应把“设置了 Wi-Fi 代理”当成设备所有 DNS 请求都由 Clash 处理的保证。
日常使用:固定地址、避免休眠、离开网络前关闭
- 固定电脑地址:优先在路由器 DHCP 设置中为电脑保留地址,避免重连后从
192.168.1.20变成其他 IP。手工设静态地址时要核对网段、网关和地址冲突。 - 确认供电状态:笔记本合盖或休眠后,代理连接通常会中断。需要持续共享时,在系统电源设置中按需调整,并注意通风与用电。
- 限制接入范围:检查现有防火墙是否已经有更宽泛的应用放行规则;新增限源规则不会自动收紧旧规则。多网卡设备尤其需要复核。
- 停用时恢复设备:先把手机或电视的代理改回“关闭”或“无”,再关闭电脑共享。否则设备可能持续向已离线的电脑发请求。
完整排查顺序可以压缩为四步:确认电脑本机可用,确认混合端口对局域网监听,确认设备能穿过防火墙连接该端口,最后确认应用请求的规则与出口。沿着这条链路检查,比反复导入订阅或同时打开多个网络开关更容易定位问题。