Clash 混合端口与局域网共享代理:监听地址、防火墙和设备接入
从混合端口、局域网访问开关和监听地址入手,说明同一网络内其他设备的接入与安全边界。
先给结论:共享代理需要同时打通四个环节
在一台电脑上运行 Clash,再让同一局域网内的手机、平板或另一台电脑通过它访问代理,核心并不是只打开一个“允许局域网连接”开关。完整链路包含四个环节:Clash 内核必须监听可被其他设备访问的网卡地址;局域网访问开关必须启用;主机防火墙必须允许该端口的入站连接;接入设备必须填写正确的主机局域网地址和端口。任何一环不成立,客户端都会表现为超时、拒绝连接或只有部分应用可用。
常见且便于管理的做法是启用一个 mixed-port,让 HTTP 代理和 SOCKS5 代理共用同一端口。手机系统的手动 Wi-Fi 代理通常填写 HTTP 代理;支持 SOCKS5 的桌面软件或网络工具则可以连接同一个端口,并按 SOCKS5 协议完成握手。混合端口只是统一入口,不会把普通 HTTP 请求与 SOCKS5 请求混淆,内核会根据连接协议识别流量。
一个基础配置可以写成下面这样。不同图形客户端可能用界面开关生成这些字段,也可能在订阅更新后重新覆盖配置,因此修改后应重新打开实际运行配置确认结果,而不是只检查订阅原文件。
mixed-port: 7890
allow-lan: true
bind-address: "*"
mode: rule
log-level: info
mixed-port 指定代理入口,allow-lan 允许来自本机之外的局域网连接,bind-address 决定监听哪些本地地址。使用星号意味着监听可用接口,配置简单但范围较宽。更严格的部署可以绑定运行 Clash 的那块局域网网卡地址,例如 192.168.1.20,前提是该地址保持稳定。
混合端口解决什么问题
传统 Clash 配置可以分别声明 port 和 socks-port,前者提供 HTTP 代理入口,后者提供 SOCKS5 代理入口。这样做便于对两类协议分别控制,但接入设备较多时,需要记住两个端口,也容易在系统代理设置中填错。mixed-port 将两种入口合并到一个 TCP 端口,适合家庭局域网、测试设备和临时共享场景。
混合端口不会自动接管局域网设备的全部流量。接入设备仍然需要显式设置 HTTP 或 SOCKS5 代理,或者由该设备上的应用主动连接代理。手机 Wi-Fi 设置中的“手动代理”通常只覆盖遵循系统 HTTP 代理设置的应用;某些应用使用独立网络栈、直接连接目标地址或主动忽略系统代理,因此可能不会经过 Clash。遇到“浏览器可用、某个应用不可用”时,先判断应用是否支持系统代理,而不是立即修改节点或规则。
SOCKS5 的 UDP 转发能力还受到接入应用、内核版本和具体协议实现影响。不能因为 TCP 请求通过混合端口成功,就推断所有 UDP 流量也会以相同方式处理。游戏、实时通信和依赖 QUIC 的应用需要单独验证。若目标是接管一台设备的大部分网络流量,应在该设备本机使用兼容的 TUN 模式,而不是把远端混合端口当作完整的虚拟网卡方案。
| 入口方式 | 接入端填写内容 | 适用场景 | 主要限制 |
|---|---|---|---|
| HTTP 代理 | 主机局域网 IP 与混合端口 | 浏览器、系统 Wi-Fi 手动代理 | 应用可能不遵循系统代理 |
| SOCKS5 代理 | 主机局域网 IP 与混合端口 | 支持 SOCKS5 的桌面程序与工具 | UDP 能力需要逐项验证 |
| TUN 模式 | 通常在接入设备本机配置 | 需要覆盖更多应用流量 | 涉及权限、路由与 DNS 设置 |
混合端口与规则模式的关系
端口只负责接收连接,最终选择直连、代理节点还是拒绝连接,仍由 Clash 的运行模式、规则集和策略组决定。在 rule 模式下,局域网设备发来的域名或目标地址会进入同一套规则匹配流程;在全局模式下,流量通常交给全局策略组;在直连模式下,即使设备成功连接混合端口,请求也可能直接访问目标。
因此,测试共享代理时需要同时记录当前模式和策略组选择。若手机能够打开网页,但出口地址没有变化,应检查规则是否命中了 DIRECT,以及目标域名是否被本地 DNS 解析成与预期不同的地址。端口连通只说明接入链路成立,不等于某条代理规则已经命中。
allow-lan 与监听地址必须配合检查
allow-lan: true 表示允许其他主机访问代理监听器,但真正能够从哪块网卡接收连接,还取决于监听地址。若进程仅监听 127.0.0.1,该端口只对本机回环接口开放,其他设备即使能 ping 通电脑,也无法连接代理。若监听 0.0.0.0 或由配置中的星号覆盖全部接口,端口会出现在多个 IPv4 接口上;如果绑定具体局域网 IP,则只通过对应接口提供服务。
更稳妥的配置思路是先确定共享范围。只有一块家庭网卡、网络环境受控时,可以使用全接口监听,再通过防火墙限制来源网段。电脑同时连接公司 VPN、虚拟机网卡、容器网络和热点时,建议绑定实际局域网地址,避免代理入口出现在不需要的接口上。绑定具体地址后,如果 DHCP 重新分配了 IP,Clash 可能无法继续监听旧地址,因此应在路由器中设置 DHCP 地址保留,或在地址变化后同步修改配置。
如何找到供其他设备填写的地址
- Windows 可在网络设置中查看当前 Wi-Fi 或以太网的 IPv4 地址,也可以运行
ipconfig,找到正在使用且带默认网关的网卡。 - macOS 可在系统网络设置中查看当前连接详情,也可以使用
ifconfig检查活动接口地址。 - Linux 可运行
ip address,结合ip route中的默认路由判断实际出站接口。
不要把 127.0.0.1 填到手机上。回环地址永远指向当前设备自身,手机访问 127.0.0.1:7890 时寻找的是手机本机服务,而不是运行 Clash 的电脑。也不要优先填写虚拟机、Docker、VPN 或临时热点网卡地址,除非接入设备确实位于对应网络。
确认内核实际监听状态
图形界面显示“允许局域网”并不能替代系统层面的监听检查。Windows 可以使用 PowerShell 查询端口,macOS 和 Linux 可以查看监听套接字。输出中若只有回环地址,说明远端设备仍无法连接;若看到局域网地址或通配地址,则继续检查防火墙。
# Windows PowerShell
Get-NetTCPConnection -State Listen -LocalPort 7890
# macOS
lsof -nP -iTCP:7890 -sTCP:LISTEN
# Linux
ss -lntp | grep 7890
端口被其他程序占用时,Clash 可能启动失败、自动换用客户端预设端口,或在日志中报告监听错误。排查时应以当前内核日志和系统套接字结果为准。修改端口后,所有接入设备也必须同步更新,旧的 Wi-Fi 代理配置不会自动发现新端口。
防火墙只开放需要的网络与端口
当 Clash 已经监听局域网接口,但其他设备连接超时,主机防火墙通常是下一检查点。防火墙规则应允许混合端口的 TCP 入站连接,并尽量限定到当前家庭或办公子网。例如电脑地址是 192.168.1.20、子网掩码是 255.255.255.0,常见来源范围是 192.168.1.0/24。实际网段必须根据路由器和系统网络信息确定,不能直接套用示例。
Windows 中应先确认当前连接被识别为专用网络还是公用网络。入站规则可以绑定 Clash 客户端程序,也可以绑定指定 TCP 端口;端口规则更容易验证,但需要在端口变化时维护。规则的作用域应限制为本地子网或明确地址,而不是对所有远程地址开放。macOS 首次接收入站连接时可能显示系统提示,应确认允许的是当前使用的客户端进程。Linux 则需要根据实际使用的 nftables、firewalld、ufw 或发行版防火墙配置入站策略。
防火墙放行后,可以从另一台设备测试 TCP 连接。能建立 TCP 连接但代理请求失败,问题通常已经从网络层转移到代理协议、认证、规则或上游节点。完全超时常见于防火墙丢弃、客户端隔离或地址填写错误;立即返回“连接被拒绝”则更像是目标地址可达,但对应端口没有进程监听。
路由器的客户端隔离也会阻断连接
访客 Wi-Fi、无线客户端隔离和部分企业无线网络会禁止同一接入点下的设备互访。此时手机可以访问互联网,也能看到与电脑相似的网段,却仍无法连接电脑端口。应检查两台设备是否连接同一主网络、是否一台位于访客网络,以及路由器是否启用了 AP 隔离。双路由环境还可能形成两个子网,只有上级到下级的单向路由,导致设备之间无法直接访问。
手机与电脑如何接入混合端口
接入前先记录运行 Clash 的电脑局域网 IPv4 地址、混合端口和当前网络名称。假设电脑地址为 192.168.1.20,混合端口为 7890,其他设备应连接同一路由器,并把代理服务器填写为 192.168.1.20,端口填写为 7890。示例地址不能照抄,地址必须来自实际运行 Clash 的主机。
Android 与 iOS 的 Wi-Fi 手动代理
- 打开当前 Wi-Fi 网络的详细设置,选择手动代理,而不是自动配置脚本。
- 服务器或主机名填写 Clash 主机的局域网地址,端口填写混合端口。
- 保存后先用浏览器访问一个普通 HTTPS 网站,再检查 Clash 连接列表和日志是否出现该设备的请求。
- 测试结束后关闭手动代理,避免离开当前网络后继续尝试连接一个不可达的内网地址。
移动系统的手动 Wi-Fi 代理主要面向 HTTP 和 HTTPS 连接。HTTPS 请求通常通过 HTTP CONNECT 隧道转发,Clash 不需要解密网页内容即可按目标主机和规则处理连接。部分应用不读取系统代理设置,另一些应用使用 UDP 或自定义传输,因此不能用单个应用的结果代表整个系统。
Windows、macOS 与 Linux 接入
另一台桌面电脑可以在系统网络设置中填写 HTTP 代理,也可以只在浏览器、终端工具或特定应用中配置代理。支持 SOCKS5 的应用可将协议选择为 SOCKS5,并使用同一个主机地址与混合端口。命令行工具是否读取系统代理取决于工具实现,必要时可在当前终端会话中设置代理环境变量。
HTTP_PROXY=http://192.168.1.20:7890
HTTPS_PROXY=http://192.168.1.20:7890
ALL_PROXY=socks5://192.168.1.20:7890
这些变量只是格式示例。不同工具对大写、小写变量以及 socks5、socks5h 的处理存在差异,其中 socks5h 通常表示域名解析也交给代理端。使用前应查看对应工具文档,并避免同时设置互相冲突的系统代理和应用代理。
DNS 如何处理
局域网设备连接混合端口时,DNS 路径取决于代理协议和应用行为。HTTP 代理请求通常会把目标主机名交给代理服务器处理;SOCKS5 客户端则可能发送域名,也可能先在本机解析为 IP 再提交连接。手机上未经过代理的应用仍会使用系统 DNS。Clash 配置中的 DNS 模块不会因为开放混合端口就自动成为全网 DNS 服务器,也不应把 Clash 的 DNS 监听端口与混合代理端口混为一谈。
若规则依赖域名,而客户端提前把域名解析成 IP,内核可用于匹配的信息可能发生变化。mihomo 可以结合嗅探、DNS 和规则能力改善部分场景,但是否启用应根据配置来源和隐私边界决定。基础共享场景应先让 HTTP 代理稳定工作,再处理特定应用的域名识别问题。
按网络层级排查连接失败
高效排查的关键是逐层验证,而不是反复更换节点。先确认电脑本机能够通过混合端口访问,再确认端口监听地址,然后验证局域网连通和防火墙,最后检查 Clash 规则与上游代理。下面的顺序可以区分大多数问题。
- 检查内核运行状态。确认当前配置加载成功,混合端口没有冲突,日志中不存在监听失败或 YAML 解析错误。
- 检查本机代理。在运行 Clash 的电脑上连接
127.0.0.1:7890。本机也失败时,先处理内核、配置和节点,不要继续调整局域网设置。 - 检查实际监听地址。确认端口监听在局域网 IP 或通配地址,而不是只监听回环接口。
- 检查两台设备的网络。核对 IP、子网掩码、默认网关和 Wi-Fi 名称,排除访客网络、客户端隔离与双路由问题。
- 检查主机防火墙。允许当前网络范围访问指定 TCP 端口,并确认规则应用于正确的网络配置文件。
- 检查接入端格式。服务器栏只填写 IP 或主机名,端口单独填写数字,不要把
http://、路径和端口全部塞进主机名字段。 - 观察连接列表。出现设备请求说明局域网链路基本成立;再根据目标域名、命中规则、策略组和错误日志定位后续问题。
| 现象 | 优先检查 | 常见原因 |
|---|---|---|
| 连接立即被拒绝 | 端口监听状态 | 端口错误、内核未运行、只绑定其他地址 |
| 连接持续超时 | 防火墙与网络隔离 | 入站被丢弃、访客网络、地址不可达 |
| 浏览器可用,应用不可用 | 应用代理支持 | 应用忽略系统代理或使用 UDP |
| 请求出现但走直连 | 模式与规则命中 | 当前为直连模式或规则指向 DIRECT |
| 重启路由器后失效 | 主机局域网地址 | DHCP 分配了新地址 |
| 订阅更新后失效 | 实际运行配置 | 客户端覆盖了 allow-lan 或端口设置 |
配置被订阅更新覆盖怎么办
订阅通常提供代理节点、策略组和规则,但局域网监听属于本机运行参数。不同客户端对订阅配置的合并方式不同:有的保留界面中的端口与局域网开关,有的直接使用订阅字段,还有的通过覆写、配置补丁或全局设置生成最终配置。应优先使用客户端提供的覆写功能管理 mixed-port、allow-lan 和 bind-address,避免每次更新后手工编辑临时文件。
修改前复制一份当前可用配置,并记录客户端显示的实际配置路径。更新订阅后重新检查监听状态与连接日志,可以快速判断是节点变化还是本地监听参数被重置。若使用 Clash Meta(mihomo)内核,还应确认客户端版本与内核版本的配置支持范围,不能只根据另一个客户端的界面名称推断行为完全相同。
TUN 模式不能替代局域网监听配置
TUN 模式主要解决运行 Clash 的本机流量接管问题,它通过虚拟网络接口、路由和 DNS 协作处理更多应用流量。开启主机 TUN 不代表局域网其他设备会自动把流量发送给这台电脑,也不会自动完成网关转发。其他设备若要使用混合端口,仍需配置代理;若要把电脑作为局域网网关,则涉及 IP 转发、路由、NAT 和 DNS 等另一套网络设计,复杂度与安全边界都明显不同。
家庭环境中,只为手机浏览器或测试设备临时提供代理时,混合端口加手动代理通常已经足够。需要长期接入多台设备时,应固定主机地址、限制防火墙来源、记录端口变更,并定期核对有哪些设备仍在使用该入口。这样可以把问题限定在清晰的监听、网络、代理协议和规则四个层级内。
选择系统对应的客户端
先核对系统架构、客户端内核与订阅格式,再下载并导入配置。局域网共享前应确认实际监听地址和主机防火墙范围。