GitHub 466 Star:orbien
从零部署完整教程 · 新手照着做就能跑起来 · 效率工具指南 · 原创教程
摘要:本文详细讲解 orbien 内网穿透工具的安装配置教程,涵盖 Windows 二进制部署、Docker 部署、源码编译三种方式,以及 Token 鉴权、Web 管理界面配置。orbien 是基于 Rust 的高性能内网穿透工具,二进制仅 5MB,支持 TCP/UDP/HTTP/HTTPS 隧道,是 frp、ngrok 的轻量替代品,适合远程访问 NAS、远程桌面、内网网站等场景。
很多人的困扰是:东西都跑在家里或公司的内网里,一出门就没法访问了——NAS 里的照片、办公室的远程桌面、本机调试的网站,都只能在家用。
orbien 就是来解决这个问题的:它是一个用 Rust 写的、二进制约 5MB 的内网穿透工具。你只要在「有公网 IP 的服务器」上跑一个服务端,在「内网机器」上跑一个客户端,就能把内网的服务映射到公网端口,随时随地访问。全程开源免费,支持 TCP / UDP / HTTP / HTTPS 隧道,传输层支持 TCP / KCP / WebSocket / QUIC,自带 Token 鉴权和 TLS 加密。
本文要点
基于 Rust + Tokio 构建,最新版 v3.0.0,二进制仅 5MB,免编译解压即用 支持 TCP / UDP / HTTP / HTTPS 隧道,传输层 TCP / KCP / WebSocket / QUIC 覆盖 4 个实测踩坑(下载慢、端口没放行、token 不一致、dashboard 认证) 提供二进制 / Docker / 源码 / 桌面客户端 4 条部署路径,总有一条你能走通
一、项目简介
orbien(https://github.com/orbien-org/orbien)是一个轻量、高性能、安全的内网穿透工具,二进制约 5MB。它把内网的服务(网站、SSH、远程桌面、NAS 等)映射到公网服务器的端口上,让外网能访问到内网服务。
核心特性:
- 高性能
:端到端零拷贝转发、抗丢包、无 GC 停顿、内存占用低(官方对比 frp 内存更低更稳) - 隧道协议
:TCP、UDP、HTTP、HTTPS - 传输协议
:TCP、KCP、WebSocket、QUIC,支持 TCP 多路复用 - 安全
:Token 隧道鉴权 + TLS/mTLS 加密传输 - 运维
:自带 Web 管理界面(dashboard)+ 跨平台桌面客户端
一句话搞懂内网穿透原理:内网机器主动去连接公网服务器,服务器把「外网端口」收到的流量转发回「内网机器」。因为连接是内网机器主动发起的,所以内网不需要公网 IP、不需要路由器端口映射。
二、GitHub 项目数据
三、环境准备
⚠️ 唯一的硬件门槛:需要一台「有公网 IP」的服务器。家里宽带没有公网 IP 的话,买一台最便宜的云服务器(学生机/轻量服务器)当服务端即可。
四、详细部署步骤
路径一:官方二进制(✅推荐)
步骤 1:下载服务端和客户端二进制
打开 GitHub Releases 页(https://github.com/orbien-org/orbien/releases),找到 v3.0.0,按系统下载对应压缩包。Windows 64 位下载:
# 服务端(跑在有公网 IP 的服务器上)orbien-server_3.0.0_windows_amd64.tar.gz# 客户端(跑在内网机器上)orbien_3.0.0_windows_amd64.tar.gz
Linux 服务器对应下载 orbien-server_3.0.0_linux_amd64_gnu.tar.gz 和 orbien_3.0.0_linux_amd64_gnu.tar.gz。
⚠️ GitHub Releases 国内直连经常很慢甚至超时(实测 2.5MB 下了 1 分半),下载失败就重试几次或用镜像加速,详见「踩坑 1」。
步骤 2:解压
tar -xzf orbien-server_3.0.0_windows_amd64.tar.gz # 得到 orbien-server.exe + orbien-server.tomltar -xzf orbien_3.0.0_windows_amd64.tar.gz # 得到 orbien.exe + orbien.toml
解压后每个包都自带一个默认 .toml 配置文件。验证:目录下出现 orbien-server.exe(约 5.5MB)和 orbien.exe(约 4.6MB)。
步骤 3:配置并启动服务端(公网服务器上)
编辑 orbien-server.toml:
# orbien-server.tomllisten = "0.0.0.0:9527" # 控制端口,客户端连这里# 可选:开启 Web 管理界面[dashboard]addr = "0.0.0.0"port = 8020# user = "admin" # 设了账号密码会开启 Basic Auth# password = "123456"# 强烈建议公网开启 Token 鉴权[auth]type = "token"token = "改成你自己的长随机字符串"
启动:
# Windowsorbien-server.exe -c orbien-server.toml# Linux./orbien-server -c orbien-server.toml
验证启动成功:日志出现 listener ready ... 0.0.0.0:9527 和 dashboard listening ... 0.0.0.0:8020。
步骤 4:配置并启动客户端(内网机器上)
编辑 orbien.toml,把本地服务映射到远程端口:
# orbien.tomlserver = "你的服务器IP:9527" # 服务端地址# 与服务端一致才配 token[auth]type = "token"token = "与服务端一致"[[tunnels]] # 一条隧道:本地服务 → 远程端口name = "web" # 隧道名(自定义)protocol = "tcp" # tcp / udp / http / httpsservice = "127.0.0.1:8080" # 内网本地要穿透的服务地址remotePort = 9000 # 映射到服务端的远程端口
启动:
# Windowsorbien.exe -c orbien.toml# Linux./orbien -c orbien.toml
验证启动成功:日志出现 login ok 和 tunnel started name=web remote=0.0.0.0:9000。
路径二:Docker 部署
仓库自带 docker/Dockerfile.server 和 docker/Dockerfile.client:
# 服务端docker build -f docker/Dockerfile.server -t orbien-server .docker run -d -p 9527:9527 -p 9000:9000 -v PWD/conf:/conf orbien
(此路径为仓库官方提供,本机未装 Docker 未实测。)
路径三:源码编译
git clone https://github.com/orbien-org/orbien.gitcd orbiencargo build --release# 产物在 target/release/orbien-server 和 target/release/orbien
前提:先装 Rust(https://rustup.rs,国内可用 rsproxy.cn 镜像)。首次编译需拉取 tokio、quinn、rustls 等 crate,建议配置 crates.io 国内镜像。(此路径本机未装 Rust 未实测。)
路径四:桌面客户端(免命令行)
下载 orbien-desktop_3.0.0_windows_amd64.exe 一键安装,图形界面里配置隧道、监控状态,适合新手。
五、使用详解:三个典型场景
场景一:把本机网站穿透出去给外网访问
本机 8080 端口跑着一个网站,想外网通过「服务器:9000」访问:
[[tunnels]]name = "web"protocol = "tcp"service = "127.0.0.1:8080"remotePort = 9000
启动后浏览器访问 http://服务器IP:9000 就能看到本机 8080 的网站。
▲ 实测:通过 orbien 服务端 9000 端口访问到了内网本机 8080 的页面
场景二:穿透 SSH / 远程桌面
[[tunnels]]name = "ssh"protocol = "tcp"service = "127.0.0.1:22" # 内网 SSHremotePort = 9022 # 外网访问 ssh -p 9022[[tunnels]]name = "rdp"protocol = "tcp"service = "127.0.0.1:3389" # 内网远程桌面remotePort = 9389 # 外网远程桌面连 服务器:9389
穿透 UDP 服务同理,把 protocol 改成 udp 即可(比如穿透内网 DNS 53)。
场景三:用自己的域名 + HTTPS
先在服务端配置域名网关:
# 服务端 orbien-server.toml 追加httpGwPort = 80httpsGwPort = 443rootDomain = "example.com"
客户端用 domains 声明域名:
[[tunnels]]name = "web"protocol = "http"service = "127.0.0.1:8080"domains = ["web", "app.example.com"] # 完整域名
六、踩坑记录与解决方案
坑 1:GitHub Releases 下载慢 / 超时
现象:实测下载 2.5MB 的服务端包用了约 1 分 38 秒(约 26KB/s),客户端 2.2MB 的包连续 3 次超时失败(curl 报 exit code 28)。
原因:release 资产走 release-assets.githubusercontent.com CDN,国内直连慢且不稳。
解决:用断点续传 + 重试多次总能成功:
curl -L -C - --retry 5 --retry-delay 3 -o orbien.tar.gz "下载地址"坑 2:云服务器安全组没放行端口,客户端连不上
现象:客户端一直连不上服务端,日志反复重连,隧道建不起来。
原因:云服务器(阿里云/腾讯云等)默认安全组只放行少量端口,9527 控制端口和所有 remotePort(如 9000)没放行。
解决:在云控制台「安全组/防火墙」放行 9527 和你要用的所有远程端口(如 9000)。(本机回环测试不涉及,公网部署必做,官方文档提示。)
坑 3:Token 不一致,客户端无限重试、隧道不建立
现象:客户端日志反复打印 login identity ...,但始终没有 login ok,隧道不出现,进程也不退出。
原因:服务端和客户端 [auth] token 不一致,登录失败后客户端自动无限重试。
解决:核对两端 token 完全一致(本机实测:正确 token 立即 login ok,改错 token 后反复重连不建立隧道)。
坑 4:dashboard 访问返回 401(是认证,不是报错)
现象:配置了 [dashboard] user/password 后,浏览器访问 8020 返回 401 Unauthorized。
原因:dashboard 用 HTTP Basic Auth,需要账号密码登录。
解决:用配置的账号密码登录即可;如果 [dashboard] 不写 user/password,则免认证(实测返回 200)。
七、部署验证
本机用「同一台机器」同时跑服务端 + 客户端 + 一个本地测试网站,验证完整穿透链路(实测通过):
Web 管理界面打开 http://服务器IP:8020 即可看到实时监控:

▲ dashboard 监控页:总客户端 1、在线客户端 1、隧道 1、版本 v3.0.0,附流量趋势图

▲ dashboard 隧道页:列出所有已注册的隧道

▲ dashboard 客户端页:显示在线客户端
八、常见问题
Q1:orbien 和 frp、ngrok 有什么区别?
功能定位类似(都是内网穿透),orbien 用 Rust 重写,特点是体积小(5MB)、内存占用更低、自带 Web 管理界面和桌面客户端。frp 生态更成熟、教程更多;orbien 胜在新、轻、省内存。
Q2:我没有公网 IP,能玩吗?
内网穿透的前提是「有一台公网可达的服务器」。没有公网 IP 就买一台最便宜的云服务器当服务端;或先用 ngrok 等免费隧道服务体验。
Q3:支持加密吗?安全吗?
支持。默认就做 TLS 加密传输(没配证书会自动生成临时自签证书),还支持 Token 隧道鉴权、mTLS 双向认证,HTTPS 可做透明转发或客户端 TLS 终止。
Q4:客户端必须一直开着吗?
是的。隧道由客户端主动连接维持,客户端进程停了穿透就断。建议用 systemd(Linux)或开机自启(Windows)常驻。
Q5:能穿透多少条隧道?
没限制,配置文件里写多个 [[tunnels]] 段即可,每条独立指定协议、本地服务、远程端口/域名。
九、总结
orbien 是一个「解压即用、体积 5MB、内存省」的现代内网穿透工具。部署难度中等偏易——真正的门槛不在代码,而在「有公网服务器」和「放行端口」这两件运维小事上。只要服务器就位,照着「服务端配置 + 客户端隧道配置」两步就能跑通。
如果你正在找 frp/ngrok 的替代品,或想让家里 NAS、远程桌面、本地网站能被外网访问,orbien 值得一试。
完整命令速查
# 1. 下载(Windows 64 位示例,失败就重试)curl -L -C - --retry 5 -o orbien-server.tar.gz "https://github.com/orbien-org/orbien/releases/download/v3.0.0/orbien-server_3.0.0_windows_amd64.tar.gz"curl -L -C - --retry 5 -o orbien.tar.gz "https://github.com/orbien-org/orbien/releases/download/v3.0.0/orbien_3.0.0_windows_amd64.tar.gz"# 2. 解压tar -xzf orbien-server.tar.gztar -xzf orbien.tar.gz# 3. 服务端配置 orbien-server.toml# listen = "0.0.0.0:9527"# [dashboard] addr/port/user/password(可选)# [auth] type="token" token="..."(公网建议开)# 4. 启动服务端orbien-server.exe -c orbien-server.toml # Windows# ./orbien-server -c orbien-server.toml # Linux# 5. 客户端配置 orbien.toml# server = "服务器IP:9527"# [auth] token 与服务端一致# [[tunnels]] name/protocol/service/remotePort# 6. 启动客户端orbien.exe -c orbien.toml # Windows# ./orbien -c orbien.toml # Linux# 7. 验证:浏览器访问 http://服务器IP:9000(隧道远程端口)
项目地址:[orbien] (https://github.com/orbien-org/orbien)
标签:内网穿透 | orbien | frp | Rust | 远程访问 | 部署教程
夜雨聆风