返回网络

Rathole:新一代高性能内网穿透工具,比FRP更轻量的rust替代方案

目录

24
  1. 一、核心特点
  2. 1.性能优势
  3. 2.安全特性
  4. 3.实用功能
  5. 二、安装方式
  6. 1.官方下载
  7. 2.系统要求
  8. 三、配置详解
  9. 1.基本配置结构
  10. 2.加密传输配置
  11. 四、使用场景
  12. 1.SSH 服务穿透
  13. 2.HTTP 服务穿透
  14. 五、性能表现
  15. 1.基准测试结果
  16. 2.实际使用体验
  17. 六、优缺点分析
  18. 1.优点
  19. 2.缺点
  20. 七、与 Frp 对比
  21. 八、适用场景
  22. 1.推荐使用场景
  23. 2.注意事项
  24. 九、总结

Rathole 是一款用 Rust 语言编写的开源内网穿透工具,类似于 frp 和 ngrok。它允许位于 NAT 或防火墙后的设备通过具有公网 IP 的服务器将服务暴露到公网。

相较于FRP有着更少的占用情况下,提供更大的高并发,更大的带宽,内存占用更少。

Rathole:新一代高性能内网穿透工具,比FRP更轻量的rust替代方案 - 图1

开源地址:GitHub - rathole-org/rathole: A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok.

123网盘(v0.5.0) :https://www.123912.com/s/ekeA-BqP4

 

核心特点

 性能优势

  • 高吞吐量:TCP/UDP 吞吐量比 frp 高数倍

  • 低资源占用:内存占用从 60-70MiB 减少到 10MiB 以下

  • 小巧精悍:最小二进制文件约 500KiB,适合嵌入式设备

  • 高并发稳定:在高并发情况下表现更稳定

 安全特性

  • 强制鉴权:每个服务都需要单独的 token 验证

  • 传输加密:支持 Noise Protocol 和 TLS 加密

  • 配置分离:服务端和客户端各自负责配置,提升安全性

实用功能

  • 热重载:支持配置文件热重载,无需重启服务

  • 多协议:支持 TCP、UDP 协议转发

  • 简单易用:单可执行文件,配置类似 frp

安装方式

官方下载

bash
# 从 GitHub Releases 下载
https://github.com/rapiz1/rathole/releases

系统要求

  • 注意:要求 GLIBC 2.18 以上版本

  • 支持 Windows、macOS、Linux

  • 服务器端需要公网 IP

配置详解

基本配置结构

Rathole 使用 TOML 格式配置文件,服务端和客户端配置分离:

服务端配置 (server.toml)

toml
[server]
bind_addr = "0.0.0.0:2333"

[server.services.my_service]
token = "your_secret_token"
bind_addr = "0.0.0.0:8080"

客户端配置 (client.toml)

toml
[client]
remote_addr = "your_server.com:2333"

[client.services.my_service]
token = "your_secret_token"
local_addr = "127.0.0.1:80"

加密传输配置

支持 Noise Protocol 进行传输加密:

bash
# 生成密钥
rathole --genkey
toml
# 服务端
[server.transport]
type = "noise"
[server.transport.noise]
local_private_key = "your_private_key"

# 客户端
[client.transport]
type = "noise"
[client.transport.noise]
remote_public_key = "server_public_key"

使用场景

SSH 服务穿透

toml
# 服务端
[server.services.ssh]
token = "ssh_token"
bind_addr = "0.0.0.0:5202"

# 客户端
[client.services.ssh]
token = "ssh_token"
local_addr = "127.0.0.1:22"

HTTP 服务穿透

配合 Nginx 反向代理:

nginx
server {
    listen 80;
    server_name your_domain.com;
    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

性能表现

基准测试结果

  • 延迟:与 frp 相近

  • 带宽:在高并发时提供更大带宽

  • 内存:占用显著低于 frp

  • 稳定性:在高并发下更稳定

实际使用体验

  • 在资源受限环境下表现优异

  • 相比 frp 在某些场景下更稳定

  • 配置分离增加安全性但稍显繁琐

优缺点分析

 优点

  1. 性能卓越:高吞吐、低内存占用

  2. 安全性强:强制鉴权、支持加密

  3. 轻量级:单文件部署,适合嵌入式设备

  4. 热重载:动态修改配置无需重启

 缺点

  1. 配置稍复杂:相比 frp 需要更多配置

  2. 生态较弱:社区活跃度不如 frp

  3. 系统要求:需要较新的 GLIBC 版本

  4. 更新频率:项目维护相对缓慢

与 Frp 对比

 
 
特性 Rathole Frp
内存占用 ~10MiB 60-70MiB
吞吐量 更高 标准
配置方式 服务端客户端分离 集中式配置
加密支持 Noise Protocol + TLS TLS
易用性 中等 优秀
社区生态 较小 繁荣活跃

适用场景

 推荐使用场景

  • 资源受限环境(VPS、路由器)

  • 需要高并发穿透的服务

  • 对安全性要求较高的场景

  • 嵌入式设备部署

 注意事项

  • 对于简单需求,frp 可能更合适

  • 需要一定的技术背景进行配置

  • 生产环境建议充分测试

 总结

Rathole 是一款在性能和资源占用方面表现突出的内网穿透工具,特别适合资源受限环境和高并发场景。虽然配置相对复杂且生态系统不如 frp 完善,但其出色的性能和安全性使其成为特定场景下的优秀选择。

作者信息
一起用互联网帮助更多人

本文标签:

本文链接:Rathole:新一代高性能内网穿透工具,比FRP更轻量的rust替代方案 - http://www.go176.net/post-7304.html