Clash 局域网共享怎么设置?allow-lan、端口与手机连接电脑代理
Clash 的“局域网共享”就是让同一个网络里的其他设备,把这台电脑上的 Clash 当作代理服务器用。它对应配置里的 allow-lan,官方文档的解释是:允许其他设备经过 Clash 的代理端口访问互联网。本文以 mihomo 内核(原 Clash.Meta)的官方文档为准。
配置文件里怎么写#
mixed-port: 7890
allow-lan: true
bind-address: "*"
allow-lan:可选true或false。mihomo 源码里的默认值是false,所以默认只有本机能用代理。bind-address:绑定地址,只允许其他设备通过这个地址访问。"*"表示绑定所有 IP(默认值);也可以填单个 IPv4,例如192.168.31.31,或单个 IPv6,例如[aaaa::a8aa:ff:fe09:57d8]。mixed-port:混合端口,同时支持 HTTP(S) 和 SOCKS5,其他设备连的就是这个端口。也可以分开用port(HTTP)和socks-port(SOCKS)。
客户端里怎么开#
大多数客户端把这项做成了开关。以 Clash Verge Rev 为例,中文界面在“Clash 设置”里,名为“局域网连接”。它的默认混合端口是 7897(源码 src-tauri/src/constants.rs),和上面配置示例里的 7890 不同,以客户端实际显示的端口为准。
手机怎么连#
- 在电脑上查到它在局域网里的 IP,例如
192.168.1.10。Windows 可以在命令行运行ipconfig,macOS 在“系统设置 → 网络”里查看。 - 手机连到和电脑同一个 Wi-Fi。
- 在手机的 Wi-Fi 详情里把代理设为“手动”,服务器填电脑的 IP,端口填 Clash 的混合端口或 HTTP 端口。
这种方式只对读取系统代理设置的应用有效,和电脑上的“系统代理”是同一个道理。
只允许部分设备连接#
lan-allowed-ips:
- 192.168.1.0/24
lan-disallowed-ips:
- 192.168.1.50/32
lan-allowed-ips:允许连接的 IP 段,只在allow-lan: true时生效,默认是0.0.0.0/0和::/0,即所有地址。lan-disallowed-ips:禁止连接的 IP 段,默认为空。官方文档写明黑名单优先级高于白名单。
加用户名和密码#
在公共网络或宿舍这类不完全信任的环境里,建议给代理端口加验证:
authentication:
- "user1:pass1"
skip-auth-prefixes:
- 127.0.0.1/8
- ::1/128
authentication:对 HTTP(S)、SOCKS 和混合端口生效,格式是用户名:密码,可以写多组。skip-auth-prefixes:这些地址段不需要验证,上例让本机免验证。
连不上时先查什么#
- 防火墙:其他设备访问的是电脑上的端口,系统防火墙可能拦截入站连接。需要在防火墙里放行 Clash 内核或对应端口,具体步骤以操作系统为准。
- 端口和 IP 填错:确认手机里填的是电脑在局域网里的 IP,不是
127.0.0.1;端口和客户端显示的一致。 - 不在同一网段:访客网络、开了 AP 隔离的路由器会禁止设备互访。
- IP 被限制:检查是否设置了
lan-allowed-ips、lan-disallowed-ips或bind-address。
和 TUN、软路由有什么不同#
局域网共享只是把代理端口开放给别的设备,别的设备还要自己设置代理。想让设备不做任何设置就走代理,需要在路由器上运行代理(例如本站的 OpenClash 教程)。电脑本机的全局接管则是 TUN 模式。
常见问题
- Clash 怎么开局域网共享?
- 配置里设 allow-lan: true(客户端里通常叫“局域网连接”),其他设备把代理设为这台电脑的局域网 IP 和 Clash 的混合端口或 HTTP 端口。
- 手机连电脑的 Clash 代理,端口填多少?
- 填 Clash 实际使用的混合端口或 HTTP 端口,以客户端显示为准。例如 Clash Verge Rev 的默认混合端口是 7897。
- 怎么只允许部分设备连接?
- 用 lan-allowed-ips 写允许的网段,用 lan-disallowed-ips 写禁止的网段,黑名单优先级高于白名单;也可以用 authentication 加用户名和密码。