【树莓派】3 - 内网穿透(Ngrok)

0 阅读1分钟

一、内网穿透技术(Ngrok)

1. 环境准备与安装

  • 查看架构:
    uname -a
    
    树莓派一般为 aarch64 (ARM64)
  • 创建目录:
    mkdir ~/ngrok && cd ~/ngrok
    
  • 下载:
    wget https://bin.equinox.io/c/bNyj1mQV4c/ngrok-v3-stable-linux-arm64.tgz
    
  • 解压:
    tar xvzf ngrok-v3-stable-linux-arm64.tgz
    
  • 添加 Token(官网注册获取):
    ./ngrok config add-authtoken 你的token
    

2. 测试 HTTP 服务

  • 映射 80 端口:
    ./ngrok http 80
    
  • 会生成公网 HTTPS 地址:xxx.ngrok-free.app
  • 管理面板:http://127.0.0.1:4040

3. 启动网页服务器(Python)

  • 创建目录:
    mkdir ~/acheweb && cd ~/acheweb
    
  • 启动服务(绑定所有网卡,支持局域网访问):
    python3 -m http.server 8000 --bind 0.0.0.0
    
  • 本地访问:http://树莓派IP:8000

4. 公网访问网页

  • 新开终端映射 8000 端口:
    ./ngrok http 8000
    
  • 手机用流量访问生成的 HTTPS 地址即可
  • 免费版会显示安全提示页

5. 开机自启(systemd)

  • 创建服务文件:
    sudo vim /etc/systemd/system/ngrok.service
    
  • 服务内容示例:
    [Unit]
    Description=Ngrok
    After=network.target
    
    [Service]
    ExecStart=/home/pi/ngrok/ngrok start --all
    WorkingDirectory=/home/pi/ngrok
    Restart=always
    User=pi
    
    [Install]
    WantedBy=multi-user.target
    
  • 启用并启动:
    sudo systemctl daemon-reload
    sudo systemctl enable --now ngrok.service
    
  • 优化:可在 ~/.config/ngrok/ngrok.yml 配置固定隧道

二、知识小结

主题核心内容关键操作步骤技术要点
内网穿透本地服务暴露到公网下载对应 ARM64 版 Ngrok系统架构必须匹配
Ngrok 配置认证与端口映射配置 authtoken、映射端口Token 从官网获取
服务部署网页服务+穿透Python 启动 HTTP 服务器--bind 0.0.0.0 允许外网访问
自动化运维开机自启穿透编写 systemd 服务重启策略、工作目录
效果验证公网访问测试手机流量访问验证免费版带提示页