Skip to content

中转 ​

中转是在客户端和节点之间再加一台服务器:客户端连入口机,入口机把流量送到落地机(真正运行节点的 VPS)。常见用途是用线路更好的机器做入口、多台落地机共用一个入口,或者一台落地机挂掉时自动换到另一台。

PSM 有两种中转方式、两个转发程序:

直接转发隧道
路径入口 → 落地入口 → 出口 → 落地
入口到下一跳原样的流量(realm 可以再包一层 TLS,只包 TCP)gost 的 relay 协议,走 TLS 或 WebSocket,带密码;UDP 也在隧道里
转发程序realm(默认)或 gostgost
适合入口到落地的线路本身没问题入口到出口这一段要加密、伪装,或者要走 CDN
  • realm:轻量,TCP 和 UDP 都能转;多个落地时可以轮询或按客户端 IP 分配。
  • gost:多个落地时还能随机和主备(故障切换),每 15 秒对每个落地做一次 TCP 健康检查,连不上的暂时不用;能限速;隧道只能用 gost。

两个程序第一次用到时自动安装,互不影响(gost 以 psm-gost 服务运行,不会动你自己装的 gost)。

在 PSM 面板里建(推荐) ​

服务器接入 PSM 面板后,在面板的中转页点新建中转:选入口服务器、转发方式和转发程序,填落地(可以填多个),监听端口留空就从服务器的端口段里自动挑一个。隧道再选一台出口服务器:面板先在出口上建好、拿到它的证书,再在入口上建,入口只认这一张证书。批量添加一次建多条,每行一条。

中转列表里能看到两端的状态、每一跳的延迟和丢包、流量、限额和到期时间;点开一行有延迟、丢包和流量曲线,以及每个落地的健康状况。完整说明见面板文档的中转一章。

在命令行里建:psm relay ​

bash
# 直接转发:入口本机 5000 端口 → 落地机的节点(realm,TCP 和 UDP)
psm relay add --tag hk --listen-port 5000 --target 1.2.3.4:443 --udp

# 两个落地,主备:第一个连不上时自动用第二个(gost,带健康检查),端口自动挑
psm relay add --tag hk2 --listen-port auto --engine gost --strategy fifo \
    --target 1.2.3.4:443 --target 5.6.7.8:443 --udp

# 限速 100 Mbit/s,每月 500 GB、每月 1 日重置,年底到期
psm relay update hk2 --speed 100 --limit-gb 500 --reset-day 1 --expires 2026-12-31

隧道是同名的两条规则。先在出口机上建,它会打印入口机要执行的命令(带密码和证书指纹):

bash
# 出口机:转发到落地(这里落地就是出口机自己的节点)
psm relay add --tag tun --mode tunnel-exit --listen-port 8443 --transport wss \
    --target 127.0.0.1:443

# 入口机:照出口打印的命令执行,钉住出口的证书
psm relay add --tag tun --mode tunnel-entry --listen-port 443 --transport wss \
    --exit 出口IP:8443 --secret 密码 --exit-pin 证书SHA256 --udp

全部选项见命令参考。菜单 12. 中转管理 管理 realm 的直接转发(添加、修改、删除、状态报告);gost 的规则(负载均衡、隧道、限速)也列在里面,修改请用 psm relay 或面板。

细节 ​

  • 端口:--listen-port auto(面板里留空)从端口段里挑一个没被占用的,默认 20000-60000,可以用 --port-range 指定,面板里在服务器的“备注和中转端口段”里设。PSM 会在本机防火墙放行它,删除时只收回自己开的端口;云服务商的安全组仍要自己放行。
  • 多个落地怎么分:轮询(默认)、按客户端 IP(同一个客户端总落到同一台)、随机、主备。后两种和健康检查要用 gost。落地只开了 UDP 时关掉健康检查(--no-probe),它走 TCP。
  • UDP:Hysteria2、TUIC 这类基于 QUIC 的协议必须开 --udp。gost 会让同一个客户端会话保持同一个源端口,QUIC 连接才维持得住。
  • 流量限额和到期:按入口的监听端口计量(和节点共用 PSM 的流量统计),超过当月限额或到期后,入口拒绝新的连接;到重置日(按服务器的时区,0 表示不重置)或提高限额后恢复。
  • 隧道只能承载“客户端先说话”的协议:所有代理协议都是这样(VLESS、SS2022、Trojan、Hysteria2……),可以放心用;SSH、SMTP、FTP、VNC 这类连上后由服务器先发数据的协议过不了隧道(会一直等),要用直接转发。
  • 出口不是开放代理:出口只转发到它自己的落地,入口想让它连别处也不行;入口和出口之间还有密码。
  • 链路质量:入口每分钟测一次到下一跳的往返延迟、抖动和丢包(用 TCP 连接测量而不是 ping:这类网络上 ICMP 常被过滤,ping 会报出并不存在的丢包);隧道的出口还会测它到落地的这一跳。随时可以用 psm relay probe 看。

其他功能 ​

  • 状态报告:中转机的资源占用、网速和到落地机的延迟,可以推送到 Telegram。
  • psm doctor 检查每条中转的程序在不在运行、端口在不在监听。
  • 卸载 PSM 时会询问要不要一起卸载 realm 和 psm-gost(连同它们的规则和防火墙放行)。

基于 AGPL-3.0 许可发布 · 仅用于合法用途,请遵守当地法律法规