Skip to content

网络代理

网络代理是一套把应用流量按规则送到指定出口的系统。它不是某一个客户端,也不是某一种协议,而是由本机接入、规则决策、订阅配置、代理协议、入口网关、远端代理服务、DNS 和运维机制共同组成的链路。

学习网络代理时,先抓住两个面:

  • 控制面:生成、分发、更新配置,告诉客户端有哪些节点、哪些规则、如何选择出口。
  • 数据面:真实业务流量从应用出发,经本机客户端、远端代理服务,再到目标服务。

阅读路径

页面解决什么问题
基础原理理解代理和 VPN 的边界、本机接入、规则决策、DNS 和数据面链路
组件链路拆清客户端、订阅、协议、入口网关、远端服务和运维组件分别做什么
生产实施从需求确认、协议选型、服务端部署、订阅生成到上线验证
Clash Verge 使用解释 Clash Verge 各菜单怎么用、系统代理和 TUN 如何选择
运维与排查说明日志、容量、证书、凭据、版本和故障排查闭环

整体架构

mermaid
flowchart LR
    subgraph Local["本机侧"]
        App[浏览器 / 应用程序]
        Gui[客户端界面<br/>Clash Verge]
        Core[代理内核<br/>Mihomo / sing-box]
        Rules[规则与 DNS]
        App --> Core
        Gui --> Core
        Core --> Rules
    end

    subgraph Control["控制面"]
        Sub[订阅配置]
        Groups[代理组 / 规则集]
        Sub --> Groups
        Groups --> Core
    end

    subgraph Remote["远端侧"]
        Gateway[入口网关<br/>Nginx / Caddy / LB]
        Proxy[远端代理服务]
        Exit[出口网络]
        Target[目标服务]
        Gateway --> Proxy --> Exit --> Target
    end

    Rules -->|直连| Target
    Rules -->|代理| Gateway

这张图里,Clash Verge 只是界面,Mihomo 这类内核才真正接收流量和执行规则;订阅配置只负责告诉内核“可选节点和规则是什么”;远端代理服务才是实际出口。入口网关不是必需组件,但在需要统一域名、TLS、WebSocket 或多服务共用 443 端口时很常见。

核心判断

一次代理链路是否真正可用,至少要同时满足三件事:

  1. 配置能下发:客户端能拉到订阅,节点和规则能被解析。
  2. 节点能连接:客户端能和远端代理服务建立协议连接。
  3. 目标能访问:规则、DNS、远端出口和目标服务之间全部可达。

只看到订阅更新成功,不代表代理成功;只看到节点延迟正常,也不代表业务网站一定会按预期走代理。网络代理的稳定性来自整条链路协同,而不是某一个按钮显示绿色。

最小学习路线

先读 基础原理,把“应用流量如何进入客户端、为什么规则能决定直连或代理”搞清楚;再读 组件链路,建立各组件边界;之后按 生产实施 看服务端落地流程。日常使用 Clash Verge 时,可以直接跳到 Clash Verge 使用。遇到问题时,从 运维与排查 的分层排查表开始。

别急,先让缓存热一下。