LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[点晴永久免费OA]rathole:一款高性能、安全稳定的内网穿透工具

admin
2026年4月8日 21:21 本文热度 34

你是否曾想过,如何将家中NAS的SSH服务、个人博客或游戏服务器暴露到公网上?传统的内网穿透工具如frp和ngrok虽然功能强大,但在性能、资源消耗和安全性方面仍有提升空间。今天,我要向大家介绍一款由Rust语言编写的高性能内网穿透工具—— rathole 。它不仅性能卓越,资源占用极低,还提供了强大的安全保障,是开发者和技术爱好者的理想选择。

rathole,像frp和ngrok一样,可以帮助你将NAT设备后的服务通过公网IP服务器暴露到互联网上。

为什么选择rathole?

在众多内网穿透工具中,rathole凭借其独特的优势脱颖而出。让我们来看看它的核心特性:

1. 高性能

rathole的吞吐量远高于frp,在处理大量连接时更加稳定。根据官方提供的基准测试数据,rathole在HTTP吞吐量和TCP比特率方面表现优异,能够满足高并发场景的需求。

2. 低资源消耗

与同类工具相比,rathole的内存占用显著降低。更重要的是,它的二进制文件可以压缩到 约500KiB ,非常适合资源受限的设备,如嵌入式路由器。这意味着你可以在各种硬件上轻松部署rathole,无需担心性能瓶颈。

3. 安全性

rathole在安全性方面下足了功夫。每个服务都需要强制性的token验证,且服务间token相互独立。服务器和客户端各自负责自己的配置,确保了服务的安全性。此外,rathole支持可选的Noise协议加密,无需创建自签名证书即可轻松配置加密。当然,传统的TLS加密也同样支持。

4. 热重载

rathole支持配置文件的热重载功能,你可以动态添加或移除服务,而无需重启程序。虽然HTTP API仍在开发中,但这一功能已经极大地提升了使用便利性。

快速上手:三步搞定内网穿透

假设你有一台位于NAT后的NAS,希望将其SSH服务暴露到互联网上。使用rathole,只需三步即可实现:

第一步:在公网IP服务器上配置rathole

创建一个名为 server.toml
的配置文件,内容如下:

# server.toml
[server]
bind_addr = "0.0.0.0:2333" # rathole监听客户端的端口
[server.services.my_nas_ssh]
token = "use_a_secret_that_only_you_know" # 用于验证客户端的token,请更改为任意值
bind_addr = "0.0.0.0:5202" # 将my_nas_ssh暴露到互联网的端口

然后运行:

./rathole server.toml

第二步:在NAS上配置rathole客户端

创建一个名为 client.toml
的配置文件,内容如下:

# client.toml
[client]
remote_addr = "myserver.com:2333" # 服务器的地址,端口必须与server.bind_addr相同
[client.services.my_nas_ssh]
token = "use_a_secret_that_only_you_know" # 必须与服务器相同以通过验证
local_addr = "127.0.0.1:22" # 需要转发的服务地址

然后运行:

./rathole client.toml

第三步:连接你的NAS

现在,客户端会尝试连接到服务器的 myserver.com:2333
,任何发往 myserver.com:5202
的流量都会被转发到客户端的 22
端口。你可以通过 ssh myserver.com:5202
来访问你的NAS。

深入配置:解锁rathole的全部潜能

rathole的配置非常灵活,可以根据你的需求进行定制。让我们来看看一些高级配置选项:

1. 日志控制

与其他Rust程序一样,rathole使用环境变量来控制日志级别。你可以设置 RUST_LOG
来指定日志级别,如 error
、 warn
、 info
、 debug
或 trace

RUST_LOG=error ./rathole config.toml

上述命令将只记录错误级别的日志。如果未设置 RUST_LOG
,默认日志级别为 info

2. 性能调优

从v0.4.7版本开始,rathole默认启用TCP_NODELAY,这有助于降低延迟,特别适合像RDP、Minecraft服务器这样的交互式应用。不过,这可能会略微降低带宽。如果带宽更重要,你可以通过设置 nodelay = false
来禁用TCP_NODELAY。

3. 加密传输

rathole支持多种加密方式,包括TCP、TLS和Noise协议。你可以根据安全需求选择合适的加密方式。配置时,只需在 transport
块中指定类型即可。

[client.transport]
type = "tls" # 可选值:["tcp", "tls", "noise"]
[client.transport.tls]
trusted_root = "ca.pem" # CA证书文件
hostname = "example.com" # 可选,用于验证证书的主机名

性能基准测试:数据说话

官方提供的基准测试数据充分证明了rathole的性能优势。在HTTP吞吐量测试中,rathole的表现明显优于frp,特别是在高并发场景下。

在TCP比特率方面,rathole同样表现出色,能够提供更高的传输速率。

重要提示: 不要误以为rathole能让你的转发服务速度提升数倍。基准测试是在本地回环接口上进行的,表明任务受CPU限制时性能提升显著。如果网络不是瓶颈,你可以获得相当大的性能提升。然而,对许多用户来说,网络往往是瓶颈。在这种情况下,rathole的主要优势是更低的资源消耗,而带宽和延迟可能不会显著改善。

未来规划:更多功能值得期待

rathole的开发团队正在积极规划新功能,其中HTTP API配置功能已经提上日程。虽然目前一些功能不在开发计划中(详见 Out of Scope :https://github.com/rapiz1/rathole/blob/main/docs/out-of-scope.md ),但rathole已经具备了足够强大的功能来满足大多数用户的需求。

结语:rathole,内网穿透的新选择

无论是个人开发者还是企业用户,rathole都提供了一个高性能、安全稳定的内网穿透解决方案。它的低资源占用使其能够在各种设备上运行,而强大的加密功能确保了数据传输的安全性。如果你正在寻找一款比frp和ngrok更优秀的内网穿透工具,rathole绝对值得一试。

GitHub项目地址: https://github.com/rapiz1/rathole


阅读原文:原文链接


该文章在 2026/4/9 18:33:53 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-2  粤公网安备44030602007207号