2026-07-02 · 进阶配置 · 约 9 分钟·clashsupport.com

Clash 局域网共享代理设置:mixed-port、allow-lan 与防火墙放行完整步骤

一台电脑跑 Clash,让手机、电视、游戏机共用同一条代理线路,不必逐设备折腾。本文说明 mixed-port 混合端口的含义、allow-lan 的开启方式、bind-address 的取值差异,以及 Windows 与 macOS 两端的防火墙放行和其他设备的代理填写方法。

为什么要做局域网共享代理

Clash 本身是一个跑在单台设备上的代理内核,默认只监听本机地址(127.0.0.1),这意味着只有这台电脑上的软件能通过它出网。但很多场景下,手机、平板、智能电视、游戏机同样需要走同一条线路——单独给每个设备装客户端并不现实,尤其是电视和游戏机往往没有对应的客户端可装。

局域网共享代理的思路很直接:让 Clash 监听局域网内的所有网卡地址,其他设备把系统代理指向这台电脑的 IP 和端口,流量就会经过 Clash 的规则匹配和节点转发再出网。整个过程不需要额外软件,靠的是配置文件里几个字段的组合,以及操作系统防火墙层面的放行。

mixed-port:先搞清楚监听的是哪个端口

Clash 的配置文件里,端口相关字段主要有 port(HTTP 代理端口)、socks-port(SOCKS5 代理端口)和 mixed-port(混合端口)。前两者是历史遗留的分离写法,而 mixed-port 是目前主流客户端(尤其是基于 Clash Meta / mihomo 核心的客户端)推荐的写法:同一个端口同时接受 HTTP 和 SOCKS5 协议的连接,客户端会自动判断协议类型再处理,不必再分别配置两个端口。

mixed-port: 7890

写了 mixed-port 之后,portsocks-port 可以不再单独设置(部分客户端界面会把三者合并为一个"混合端口"输入框)。局域网内的其他设备在填写代理时,统一填这个端口即可,不用区分 HTTP 还是 SOCKS5。

提示

如果你使用的客户端图形界面里只有一个"端口"输入框而没有分离的 HTTP/SOCKS 端口,那它底层用的基本就是 mixed-port,不用额外操作。

allow-lan:打开局域网访问的总开关

光设置好端口还不够。Clash 默认的监听行为是"只听本机",这是出于安全考虑的默认值——避免配置文件被随意分享后,别人不小心把自己电脑的代理端口暴露给整个局域网。要让局域网内的其他设备连接进来,必须显式打开这个开关:

allow-lan: true

这一项在多数客户端的图形界面里也能找到,通常标注为"允许局域网连接""Allow LAN"之类的选项,打开效果和写配置文件是一样的。开启之后,Clash 会开始接受来自局域网内其他 IP 的连接请求,而不只是 127.0.0.1 发来的请求。

需要注意的是,allow-lan 打开后并不会自动帮你穿透系统防火墙——它只是让 Clash 进程本身不再拒绝外部连接,后面的防火墙放行步骤仍然需要单独做。

bind-address:决定监听哪些网卡

bind-address 决定的是 Clash 监听端口时绑定在哪个(或哪些)网络接口上,常见取值有三种:

  • 127.0.0.1:只监听本机回环地址,局域网设备完全连不进来,这是 allow-lan 为 false 时的等效行为。
  • 0.0.0.0:监听本机所有网络接口,包括有线网卡、无线网卡以及可能存在的虚拟网卡(比如 VPN 客户端创建的适配器)。这是局域网共享场景下最常用的取值。
  • 具体网卡 IP,例如 192.168.1.5:只监听指定的这一张网卡,适合电脑有多个网络接口、只想通过某一张对外提供代理的情况。
mixed-port: 7890
allow-lan: true
bind-address: "*"

不少客户端把 bind-address 简写为 *,等价于 0.0.0.0,效果是监听全部接口。如果你的电脑同时接了有线网和 Wi-Fi,又不确定局域网设备通过哪张网卡访问,直接用 *0.0.0.0 最省心,不用逐一排查网卡分配到的 IP。

找到这台电脑的局域网 IP

确认好 mixed-portallow-lanbind-address 三项之后,还需要知道运行 Clash 这台电脑在局域网里的实际 IP 地址,其他设备要填的正是这个地址。

Windows 查看方法

打开命令提示符,执行:

ipconfig

在当前正在使用的网络适配器(有线用"以太网适配器",无线用"无线局域网适配器 WLAN")下面找到"IPv4 地址",形如 192.168.x.x10.0.x.x 的一段,就是要填的地址。

