发布于 

树莓派与 NATAPP 实现内网穿透

哔哔赖赖

  最近入手了一块树莓派4B,想要搭建一个私人服务器,用来搭建自己的博客以及部署一些网站,奈何家里没有公网IP,也不想去买云服务器(麻烦还贵。。。),于是重新走上了 NATAPP 的路子,不得不说,这个小玩意真的良心。

开始搭建

  NATAPP 的部署十分简单,具体过程如下。

1. 进入 NATAPP 的官网并注册、登录

  点这里进入官网,点击右上角的免费注册按钮进行注册。

注册账号

  注册成功后登录官网,登录成功后会自动跳转到账户信息页面。

账户信息

2. 购买隧道

  NATAPP 有许多种隧道套餐供你选择,其中更是有免费的隧道供你使用。我们这里购买一条免费的隧道就可以了,如果有其他需求可以自行选择。

(1) 点击左边购买隧道按钮

购买隧道

(2) 选择免费隧道

免费隧道

(3) 填写隧道信息

  根据需求填写隧道信息,隧道协议需要考虑清楚了再选择,例如我需要部署自己的博客和其他的一些 Web 站点,所以我这里选择了 Web 协议,我选择开放本地的 80 端口。每个人可以免费拥有2条不同协议的隧道,这一点是非常良心了。

(4) 完成购买

  填写完所有信息后,点击免费购买,这时你就拥有了自己的一条隧道啦。

3. 部署客户端

(1) 下载客户端

  点击上方的客户端下载按钮(建议右键新标签页打开),进入下载页面,由于我用的是树莓派,所以选择Linux/ARM 32位

客户端下载

Linux/ARM 32位

(2) 启动客户端

  这里我选择把下载好的文件放到 /usr/local/natapp 目录下(natapp 文件夹需要自己创建)

/usr/local/natapp

  启动 natapp 程序需要用到创建隧道时提供给你的 authtoken,所以让我们回到 NATAPP 的网站,点击我的隧道,图示位置就是 authtoken 的值了,复制下来待用。

authtoken

  打开终端切换到 /usr/local/natapp 目录,给 natapp 执行权限。

1
chmod a+x natapp

  运行 natapp,其中 xxxx 就是刚才复制的内容。

1
./natapp -authtoken=xxxx

  运行界面如下。

运行界面

  这是就可以尝试输入穿透后的地址测试一下啦,不过由于还没有在80端口部署 web 站点,所以会出来一个报错页面,只需要部署好站点就可以正常使用啦。不过有一点需要注意,每次开关 natapp 都会改变穿透后的地址,如果想要避免这个问题,可以减少程序退出的次数,也可以去注册一个域名然后购买一条 VIP 隧道绑定域名,当然也可以一次次的改。。。这就看具体需求了。

4. 易用性配置

(1) 后台运行

  现在配置好的 natapp 程序已经可以正常运行了,不过运行的窗口关闭之后这个进程就结束了,所以我们可以将 natapp 设置为后台运行。官方文档对这一块说的已经很详细了,不过有一个问题,这个方法不知道怎么获取穿透后的网址,如果没有自己的域名的话这个方法不太使用,如果我有了解决的方法会更新这篇博客,或者有知道的大佬可以在评论区指点一下。

  这里简单说一下,其实方法很简单,使用 nohub 运行 natapp,命令如下:

1
nohup ./natapp -authtoken=xxx -log=stdout -loglevel=ERROR &

2021/1/25 更新:
在网上找了一些资料之后,发现了一位大佬的一篇文章中介绍了查看穿透之后网址的方法。
简单的叙述一下就是,我们需要把官方最后给的 nohub 脚本中的 -loglevel=ERROR 改成 -loglevel=INFO,然后 natapp 存放的文件夹下会多出一个 nohub.out 文件,把它显示出来就可以看到地址啦!就像这样:

1
2
>nohup ./natapp -authtoken=xxx -log=stdout -loglevel=INFO &
>cat nohub.out

(2) 开机自启动

  官方文档对这一块说的已经很详细了,这里就不多赘述了。


本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

本站由 @吴咕咕 创建,使用 Stellar 作为主题。