FRPC 配置案例
配置说明
本案例配置描述了使用 FRP 客户端(frpc
)通过本地代理和 TCP 协议建立穿透连接的示例。通过此配置,可实现将本地服务(如 SSH)暴露到远程服务器。
配置文件
# 远程服务端地址和端口
serverAddr = "192.0.0.0"
serverPort = 7000
# 通过本地代理进行通信
transport.proxyURL = "socks5://127.0.0.1:7890"
# 身份验证
auth.method = "token"
auth.token = "AliceAndKey"
# 传输协议与连接优化
transport.protocol = "tcp"
transport.dialServerTimeout = 15 # 连接服务端超时时间(秒)
transport.dialServerKeepalive = 300 # 保持长连接的时间(秒)
transport.tcpMux = true # 启用 TCP 多路复用
transport.poolCount = 20 # 连接池大小
transport.tcpMuxKeepaliveInterval = 30 # 多路复用保活间隔(秒)
# 代理服务定义
[[proxies]]
name = "ssh" # 代理名称
type = "tcp" # 代理类型
localPort = 2200 # 本地监听端口
remotePort = 3922 # 远程映射端口
配置功能
-
远程服务穿透:
- 将本地的 SSH 服务(监听于
2200
端口)暴露到远程服务器的3922
端口。
- 将本地的 SSH 服务(监听于
-
流量代理:
- 所有流量通过本地 SOCKS5 代理传输。
-
身份验证:
- 客户端与服务端通过
token
机制进行认证,增强安全性。
- 客户端与服务端通过
-
连接优化:
- 启用了 TCP 多路复用(
tcpMux
),减少连接建立的开销。 - 设置了连接池(
poolCount
)和保活间隔,适合高并发或长时间运行的场景。
- 启用了 TCP 多路复用(
使用场景
- 远程访问本地服务:
使用 SSH 登录本地服务器或设备,通过简单的端口映射提供远程访问。
配置注意事项
-
本地代理可用性:
- 确保本地的 SOCKS5 代理正常运行
-
服务端配置匹配:
- 服务端(
frps
)需要与客户端(frpc
)的auth.token
和协议设置一致。
- 服务端(
-
网络防火墙:
- 服务端需要开放
7000/TCP
端口,供客户端连接。
- 服务端需要开放
-
日志排查:
- 如果连接失败,请查看客户端和服务端日志,排查可能的网络或配置问题。
总结
通过上述配置,可以轻松实现安全、高效的远程服务穿透。这种方式适合对隐私和性能要求较高的场景,特别是在网络条件受限或需要流量加密的情况下。
FRPS 配置案例
配置说明
本案例配置描述了使用 FRP 服务端(frps
)实现穿透服务的基础配置。通过此配置,可以安全高效地管理和优化客户端连接,并提供 Web 管理界面和 HTTP/HTTPS 支持。
配置文件
# 服务端监听地址和端口
bindAddr = "0.0.0.0" # 服务端监听地址
bindPort = 7000 # 服务端监听端口(TCP)
# 身份验证
auth.method = "token" # 启用 token 鉴权
auth.token = "AliceAndKey" # 鉴权 token
# Web 管理界面
webServer.addr = "0.0.0.0" # Web 管理界面监听地址
webServer.port = 7500 # Web 管理界面端口
webServer.user = "alice" # 登录用户名
webServer.password = "aliceandkey" # 登录密码
# 网络优化
transport.tcpMux = true # 启用 TCP 多路复用
transport.tcpMuxKeepaliveInterval = 30 # TCP 多路复用保活间隔(秒)
transport.maxPoolCount = 10 # 最大连接池大小
transport.heartbeatTimeout = 120 # 心跳超时时间(秒)
# 日志配置
log.to = "./frps.log" # 日志文件路径
log.level = "warn" # 日志级别(warn、info、debug)
log.maxDays = 7 # 日志保留天数
# HTTP/HTTPS 支持
vhostHTTPPort = 8080 # HTTP 虚拟主机端口
vhostHTTPSPort = 8443 # HTTPS 虚拟主机端口
配置功能
-
服务监听:
- 服务端监听
7000/TCP
端口,处理来自客户端的穿透请求。
- 服务端监听
-
身份验证:
- 使用
token
机制对客户端连接进行认证,确保连接安全。
- 使用
-
Web 管理界面:
- 提供直观的 Web 管理界面,可通过
7500/TCP
端口访问。 - 管理界面设置了用户名和密码(
alice
/aliceandkey
)保护。
- 提供直观的 Web 管理界面,可通过
-
网络优化:
- 启用 TCP 多路复用,减少连接开销。
- 设置连接池(最大 10 个连接),适合高并发场景。
- 使用心跳检测(120 秒超时)确保连接稳定性。
-
日志管理:
- 日志记录存储到
./frps.log
文件中,保留 7 天,便于排查问题。
- 日志记录存储到
-
HTTP/HTTPS 支持:
- 虚拟主机功能支持 HTTP(8080)和 HTTPS(8443)的代理服务。
使用场景
-
远程服务穿透:
- 允许多个客户端通过
frps
实现服务代理。
- 允许多个客户端通过
-
Web 管理与监控:
- 通过 Web 管理界面监控当前连接状态和代理服务。
-
高并发场景:
- 适用于需要同时处理多个连接的场景,优化连接复用和资源管理。
配置注意事项
-
防火墙和安全组:
- 确保服务器开放以下端口:
7000/TCP
:用于客户端连接。7500/TCP
:用于 Web 管理界面。8080/TCP
和8443/TCP
(如果使用 HTTP/HTTPS 代理)。
- 确保服务器开放以下端口:
-
日志管理:
- 根据需要调整日志级别(如调试时使用
debug
)。
- 根据需要调整日志级别(如调试时使用
-
安全性:
- 确保
auth.token
足够复杂,避免被暴力破解。 - 管理界面的用户名和密码(
webServer.user
和webServer.password
)应设置为复杂值。
- 确保
总结
通过上述配置,frps
可以安全高效地处理客户端连接,并提供管理界面和 HTTP/HTTPS 支持。这种配置适合需要长时间运行、支持多客户端的环境。
评论