01

这几个端口分别管什么

混合端口同时接受 HTTP 和 SOCKS5 请求,绝大多数场景只用它一个就够。外部控制端口是内核的管理接口,客户端界面、面板、第三方工具都通过它读状态和切换节点。两者的默认值在不同版本里变过,新版是 7897 和 9097,早期版本是 7890 和 9090,从旧版升级上来的配置可能仍是旧值。

如果配置文件里单独写了 port 或 socks-port,它们会和混合端口一起监听。没有特殊需求不必开,多一个监听端口就多一个暴露面。

以界面显示的为准
动手前先在设置里看一眼当前实际的端口号,不要照抄教程里的数字。

合作推荐订阅链接从哪来?本站合作机场注册即送 1GB 香港高速体验流量,可直接一键导入。获取高速节点
02

改端口的正确顺序

  1. 1

    先在客户端里改

    在 Clash 设置里修改混合端口并保存。系统代理会自动跟着更新,不需要手动去改 Windows 或 macOS 的代理设置。

  2. 2

    再改手动配过代理的地方

    常见的有四处:git config --global http.proxy、npm 的 proxy 配置、终端里的 http_proxy 环境变量、浏览器的代理切换插件。这些都不会自动更新。

  3. 3

    最后逐项验证

    浏览器能开网页说明系统代理没问题;命令行单独测一次 curl。如果只有部分应用不通,说明还有地方留着旧端口。

03

端口被占用怎么办

Windows 上先用 netstat -ano 配合 findstr 过滤端口号找到 PID,再用 tasklist 查是哪个程序。macOS 和 Linux 直接用 lsof -i 加端口号。

还有一种更隐蔽的情况:端口没被任何程序占用,却仍然绑不上。Hyper-V 和 WSL 启动时会预留大段动态端口,落在保留区间里的端口谁都用不了。用 netsh interface ipv4 show excludedportrange protocol=tcp 看一眼保留区间,如果你的端口在里面,换一个区间外的端口最省事。

  • 端口选 1024 以上,避开常用服务端口
  • 要给局域网设备用,还得单独打开「允许局域网连接」
  • 改完让浏览器重新加载一次,否则可能还在用旧连接
04

常见问题

提示地址已被占用,但 netstat 查不到?

多半是落进了 Windows 的排除端口区间,或者上一个内核进程没退干净。先在任务管理器里确认没有残留的内核进程,再检查保留区间。

外部控制端口可以关掉吗?

不建议。仪表盘、节点切换、连接列表都依赖它。担心被外部访问的话,让它只监听 127.0.0.1 就够了,不要绑到 0.0.0.0。