SCU-LAN10 的 FRP 配置:通过公网中继访问台站

SCU-LAN10 的 FRP 配置

当台站无法直接提供公网入口时,可在台站局域网运行 frpc,通过公网服务器上的 frps 转发 SCU-LAN10 的 UDP 通信。本文保留现有服务端配置结构,并给出配套客户端模板。

所有台站地址、服务器公网地址与 token 均已脱敏。 示例中的域名和尖括号内容是占位符,部署前需要在本地替换。本文只描述配置方法,未验证具体网络的连通性。

一、部署位置和端口

  • 公网服务器: 运行 frps,提供远程访问入口。
  • 台站局域网: 在能访问 SCU-LAN10 的电脑、路由器或其他主机上运行 frpc。
  • 远程电脑: 运行 Yaesu 远程软件,连接公网服务器的映射端口。

SCU-LAN10 不运行 frpc。frpc 所在主机必须能访问设备的局域网地址。

默认端口 协议 Yaesu 软件中的名称
50000 UDP Control Port
50001 UDP CAT Port
50002 UDP Audio Port
50003 UDP Scope Port

本文按设备默认端口一一映射。设备若改过端口,需同步修改客户端 localPort、remotePort、服务端 allowPorts 和远程软件设置。

二、服务端 frps.toml

文件位置示例:/etc/frp/frps.toml。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
bindAddr = "0.0.0.0"
bindPort = 7000
quicBindPort = 7000

udpPacketSize = 8192

transport.tls.force = true
transport.tcpMux = false

auth.method = "token"
auth.token = "<REPLACE_WITH_PRIVATE_TOKEN>"

allowPorts = [
  { start = 50000, end = 50003 },
]

log.to = "console"
log.level = "info"
log.maxDays = 7

这里的 0.0.0.0 是监听所有接口的通用地址,不是服务器的公网 IP。

配置 作用
bindPort=7000 接收 frpc 的 TCP 连接
quicBindPort=7000 接收使用 QUIC 的 frpc 连接,使用 UDP
udpPacketSize=8192 UDP 代理的数据包大小上限,客户端须一致
transport.tls.force=true 要求客户端使用 TLS
transport.tcpMux=false 关闭 TCP 多路复用,客户端须一致
auth.token frpc 与 frps 的认证凭据,两端必须一致
allowPorts 限定代理可以申请的服务端端口范围
log.to="console" 输出到控制台;由运行环境决定日志保存方式

allowPorts 不会自动建立代理,也不会替代防火墙放行。同样,仅设置 quicBindPort 不会让客户端自动改用 QUIC。

三、客户端 frpc.toml

以下是根据服务端参数补充的 QUIC + 四路 UDP 代理模板,不是从现有客户端读取的配置。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
serverAddr = "frp.example.com"
serverPort = 7000

udpPacketSize = 8192

transport.protocol = "quic"
transport.tls.enable = true
transport.tcpMux = false

auth.method = "token"
auth.token = "<REPLACE_WITH_PRIVATE_TOKEN>"

[[proxies]]
name = "scu-lan10-control"
type = "udp"
localIP = "<SCU_LAN10_LAN_IP>"
localPort = 50000
remotePort = 50000

[[proxies]]
name = "scu-lan10-cat"
type = "udp"
localIP = "<SCU_LAN10_LAN_IP>"
localPort = 50001
remotePort = 50001

[[proxies]]
name = "scu-lan10-audio"
type = "udp"
localIP = "<SCU_LAN10_LAN_IP>"
localPort = 50002
remotePort = 50002

[[proxies]]
name = "scu-lan10-scope"
type = "udp"
localIP = "<SCU_LAN10_LAN_IP>"
localPort = 50003
remotePort = 50003

serverAddr 替换为服务器公网地址或可解析域名;四处 localIP 替换为 SCU-LAN10 的固定局域网地址,不能误填 frpc 主机地址。客户端 token 与服务端一致。

transport.protocol="quic" 决定 frpc 到 frps 的隧道传输方式;type="udp" 决定被转发的设备业务协议,两者是不同层次。若网络阻断 QUIC,可将 transport.protocol 改为 tcp,并确保服务器 TCP 7000 可达,四个 UDP 代理保持不变。

四、网络放行

网络位置 必须允许的通信
公网服务器安全组与主机防火墙 UDP 7000,用于本文 QUIC 隧道
公网服务器安全组与主机防火墙 UDP 50000–50003,用于远程软件访问
公网服务器使用 TCP 隧道时 TCP 7000
台站 frpc 主机 出站访问服务器,并访问 SCU-LAN10 的 UDP 50000–50003
远程电脑 访问服务器 UDP 50000–50003,并接收回复

frpc 主动向公网服务器连接,因此台站路由器通常不需要再做公网入站端口转发。先确认台站内部可以正常操作,再排查公网中继。

token 认证的是 frpc 到 frps 的连接,不是访问 50000–50003 的远程操作员。 Yaesu 软件仍使用设备自己的账号密码。公网映射端口应限制到可信访问来源;TLS 保护隧道段,也不等于远程电脑到公网映射端口的整条链路均由 FRP 加密。

五、远程软件设置

在 SCU-LAN10 Network Remote Control Software 的 Connection Setup 中设置:

项目 内容
Transceiver 实际电台型号,例如 FTDX10
Remote Address 公网服务器地址或域名
Control Port 50000
CAT Port 50001
Audio Port 50002
Scope Port 50003
User / Password SCU-LAN10 自身的登录凭据

远程软件不填 FRP token,也不把 7000 作为 Control Port。

六、校验与运行

在对应主机上使用安装版本的二进制执行:

1
2
3
# 公网服务器
frps verify -c /etc/frp/frps.toml
frps -c /etc/frp/frps.toml
1
2
3
# 台站局域网主机
frpc verify -c /etc/frp/frpc.toml
frpc -c /etc/frp/frpc.toml

先检查配置语法,再查看客户端登录和四个代理的启动结果,最后从台站外网络测试控制、CAT、音频与频谱。不同版本的参数支持可能变化,应使用兼容的客户端和服务端版本。

8192 是本配置的包长上限,不是 MTU,也不保证大包在公网中不会丢失。若控制正常但音频或频谱中断,应同时排查 UDP 端口、网络丢包、带宽与缓冲设置。

现象 优先检查
frpc 登录失败 域名解析、7000 的协议、token 一致性、TLS 与版本
代理无法启动 remotePort 是否允许或已被其他进程占用
登录成功但无法连接电台 四个代理、设备 localIP、设备账号及公网防火墙
可控制但没有音频或频谱 50002 / 50003 的 UDP 转发与回复路径
QUIC 失败而 TCP 可用 网络是否阻断 UDP 7000

资料与关联文章