Clash 混合端口与局域网共享代理设置:让其他设备走同一份配置

开启 allow-lan 与 mixed-port 后,同一局域网内的电视、游戏机、平板都能借用电脑上的 Clash 代理。本文讲清端口含义、各系统防火墙放行方法与常见连不上的原因。

混合端口是什么,为什么局域网共享要用它

Clash 内核在本地会同时监听几种代理协议:HTTP 代理端口、SOCKS5 代理端口,以及混合端口(mixed-port)。前两者各管一种协议,客户端连接时要分清用哪个端口;混合端口则是把 HTTP 与 SOCKS5 合并到同一个端口上,内核会自动识别客户端发来的是哪种协议再分别处理。对使用者来说,好处很直接:只需要记住一个端口号,不管是浏览器、下载工具,还是电视、游戏机这类只支持某一种代理协议的设备,都指向这同一个端口即可,不用为不同设备分别配置不同端口。

大多数现代 Clash 客户端(包括基于 Mihomo 核心的图形界面客户端)默认就会启用一个混合端口,常见值是 7890。如果你打开配置文件(config.yaml),通常能看到类似这样的字段:

mixed-port: 7890
allow-lan: true
bind-address: "*"

这三行分别做了三件事:指定混合端口号、允许局域网内其他设备连接、把监听地址绑定到所有网卡而不是只绑定本机回环地址。三者缺一,局域网共享就无法正常生效——很多人只改了 allow-lan 却忘了检查 bind-address,结果依旧连不上,下一节会具体展开这两个开关的关系。

开启局域网共享的两个开关:allow-lan 与 bind-address

allow-lan 控制的是"是否接受非本机来源的连接请求"。默认情况下,为了安全,大多数客户端会把这个值设为 false,也就是只允许本机上的程序连接代理端口,局域网里的其他设备发来的请求会被直接拒绝。把它改成 true,是打开局域网共享的第一步,也是最容易被记住的一步。

bind-address 则决定内核把服务"绑"在哪张网卡上。如果只绑定 127.0.0.1(本机回环地址),即便 allow-lan 已经打开,局域网设备依然连不进来,因为流量根本没有走到对外的网卡上。把 bind-address 设为 "*" 或者具体的局域网 IP(例如 192.168.1.5),才能让端口真正对外部设备可见。大多数图形界面客户端会把这一项做成开关,界面上写着"允许局域网连接",勾选后底层其实是同时改了 allow-lan 和 bind-address 两处,不需要手动编辑配置文件。

局域网共享意味着同一网络里的任何设备理论上都能尝试连接你的代理端口。如果所在网络是公司、学校或咖啡馆的公共 Wi-Fi,建议只在确认可信的家庭网络里开启这项功能,用完及时关闭。

确认电脑局域网 IP 的方法很简单:Windows 下打开命令提示符输入 ipconfig,找到"IPv4 地址";macOS 下打开"系统设置 → 网络",选中当前连接的网络即可看到 IP;Linux 下用 ip addrhostname -I 查看。记下这个 IP,稍后配置其他设备时要用到——格式通常类似 192.168.1.x10.0.0.x

各系统防火墙放行方法

就算配置文件里已经打开了 allow-lan,操作系统自带的防火墙依然可能默默拦截外部连接,这是局域网共享连不上的第二大原因。三大桌面系统的放行思路都类似:找到对应程序或端口,允许"专用网络/局域网"方向的入站连接。

系统放行位置操作要点
WindowsWindows Defender 防火墙 → 允许应用通过防火墙找到 Clash 客户端程序,勾选"专用网络"列;若列表里没有,用"允许其他应用"手动添加安装目录里的可执行文件
macOS系统设置 → 隐私与安全性 → 防火墙 → 选项找到对应客户端,设置为"允许传入连接";如果防火墙整体处于关闭状态可跳过此步
Linuxufw / firewalld 等防火墙工具sudo ufw allow 7890/tcp 一类命令放行混合端口对应的 TCP 端口号,端口号需与配置文件中的 mixed-port 保持一致

需要留意的是,Windows 防火墙有时会把"专用网络"和"公用网络"分开处理——家庭或办公网络若被系统误判为"公用",即便放行了程序,连接依然会被拒绝。可以在"网络和 Internet 设置"里把当前 Wi-Fi 或以太网连接手动改为"专用网络",再重新检查一次防火墙规则。

让电视、游戏机、平板走同一份配置

很多设备没有安装 Clash 客户端的能力,但只要支持手动设置代理,就能借用电脑上跑着的这一份配置。操作思路是统一的:在设备的网络设置里找到"代理"选项,手动填入电脑的局域网 IP,端口填混合端口号。

  • 智能电视 / 电视盒子:进入 Wi-Fi 设置,长按或点击当前已连接的网络进入详情,找到"代理设置",选择"手动",依次填入 IP 与端口。安卓系统电视机基本都支持这一项,部分定制系统可能藏在"高级设置"里。
  • 游戏机:主流主机的网络设置里同样有代理选项,路径一般是"设置 → 网络 → 设置 Internet 连接 → 自定义 → 代理服务器 → 使用",填入相同的 IP 与端口即可。
  • 平板 / 手机:连接同一 Wi-Fi 后,长按该网络进入详情,找到"配置代理",选"手动",填写电脑 IP 与混合端口。iOS 与 Android 的具体入口位置略有差异,但字段名称基本一致。

由于混合端口同时支持 HTTP 与 SOCKS5 协议,绝大多数只提供"HTTP 代理"填写项的设备也能正常工作——它们实际发出的是 HTTP 请求,内核会自动识别并按对应协议处理,不需要额外区分。

配置完成后,这些设备的流量分流规则、节点选择,依然由电脑上运行的这一份 Clash 配置统一决定,不需要在设备上单独维护规则或订阅。

常见连不上的原因排查

局域网共享配好之后仍连不上,通常逃不出下面几种情况,按顺序排查效率最高:

  1. allow-lan 或对应开关没有真正生效。改完配置后要确认客户端已经重新加载配置或重启,部分客户端修改设置后需要手动点击"应用"才会写入运行中的内核。
  2. bind-address 仍绑定在本机回环地址。图形界面里的"允许局域网连接"开关理论上会同步处理,但如果是手动编辑 YAML 文件,容易漏改这一项。
  3. 防火墙拦截。参照上一节逐一确认 Windows/macOS/Linux 对应的放行位置,尤其注意"专用网络"与"公用网络"的区分。
  4. IP 或端口填错。电脑重启或切换网络后局域网 IP 可能发生变化,尤其是通过 DHCP 自动获取地址的网络环境;建议在路由器后台把电脑 IP 设为静态绑定,避免每次都要重新查看。
  5. 两台设备不在同一网段。如果电脑接的是 5GHz Wi-Fi、其他设备接的是访客网络或 2.4GHz 隔离网络,即便同属一个路由器,也可能被路由器的访客网络隔离功能挡住,需要在路由器设置里关闭"访客网络隔离"或改为同一网络。

逐项排查完仍未解决时,可以先在电脑本机用浏览器手动设置同样的代理地址测试,确认代理本身工作正常,再回头检查是设备端问题还是网络隔离问题,这样能更快定位到底卡在哪一环。

把配置跑起来

局域网共享说到底是在已经跑起来的 Clash 客户端基础上多开两个开关。如果还没有安装客户端,先完成下载与基础配置,再回到本文照着开启共享。

下载客户端