外观
Shadowsocks TCP / 原生 UDP
本例将入口的 40000 端口转发到 Shadowsocks 服务端 ss.example.com:8388,同时支持 TCP 和原生 UDP。
Shadowsocks 设置
服务端在 8388 端口同时监听 TCP 和 UDP,客户端开启 UDP 转发。使用 shadowsocks-rust 时,在已有配置中设置 "mode": "tcp_and_udp",见 官方配置说明。
创建转发规则
在「转发规则」创建两条规则,选择同一个入口节点,出口先选「不使用隧道,直接转发」:
| 名称 | 转发类型 | 监听端口 | 目标地址 |
|---|---|---|---|
| SS TCP | TCP | 40000 | ss.example.com:8388 |
| SS UDP | UDP | 40000 | ss.example.com:8388 |
TCP 和 UDP 可以使用同一个数字端口。
两条规则分别管理 TCP 和 UDP,入口地址与监听端口保持相同,客户端只需填写一组连接信息。
选择隧道出口
管理员先在出口节点的「编辑传输协议」中配置协议、隧道地址和端口,将入口加入「允许的入口」。再按下表选择规则出口:
| 方案 | TCP 规则出口 | UDP 规则出口 |
|---|---|---|
| 直接转发 | 不使用隧道 | 不使用隧道 |
| 统一使用 raw(tcp) | raw(tcp) 出口 | 同一个出口,UDP 数据报通过 TCP 隧道传输 |
| 统一使用 h2 | h2 出口 | 同一个出口,UDP 数据报通过 HTTP/2 流传输 |
| 节点间保留原生 UDP | raw(tcp) 或 h2 出口 | raw(udp) 出口 |
最后一种方案分别配置两个出口节点,因为当前每个出口节点设置一种传输协议。两条规则仍使用同一个入口和 40000 端口,目标仍为同一个 SS 服务端。
出口安全性可选择「不加密」或「TLS」。选择 TLS 后填写出口的 证书设置;raw(udp) 配置见 原生 UDP 传输。
节点与端口设置
- 入口开启「允许作为入口」;直转时再开启「允许用户选择直转」。
- 用户的节点组授权包含所用入口与出口。
- 入口安全组和防火墙放行
40000/TCP与40000/UDP。 - SS 服务端允许转发节点访问
8388/TCP与8388/UDP。 - 中转时,出口的隧道端口按传输协议放行:raw(tcp)、h2 放行 TCP,raw(udp) 放行 UDP。
- 「UDP 会话空闲超时」先使用默认的
60秒。
SS 与连接它的转发节点同机时,目标也可填写 127.0.0.1:8388;管理员在「系统设置 → 转发安全」移除覆盖该地址的禁止网段。
客户端连接
将 SS 客户端的服务器地址改为 入口节点地址,端口改为 40000,保留 SS 服务端原有的密码和加密方式,并开启 UDP。
客户端始终连接同一个地址与端口,TCP 和 UDP 按对应规则转发;入口到出口的隧道设置由 Nekopass 节点处理。