macOS 查看方法

打开"系统设置"→"网络",选中当前连接的网络(Wi-Fi 或以太网),右侧会直接显示 IP 地址;也可以在终端里执行:

ipconfig getifaddr en0

en0 通常对应内置的有线或无线网卡,不同 Mac 型号编号可能不同,如果 en0 没有返回结果可以依次尝试 en1en2

Windows 防火墙放行

Windows 的防火墙默认会拦截外部设备访问某个进程新开的端口,即便 Clash 已经在监听 0.0.0.0:7890,局域网设备发来的连接也可能在防火墙这一层被直接丢弹。放行步骤如下:

  1. 打开"Windows Defender 防火墙"→"高级设置",进入"入站规则"。
  2. 点击右侧"新建规则",类型选择"端口"。
  3. 协议选择 TCP,特定本地端口填写 mixed-port 对应的端口号,例如 7890
  4. 操作选择"允许连接",网络类型可以按需勾选"专用"(推荐,避免公共网络也放行)。
  5. 给规则命名(比如"Clash 局域网代理"),完成创建。

如果客户端本身自带安装包,首次运行时系统通常会弹出"是否允许此应用通过防火墙"的提示,直接勾选"专用网络"并允许即可,效果等同于上面的手动步骤,不需要重复操作。

macOS 防火墙放行

macOS 的防火墙(位于"系统设置"→"网络"→"防火墙")默认对本机主动发出的连接和监听外部连接的处理逻辑不同。如果开启了防火墙,首次有其他设备尝试连接 Clash 监听的端口时,系统会弹出询问是否允许该应用接受入站连接,选择"允许"即可。

如果没有弹出提示,或者提示被误操作拒绝了,可以手动检查:

  1. 进入"系统设置"→"网络"→"防火墙"→"选项"。
  2. 在应用列表里找到 Clash 客户端,确认状态为"允许接入连接"。
  3. 如果列表里没有,点击"+"手动添加客户端应用,再设置为允许。

另外要注意,如果电脑使用了第三方安全软件(部分企业设备或安全套件会额外加一层网络过滤),也需要在对应软件里做同样的放行,系统自带防火墙放行不代表第三方软件也会放行。

其他设备如何填写代理

局域网内的手机、平板、电视、游戏机,基本都在系统的 Wi-Fi 设置里提供手动代理选项,填法大同小异:

  • 代理服务器地址:填运行 Clash 那台电脑的局域网 IP,比如 192.168.1.5
  • 端口:填 mixed-port 的值,比如 7890
  • 协议类型:如果设备只支持填一种协议,选 HTTP 即可,mixed-port 同样能正常接受 HTTP 连接。
  • 安卓设备一般在"Wi-Fi 详情"→"高级选项"→"代理"里选择"手动",填入上述地址和端口;iOS 设备在"Wi-Fi 详情"→"配置代理"里同样选"手动"填写;智能电视和游戏机的入口名称各厂商略有差异,通常也在网络设置的高级选项里能找到"代理服务器"字段。

    注意

    手动填写系统代理只会转发支持系统代理设置的流量,部分应用(尤其是使用自有网络实现的游戏或直播软件)可能不走系统代理,这属于应用层面的限制,与 Clash 配置无关。

    连接不上时的排查顺序

    局域网共享代理配置完成后如果其他设备连不上,建议按下面的顺序逐项排查,大多数情况都能定位到问题:

    1. 确认两台设备在同一个局域网段,尤其是家里存在多个 Wi-Fi 网络(比如访客网络)时,访客网络往往和主网络隔离,互相无法访问。
    2. 确认 allow-lan 确实是 true,而不是保存配置后客户端没有重新加载。
    3. 确认 bind-address 没有被写成 127.0.0.1,这是最常见的遗漏点。
    4. 确认防火墙规则里填写的端口号和实际 mixed-port 一致,改过端口后要同步更新防火墙规则。
    5. 在运行 Clash 的电脑上用手机浏览器直接访问 http://局域网IP:端口,如果连接被拒绝而不是超时,说明端口已经通,问题更可能出在其他设备的代理配置本身。

    路由器层面一般不需要额外设置,局域网内设备互访不经过路由器的转发规则,只有当代理服务和客户端跨越不同子网(比如通过 VPN 连回家庭网络)时,才需要考虑路由和端口转发的问题,这属于另一个话题,不在常规局域网共享的范围内。

Clash下载