Bore Cli 内网穿透指南
Bore 是一个用 Rust 编写的现代、简单的 TCP 隧道工具,可将本地端口暴露给远程服务器,从而绕过标准的 NAT 连接防火墙。
客户端
macOS 使用 Homebrew 安装:
brew install bore-cli暴露本机 3000 端口穿透到 Bore 提供的官方服务器:
bore local 3000 --to bore.pub
# 输出日志
# connected to server remote_port=37749
# listening at bore.pub:37749此时 localhost:3000 已经可以通过 bore.pub:37749 直接访问。
如果不指定端口,Bore 会随机分配一个可用端口。你也可以通过 --port 参数指定一个固定端口:
bore local 3000 --to bore.pub --port 45678注意:如果指定的端口已被占用,连接会失败。
服务端
虽然 Bore 提供了一个官方服务器,但是从国内访问非常慢,基本不能用,所以还是需要自己部署一个服务端。
根据自己服务器的 Linux 发行版本和 CPU 架构前往 Github 发布页 下载预编译的二进制文件。
# 查看 Linux 发行版本
cat /etc/os-release
# 查看 CPU 架构
uname -m# 服务端:启动服务
bore server
# 客户端:连接自定义服务器
bore local <local-port> --to <server-ip>配置防火墙开放端口
以阿里云为例,需要登录阿里云服务器后台开放 7835 端口作为 Bore 的控制端口,如果服务器上安装了宝塔面板,可能还需要到宝塔防火墙中开放对应端口。
当 Bore 客户端通过 7835 端口连接服务器的时候,Bore 会在默认端口范围随机分配端口用于穿透,所以我们还需要再开放一组端口用于分配。
不建议直接使用默认范围(1024-65535),可以先在防火墙开放一小段端口,然后在运行服务端时配置分配端口最小值、最大值:
# 配置分配端口范围:40000-40100
bore server --min-port 40000 --max-port 40100配置密码认证
默认不设置密码,一旦运行起来服务端,任何知道服务器 IP 的人都可以像你一样,通过 Bore 直接进行内网穿透。
我们当然不希望被别人白嫖!
其实最主要还是网络安全风险,防止被不法分子通过我们的服务器分发非法内容。
# 服务端:启动服务并配置密码
bore server -s <password>
# 客户端:连接自定义服务器
bore local <local-port> --to <server-ip> -s <password>只要客户端输入的密码与服务端配置的一致就可以正常连接了。
总结
至此,你就拥有了一个属于自己的内网穿透服务。相比 frp 等传统方案,Bore 的配置极其简单,不需要写任何配置文件,几条命令就能跑起来。
如果你只是偶尔需要把本地服务暴露出去调试一下,Bore 是一个刚刚好的选择。
That's all it does: no more, and no less
它的功能仅此而已:不多也不少。