【计算机常识】--Ngrok在Linux上内网穿透详细教程

内网穿透是一种让公网能够访问内网设备或本地服务的技术,其核心原理是由内网中的客户端主动与具有公网 IP 的中转服务器建立连接,再通过该连接将外部请求转发到本地服务,从而突破 NAT、路由器或防火墙的限制。它常用于远程访问本地 Web 服务、Docker 容器、NAS、开发接口、大模型 API 等场景,常见工具包括 ngrok、frp 和 Cloudflare Tunnel。

ngrok 是一种内网穿透与安全隧道工具,可以将本地或内网中的服务通过公网地址暴露到互联网。它的工作原理是让本地客户端主动连接 ngrok 的公网服务器,并建立一条加密隧道,当外部用户访问 ngrok 提供的公网域名时,请求会被自动转发到本地指定端口,从而实现公网访问本地 Web 服务、API、Docker 容器或开发环境。ngrok 常用于 Web 开发调试、Webhook 回调测试、远程演示、本地大模型接口共享等场景,支持 HTTP、HTTPS 和 TCP 等协议,并且配置简单、开箱即用。

下面将详细教程在Linux实现内网穿透;

1.下载压缩文件

ngrok官网:https://ngrok.com/

先用自己的账号登录,然后点击下载

bash 复制代码
curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \
  | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \
  && echo "deb https://ngrok-agent.s3.amazonaws.com bookworm main" \
  | sudo tee /etc/apt/sources.list.d/ngrok.list \
  && sudo apt update \
  && sudo apt install ngrok
命令部分 作用 详细说明
curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc 下载 ngrok GPG 密钥 从 ngrok 官方服务器下载软件签名密钥,用于验证软件来源是否可信
-sSL curl 参数 -s 静默模式;-S 出错显示信息;-L 自动跟随重定向
` sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null` 保存 GPG 密钥
/etc/apt/trusted.gpg.d/ APT 密钥目录 Debian/Ubuntu 用于存放可信软件源签名密钥
echo "deb https://ngrok-agent.s3.amazonaws.com bookworm main" 生成软件源配置 指定 ngrok 官方 Debian 软件源
bookworm Debian 12 代号 当前软件源适用于 Debian 12(Bookworm)
main 主仓库 表示使用主软件仓库
` sudo tee /etc/apt/sources.list.d/ngrok.list` 写入软件源文件
/etc/apt/sources.list.d/ngrok.list 软件源配置文件 系统会从这里读取 ngrok 软件源信息
sudo apt update 更新软件索引 刷新 APT 仓库列表,让系统识别新添加的软件源
sudo apt install ngrok 安装 ngrok 从官方软件源安装 ngrok

2.添加密钥

登录之后可以在主页查看自己的密钥:

点击账户:

bash 复制代码
ngrok config add-authtoken "xxxx"

3.端口映射

将本地 8000 端口映射到公网,实现内网穿透

bash 复制代码
ngrok http 8000
项目 含义
Session Status online ngrok 在线运行中
Region Japan (jp) 使用的是日本节点
Web Interface http://127.0.0.1:4040 ngrok 本地监控面板
Forwarding https://deafness-growing-uniformly.ngrok-free.dev -> http://localhost:8005 公网地址已经映射到你本机 8005 端口
Latency 108ms 当前网络延迟
Connections 当前连接统计信息

就可以网站直接访问了:

相关推荐
阿里云大数据AI技术3 小时前
阿里云 EMR AI 助手正式发布:从问答工具到全栈智能运维助手
运维·人工智能
你好潘先生9 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
orion5721 小时前
Missing Semester Class1:course overview and introduction of shell
linux
SkyWalking中文站1 天前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
用户120487221611 天前
Linux驱动编译与加载
linux·嵌入式
程序员老赵1 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
火车叼位1 天前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
vivo互联网技术1 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式