一、为什么默认「别的设备连不上」?
Clash / Mihomo 为了降低暴露面,通常把入站监听绑定在 127.0.0.1(回环地址)上。这样只有本机进程能访问 HTTP 或 SOCKS 代理端口,同一 Wi-Fi 下的手机即便知道端口号,也无法建立连接。要让局域网内其他设备把流量交给这台电脑上的 Clash,需要同时满足三件事:允许监听非回环地址(常见为打开 allow-lan 并正确设置 bind-address)、系统防火墙允许对应端口的入站连接,以及其他设备使用正确的「宿主机局域网 IP + 端口」作为代理地址。三者缺一,就会表现为「手机填了代理却没网」或「时通时不通」。
二、allow-lan 与 bind-address:允许局域网连接的核心开关
在 Mihomo(Clash Meta)系配置中,allow-lan 为 true 时,核心才允许接受来自局域网网卡的连接请求(具体仍受 bind-address 约束)。若该值为 false,即便你记住了端口号,其他设备也会被拒绝。绑定地址方面,常见写法是将 bind-address 设为 '*' 或 0.0.0.0(表示在所有 IPv4 接口上监听,具体以你所用内核版本文档为准),这样无线网卡、有线网卡上的局域网 IP 均可被访问。若你明确只想在某一网卡上暴露代理,也可以改为该网卡的局域网地址,以缩小暴露面。
图形客户端(如 Clash Verge Rev)通常在「设置」或「局域网」相关选项里提供「允许局域网连接」开关,其背后即写入或覆盖上述字段。修改后务必重载配置或重启核心,再在运行电脑的终端用 netstat / ss 或系统网络工具确认监听已落在 0.0.0.0:端口 或你的期望地址上。
# Example — adjust port and policy group names to match your profile
allow-lan: true
bind-address: '*'
mixed-port: 7890
三、混合端口、HTTP 与 SOCKS:别的设备该填哪个?
很多教程里会同时出现 port、socks-port 与 混合端口 mixed-port。简化理解:mixed-port 常在同一端口上同时提供 HTTP 代理与 SOCKS5 能力(以 Mihomo 实际行为与客户端说明为准),因此给其他设备配置时,优先查阅你当前配置里实际启用的端口数字。手机系统代理设置里通常填写 HTTP 代理主机名 + 端口;需要 SOCKS5 的应用则填同一台机器的局域网 IP 与对应 SOCKS 端口(若与 HTTP 共用 mixed-port,则端口号一致,协议在客户端里选择 SOCKS5 即可)。
若你的配置仍分别指定 port 与 socks-port,请用手机或另一台电脑分别尝试两类协议,避免「端口抄对了、协议选错了」导致无法握手。Windows 与 macOS 上 Clash 的默认端口可能因安装包或历史配置不同而不一定是 7890,以当前生效的 config.yaml 或客户端界面显示为准。
四、Windows:如何放行入站端口
在 Windows 上,即使 Clash 已监听 0.0.0.0,内置防火墙仍可能拦截来自局域网其他主机的入站连接。常见做法是新增一条入站规则,允许程序或指定 TCP 端口(例如你的 mixed-port)在「专用」网络配置文件下通过。操作路径大致为:控制面板或「Windows 安全中心」→ 防火墙 → 高级设置 → 入站规则 → 新建规则 → 选择端口 → TCP → 填写具体端口号 → 允许连接 → 作用范围勾选「专用」(避免在不可信的公共网络 profile 上放开)。若你使用第三方安全软件,还需在其界面中同步放行,否则仍会出现手机显示已连接代理却无法访问外网的现象。
排错时可在手机端先 ping 运行 Clash 的电脑局域网 IP,确认二层网络互通;再在同一局域网内用另一台设备访问 http://电脑IP:外部控制器端口 仅作连通性参考(注意不要将管理端口长期暴露给不可信网络)。端口被占用、规则未加载等问题可对照《Clash 常见报错解决方案》中的通用流程处理。
五、macOS:防火墙与「传入连接」提示
macOS 用户可在「系统设置」→「网络」→「防火墙」中查看是否启用防火墙。若开启,可能需要允许 Clash 核心或你所用的图形客户端(如 Verge)接受传入连接。首次监听局域网时,系统可能弹出是否允许该应用接受网络连接的对话框,应选择允许。与 Windows 类似,若仍无法从手机连上,请确认当前 Wi-Fi 被归类为可信网络、未启用隔离客户端的访客网络(部分路由器「AP 隔离」会导致设备间无法互访),并核对运行 Clash 的 Mac 的局域网 IP 是否发生变化(DHCP 续租后 IP 变化会导致手机仍填旧地址)。
在苹果芯片与 Intel Mac 上,步骤没有本质区别;若你使用多个网络接口(同时连接网线与 Wi-Fi),请以手机所在网段能访问到的那张网卡的 IP 为准,可在「系统设置」→「网络」中查看当前 IP。
六、图形客户端里建议的操作顺序
以常见流程归纳:先保证本机浏览器通过系统代理或 TUN 已能正常访问目标站点;再在客户端中开启「允许局域网连接」或等效选项;记录界面显示的本地代理端口;随后在 Windows 或 macOS 上完成防火墙放行;最后在手机「WLAN 详情 → 配置代理 → 手动」中填入运行 Clash 的电脑的局域网 IP 与端口。若你希望局域网设备也获得与电脑一致的「透明」体验,可进一步了解《Clash TUN 模式开启方法》,但手机侧通常仍以系统代理或第三方 App 内 SOCKS 配置为主,与电脑 TUN 是否开启无必然绑定关系。
七、局域网安全:开启 allow-lan 意味着什么?
打开 allow-lan 后,同一二层网络内任何能连到你电脑 IP 与端口的设备,都可能把你的 Clash 当作上游代理使用——这包括室友的手机、公司访客 Wi-Fi 下的其他终端,前提是网络未隔离且防火墙已放行。代理通道本身未必替你加密与节点之间的链路(取决于节点协议),但局域网内明文 HTTP 代理若被嗅探,仍可能泄露浏览行为;更现实的风险是未授权使用与滥用出口,给你带来政策或账号层面的麻烦。
缓解思路包括:仅在可信家庭网络短期开启;离开环境后关闭允许局域网;在路由器上启用客户端隔离时改为有线直连或关闭隔离;避免在咖啡厅等公共 Wi-Fi 上为图方便打开局域网共享;定期检查外部控制器与 API 端口是否仅监听本机。若你完全不需要多设备共享,保持 allow-lan: false 是最省心的默认策略。
八、验证与简单自检清单
完成配置后,建议按顺序自检:本机 curl -x http://127.0.0.1:端口 https://www.google.com/generate_204 或等价命令应返回预期;在同一局域网另一台设备上,将代理指向电脑局域网 IP后再试访问;在 Clash 连接列表中应能看到来自手机 IP 的新连接。若仅本机可用、手机不可用,优先怀疑防火墙、AP 隔离或 IP 填错;若本机也不可用,回到订阅与模式设置排查。需要全局接管设备流量时,移动端往往还要配合支持 TUN 的客户端,这与电脑侧 Clash 局域网代理是两条不同路径,勿混为一谈。
九、小结
Clash 局域网共享的本质,是在可控前提下把本机代理服务暴露给同网段设备:用 allow-lan 与合适的 混合端口 完成监听,用操作系统防火墙把真正的连通性补齐,并在心中始终把 局域网安全当作与节点质量同等重要的一环。相比其他同类工具,Clash 在 Mihomo 内核与图形客户端上的生态成熟,规则与连接可视化也更利于你在「多设备共享代理」时快速判断流量是否走错出口。→ 立即免费下载 Clash,开启流畅上网新体验