客户端与订阅准备
局域网共享的前提,是电脑上的 Clash 客户端已经能够正常代理请求。先到Clash 客户端下载页按 Windows、macOS 或 Linux 选择客户端,安装后在客户端的「订阅」或「配置」页面添加服务商提供的订阅链接,下载配置并将其设为当前使用配置。各客户端菜单名称不同,具体安装与导入流程可参考快速上手教程。
导入后,先使用规则模式,在实际命中的代理组里选好可用节点,并在电脑上验证访问结果。订阅提供节点和规则,客户端负责运行内核;开启局域网共享不会生成新节点,也不会解决订阅到期、节点失效或规则选择错误的问题。
- 确认当前配置已启用,而不是仅完成下载。
- 记录客户端显示的混合端口,本文统一使用
7890作为示例,实际端口不同时需同步替换。 - 让电脑和手机连接同一个可信局域网。电脑接网线、手机接 Wi-Fi 也可以,只要路由器允许两者互访。
- 暂时关闭手机上其他 VPN 或代理应用,避免测试请求经过另一条链路。
mixed-port、HTTP 与 SOCKS5
mixed-port 是同时接收 HTTP 代理和 SOCKS5 代理请求的监听端口。内核根据连接开始时的协议握手区分请求,不需要为两种协议各开一个端口。它也不是把所有流量混在一起随机转发:请求进入内核后,仍由规则、策略组与节点选择决定出口。
| 配置字段 | 接收协议 | 使用场景 |
|---|---|---|
port | HTTP 代理 | 浏览器、系统 Wi-Fi 手动代理 |
socks-port | SOCKS5 代理 | 支持 SOCKS5 的应用或命令行工具 |
mixed-port | HTTP 与 SOCKS5 | 多个设备统一填写同一个代理端口 |
手机的 Wi-Fi「手动代理」通常填写的是 HTTP 代理,并不是 SOCKS5。填写混合端口即可接收这类请求。访问 HTTPS 网站时,客户端通常通过 HTTP 代理的 CONNECT 方法建立隧道,因此不需要把代理地址写成 https://192.168.50.23,也不需要为普通代理共享安装证书。
allow-lan 与监听地址
allow-lan: true 用于允许局域网设备接入;监听地址决定服务在哪些本机地址上接收连接。如果内核仍只监听 127.0.0.1,电脑自己可以使用,手机却无法访问。下面是常见 Clash 与 mihomo 配置中的共享片段,需要合并到已有配置顶层,而不是替换整份订阅:
mixed-port: 7890
allow-lan: true
bind-address: "*"
mode: rule
"*" 表示监听所有接口,便于演示,但开放范围也更大。在有多个网卡或不可信网络的电脑上,应结合防火墙收窄访问范围;也可以按内核支持情况绑定指定局域网地址。订阅更新可能覆盖手动修改,优先使用客户端提供的「允许局域网连接」「混合端口」设置,或使用其覆写、合并功能保存这些字段。修改后重载配置,查看日志是否出现端口占用或字段错误。
电脑局域网 IP 与端口确认
手机需要填写电脑的局域网地址,而不是电脑的公网地址,也不是 127.0.0.1。后者在手机上代表手机自身。本文假设电脑地址为 192.168.50.23,手机地址为 192.168.50.80,子网掩码为 255.255.255.0;这些是配置示例,请以设备实际显示的地址为准。
Windows
进入「设置」→「网络和 Internet」→ 当前连接的「Wi-Fi」或「以太网」→ 网络属性,查看 IPv4 地址。也可以在终端执行下面的命令,找到正在使用的物理网卡,不要误选 VPN、虚拟机或 TUN 虚拟网卡:
ipconfig
netstat -ano | findstr :7890
监听结果通常应包含 0.0.0.0:7890 或指定局域网地址,并显示 LISTENING。如果只出现 127.0.0.1:7890,应检查局域网开关及监听设置;如果完全没有监听记录,先确认内核已启动和实际端口值。
macOS 与 Linux
macOS 可进入「系统设置」→「网络」→ 当前连接 →「详细信息」→「TCP/IP」查看地址。Linux 可在网络设置里查看 IPv4,也可以用以下命令检查接口和监听状态:
ip -4 addr
ss -lntp 'sport = :7890'
笔记本切换 Wi-Fi 后地址可能变化。长期使用时,可在路由器的 DHCP 地址保留功能中给电脑固定分配地址,比在手机端反复修改代理主机更方便。电脑睡眠、关闭上盖或退出客户端后,共享入口也可能停止工作。
防火墙与可信网络范围
开启 allow-lan 只是让内核接受外部连接,操作系统防火墙仍可能拦截。应放行电脑的代理监听端口,而不是关闭整个防火墙;也不要在路由器上把 7890 转发到公网。
Windows 入站规则
- 打开「Windows 安全中心」→「防火墙和网络保护」→「高级设置」。
- 选择「入站规则」→「新建规则」→「端口」,协议选择 TCP,特定本地端口填
7890。 - 选择「允许连接」,在可信家庭网络中仅勾选「专用」配置文件,并确认当前网络确实标记为专用。
- 规则建立后打开其「属性」→「作用域」,将远程 IP 限制为手机的实际 IP,或可信子网,例如
192.168.50.0/24。
以上 TCP 放行适用于本文的 HTTP 浏览测试,不代表已经配置好所有 SOCKS5 UDP 场景。办公网络、公寓共享网络或访客 Wi-Fi 不适合简单地按整个子网放行,应进一步限制设备来源。
macOS 与 Linux 放行
较新 macOS 可在「系统设置」→「网络」→「防火墙」→「选项」检查相关客户端或内核进程是否允许传入连接;不同系统版本入口可能略有变化。Linux 如果使用 UFW,可按示例子网添加规则,并检查现有策略:
sudo ufw allow from 192.168.50.0/24 to any port 7890 proto tcp
sudo ufw status numbered
手机、平板与电视代理设置
iPhone 与 iPad
- 打开「设置」→「无线局域网」,点击当前 Wi-Fi 右侧的信息按钮。
- 在「HTTP 代理」区域进入「配置代理」,选择「手动」。
- 服务器填电脑的实际地址,例如
192.168.50.23;端口填7890,不要在服务器栏填写协议前缀。 - 本文示例没有设置入站用户名和密码,因此关闭「鉴定」,保存后用浏览器测试。
这项设置属于当前 Wi-Fi,不会自动应用到蜂窝网络。切换其他 Wi-Fi 后需要分别设置。并非每个应用都会遵循系统 HTTP 代理,浏览器能打开网站不能证明所有应用都经过电脑。
Android 手机与平板
常见入口是「设置」→「网络和互联网」→「互联网」→ 当前 Wi-Fi → 编辑网络 →「高级选项」→「代理」→「手动」。部分厂商系统需要先长按网络或进入网络详情,菜单名称也可能为「WLAN」。代理主机名填 192.168.50.23,代理端口填 7890,首次排查时先保持绕过列表为空。
Android 的 Wi-Fi HTTP 代理同样不是 VpnService 全流量接管。游戏、实时通信、使用自建网络栈的应用可能不遵循该设置。若目标应用不支持 HTTP 代理,更合适的方案通常是在手机本地安装兼容客户端并配置 VPN 接管,而不是反复更换电脑端口。
电视与机顶盒
部分 Android TV 设备可在「设置」→「网络和互联网」→ 当前网络 →「代理设置」中选择手动代理,但入口取决于厂商固件。设备没有该选项时,需要检查目标应用是否提供自己的代理设置。普通 HTTP 代理不能保证电视全部应用和 UDP 流量都经过电脑,必要时应使用设备支持的客户端或独立规划路由器代理方案。
连接测试与规则命中
建议按「端口可达 → 代理请求成功 → 规则出口正确」的顺序测试。一次浏览失败,可能是局域网连接、防火墙、节点或规则中的任意一层问题,不宜直接判断为订阅失效。
从另一台电脑验证
如果局域网内有另一台 Windows 电脑,可以先测试 TCP 端口,再明确指定 HTTP 代理发起请求。以下命令使用示例主机地址,目标站点只是用于验证 HTTP 响应:
Test-NetConnection 192.168.50.23 -Port 7890
curl.exe -I --connect-timeout 5 --max-time 20 --proxy http://192.168.50.23:7890 https://example.com/
TcpTestSucceeded: True 只证明 TCP 连接成功,不证明节点或规则可用。收到目标站点的响应头才说明请求链路基本走通。端口不通时,先查地址、监听和防火墙;端口通但请求失败时,再查看内核日志和代理组状态。
SOCKS5 与域名解析
curl --head --connect-timeout 5 --max-time 20 --proxy socks5h://192.168.50.23:7890 https://example.com/
socks5h 表示把目标域名交给代理端处理,区别于工具可能在本地先解析的 socks5 用法。该测试只验证 SOCKS5 的 TCP 请求,不能据此推断 UDP 转发已经正常。
测试时同时打开客户端的「连接」页面,查看手机来源 IP、目标域名、命中规则和策略链。规则模式下,请求可能命中 DIRECT,也可能进入某个代理组;只有确认实际命中的组选择了预期节点,才能判断出口。临时切到全局模式可以辅助区分规则问题,但测试完成后应恢复日常使用模式。
常见故障与共享边界
| 现象 | 优先检查 | 处理方向 |
|---|---|---|
| 电脑可用,手机连接超时 | 监听地址、防火墙、AP 隔离 | 确认局域网地址与 TCP 7890 可达 |
| 重启电脑后失效 | DHCP 地址变化、内核未启动 | 保留地址并检查启动状态 |
| 订阅更新后共享失效 | 局域网字段被覆盖 | 使用客户端覆写并核对运行配置 |
| 浏览器可用,游戏不可用 | 应用是否遵循 HTTP 代理 | 检查应用代理能力或本机 VPN 方案 |
| 手机息屏后访问中断 | 电脑睡眠、Wi-Fi 状态 | 分别检查代理主机与接入设备 |
电脑必须打开系统代理或 TUN 模式吗?
不必。只要内核运行并在局域网地址上监听代理端口,手机就能主动连接。电脑的系统代理主要影响电脑上遵循系统设置的程序;电脑的 TUN 主要接管电脑自身流量,不会自动接管手机全流量。手机需要明确配置代理,或另外设计网关与路由方案。
开启共享后需要开放外部控制端口吗?
不需要。代理入口与 external-controller 是两类服务。不要把仪表盘控制接口作为手机代理地址,也不要为了共享代理开放控制接口。常见控制端口与本文的 7890 混合代理端口用途不同。
能否给共享代理添加密码?
支持相应字段的内核可通过 authentication 配置 HTTP、SOCKS 入站认证,但部分设备和应用对代理认证的支持有限,启用后必须分别验证。认证只能作为额外保护,不能替代防火墙来源限制,更不能作为把代理端口暴露到公网的理由。
结束共享后的清理
- 在手机或平板的当前 Wi-Fi 中,把代理恢复为关闭,否则电脑离线后设备可能继续等待代理响应。
- 关闭客户端的局域网共享开关,删除不再使用的防火墙入站规则。
- 在客户端连接列表中确认接入来源,避免长期向不熟悉的设备开放代理入口。
一套稳定的共享设置,需要同时满足四个条件:电脑代理本身可用、监听允许局域网连接、网络与防火墙允许设备互访、终端应用支持所选代理方式。按这四层依次检查,比同时改端口、节点和规则更容易定位问题。