先开启外部控制
不管用哪个面板,前提都是内核已经开启了 external-controller,这是面板与内核通信的 RESTful API 入口:
external-controller: 127.0.0.1:9090
secret: "your-strong-secret"
面板本质上就是一个访问这个 API 的网页应用,不管是本地网页还是内核自带的静态资源,都是通过这一入口读取连接列表、节点延迟、日志流等信息。
几款常见面板的取向
面板生态更新很快,具体项目名称这里不展开,但按功能取向大致可以分为三类:
- 轻量只读型 —— 只做连接状态、延迟、流量图表的展示,界面简洁,加载快,适合只是想「看一眼状态」的场景;
- 全功能管理型 —— 除了展示,还支持切换节点、编辑规则、管理订阅、查看详细日志,功能最全但界面也相对复杂;
- 移动端适配型 —— 针对手机浏览器优化布局,适合把面板部署在路由器上、需要用手机远程查看的场景。
如果只是自己在电脑上用图形界面客户端,通常不需要额外接入面板,客户端自带的界面已经覆盖了大部分需求;面板更多是给跑在无界面设备(路由器、NAS、云服务器)上的内核用的。
面板到底能看到什么
接入面板之后,最常用的是这几块信息:
- 实时连接列表 —— 每一条正在建立的连接,包括目标域名、命中的规则、最终走向(DIRECT / PROXY / REJECT),排查「某个网站为什么没走代理」最直接的入口;
- 节点延迟面板 —— 策略组内每个节点的实时测速结果,一眼就能看出当前用的是不是延迟最低的那个;
- 流量统计 —— 按连接或按时间维度统计上传下载流量,用来判断某个应用是不是在后台偷偷跑流量;
- 日志流 —— 实时滚动的运行日志,规则加载失败、订阅拉取失败等问题通常会先在这里暴露出来。
比起纯文本日志,面板把这些信息可视化之后,排查问题的效率会明显提升,尤其是需要长期挂在路由器或服务器上、没有图形界面可以直接查看的场景。
接入前必须做好的安全设置
外部控制接口如果配置不当,相当于把代理的控制权限暴露出去,这一步不能省:
- 务必设置足够复杂的
secret,不要用默认值或者留空; - 如果只在本机使用面板,
external-controller应该绑定127.0.0.1,不要绑定0.0.0.0; - 确实需要远程访问面板(比如面板部署在路由器上,需要从其他设备访问)时,优先通过内网访问或加一层反向代理与认证,不要把控制端口直接暴露在公网。
连接面板的常规步骤
- 确认内核已开启
external-controller并设置了secret; - 在面板的连接设置里填入内核的地址(如
127.0.0.1:9090)和刚才设置的secret; - 连接成功后即可看到实时连接列表、节点延迟和日志;如果连接失败,先检查地址端口是否正确、内核是否正在运行、防火墙是否放行了该端口。
连不上面板时怎么排查
面板连接失败通常逃不出这几个原因:一是内核根本没有开启 external-controller,或者配置改动后没有重新加载;二是地址端口填错,尤其是把 127.0.0.1 和局域网访问时应该填的内网 IP 搞混了;三是 secret 不匹配,复制粘贴时混入了多余的空格或引号;四是防火墙或安全软件拦截了对应端口的本机访问。按这个顺序逐一排除,基本能覆盖绝大多数连接失败的情况。
如果面板能打开但显示的数据一直是空的,通常不是连接问题,而是内核本身还没有产生任何连接记录——可以先访问一个网站产生流量,再回到面板查看是否刷新出数据。想了解 external-controller 更完整的参数说明,可以查看进阶配置文档。
还没装 Clash?先把客户端装起来
面板是锦上添花的可视化工具,核心还是先把客户端装好、订阅导入,才有数据可看。