如何在raspbian上通过Ngrok实现tcp内网穿透

引言

本文将介绍如何在树莓派上使用Sunny-Ngrok提供的免费的Ngrok服务器进行tcp内网穿透,实现内网tcp端口开放。

1 注册

  1. 打开浏览器输入Sunny-Ngrok的网址https://www.ngrok.cc
    在这里插入图片描述
  2. 点击注册
    在这里插入图片描述
  3. 填写信息完成注册
    在这里插入图片描述

2 开通隧道

  1. 注册成功后点击隧道管理开通隧道
    在这里插入图片描述
  2. 选择美国Ngrok免费服务器
    在这里插入图片描述
  3. 确定
    在这里插入图片描述
  4. 填写信息后点击确定添加
    在这里插入图片描述
  5. 完成后可以在隧道管理里看到刚刚添加的隧道了
    在这里插入图片描述

3 下载客户端

  1. 点击下载客户端
    在这里插入图片描述
  2. 点击Linux ARM版本即可下载
    在这里插入图片描述
  3. 下载完成点击左下角弹出一个小窗口,点它的小尖尖,再点击在文件夹中显示
    在这里插入图片描述
    打开后就是这样的
    在这里插入图片描述
  4. 右键点击,选择提取到此处
    在这里插入图片描述
  5. 完成后,即可删除该压缩包。
    选中后按Del, 然后点击
    在这里插入图片描述
  6. 点击linux_arm文件夹看看有没有sunny文件
  7. Ctrl+Alt+T打开终端
    已经在pi目录下了,所以在终端输入 cd Downloads/linux_arm 即可进入/home/pi/Downloads/linux_arm目录
    在这里插入图片描述
    输入ls,存在sunny文件
    在这里插入图片描述
  8. sunnuy移动到 /usr/local/bin目录下
    输入 mv sunny /usr/local/bin/sunny
    在这里插入图片描述
    进入 /usr/local/bin看看是否移动成功
    输入 cd /usr/local/bin ls
    在这里插入图片描述
  9. 给予sunny可执行权限
    输入 sudo chmod +x /usr/local/bin/sunny
    在这里插入图片描述

4 编写启动脚本

  1. 输入 sudo nano /etc/init.d/sunny
    在这里插入图片描述
  2. 在文件里输入以下内容,其中隧道id替换成自己的隧道id
#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          ngrok.cc
# Required-Start:    $network $remote_fs $local_fs
# Required-Stop:     $network $remote_fs $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: autostartup of ngrok for Linux
### END INIT INFO

NAME=sunny
DAEMON=/usr/local/bin/$NAME
PIDFILE=/var/run/$NAME.pid

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
      if [ -f $PIDFILE ]; then
        echo "$NAME already running..."
        echo -e "\033[1;35mStart Fail\033[0m"
      else
        echo "Starting $NAME..."
        start-stop-daemon -S -p $PIDFILE -m -b -o -q -x $DAEMON -- clientid 隧道id || return 2
        echo -e "\033[1;32mStart Success\033[0m"
    fi
    ;;
  stop)
        echo "Stoping $NAME..."
        start-stop-daemon -K -p $PIDFILE -s TERM -o -q || return 2
        rm -rf $PIDFILE
        echo -e "\033[1;32mStop Success\033[0m"
    ;;
  restart)
    $0 stop && sleep 2 && $0 start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
esac
exit 0

在这里插入图片描述
3. 保存内容:按 Ctr+O Enter
在这里插入图片描述
然后按 Ctr+X退出。

5 测试可执行代码

  1. 启动
    分别输入以下三条命令
    sudo chmod 755 /etc/init.d/sunny
    sudo /etc/init.d/sunny start
    sudo /etc/init.d/sunny start #启动
    在这里插入图片描述
    启动成功了
    去浏览的隧道管理里看,有个踢下线哈哈哈
    在这里插入图片描述
    在这里插入图片描述

  2. 停止
    输入 sudo /etc/init.d/sunny stop
    在这里插入图片描述
    可以再去去浏览的隧道管理里看看状态,是处于隧道不在线

  3. 重启
    输入 sudo /etc/init.d/sunny restart
    在这里插入图片描述

6 设置开机启动

分别输入两条以下命令
cd /etc/init.d
sudo update-rc.d sunny defaults 90
在这里插入图片描述
如果要取消开机启动输入
sudo update-rc.d -f sunny remove

END

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值