树莓派内网穿透

树莓派内网穿透

提前声明 此穿透方式全部免费

此方法树莓派均可用。我所用的是树莓派zero w 架构是armv6,所以很多armv7架构的应用无法适配

内网穿透,意思就是将内网(本地)的web应用通过nat穿透到公网上,从而让别人可以访问到。

内网穿透目前主要由ngrok和frp两种,都非常好用,国内ngrok免费的有ittun、sunny和natapp,这三个都是免费的,前面两个可以自定义域名不需要实名,后面natapp需要vip版本才可以自定义域名,并且需要实名。

sunny的arm版本的ngrok客户端在我的树莓派运行不了,因为树莓派系统自带python,所以可以安装python版本。ittun的和natpp的ngrok都可以,由于需要自定义域名,使用的是ittun的ngrok_arm版本的。

这里是我自己的网站,欢迎访问 ragbag.ink

Sunny-ngrok

国内官网: https://www.ngrok.cc/

官网有详细教程,这里就复制一部分,然后修改为我需要的部分

1.1 开通隧道

访问官网注册账号并新建隧道

树莓派内网穿透_第1张图片

1.2开通隧道

树莓派内网穿透_第2张图片

隧道名称:可以随便填写,无关紧要只是为了一个备注

前置域名:服务器免费赠送的域名,请不要带上后缀,如果要 sunny.free.idcfengye.com 只需要填写 sunny 即可

本地端口:可以为同一个局域网内任意一台机器进行映射,只需要填对ip和端口就行,例如:192.168.1.1:80

http验证用户名:非必填项,在需要的时候填写,否则可以不填

http验证密码:非必填项,在需要的时候填写,否则可以不填

1.3 编辑隧道添加自定义域名

1.3.1 解析域名到服务器

解析方式为CNAME方式

我这里是在namesilo申请的域名(国外的不需要备案)(申请步骤请自行查阅,比较简单,哪天有空我写一篇)
树莓派内网穿透_第3张图片
树莓派内网穿透_第4张图片
树莓派内网穿透_第5张图片

腾讯云和阿里云的域名需要实名认证,解析步骤请到sunny官网开详细步骤

1.3.2、编辑隧道添加自定义域名树莓派内网穿透_第6张图片

域名类型一定要选择自定义域名,在自定义域名上填写上自己购买的域名。然后保存之后需要重新启动隧道。否则不会自动生效。

2. 树莓派使用教程

2.1 下载客户端

根据自己的操作系统去下载对应的客户端

2.2 启动隧道

树莓派armv6以上架构

./sunny clientid 隧道id

树莓派内网穿透_第7张图片

要想后台运行可以使用 setsid 命令

setsid ./sunny clientid 隧道id &

树莓派ZERO是armv6架构,上述linux_arm客户端无法正常启动,会出现illegal instruction。寻找很多方法,无果,如果有大佬解决,可以分享的话请留言,或者给我发邮箱[email protected]

2.2 解决方法

我采用的是python版本,因为树莓派系统自带python,可以下载安装python版本。

下面是详细步骤

2.2.1 下载客户端

将下载下来的安装包利用WinSCP上传到树莓派/home/pi目录(注只需要上传sunny.py文件即可)

给sunny.py 客户端赋予权限

sudo chmod +x sunny.py

2.2.2 连接隧道

python ./sunny.py --clientid=隧道id

隧道id改成你在 ngrok.cc 网站购买的隧道id

树莓派内网穿透_第8张图片

出现该图就成功了

2.2.3 后台运行

setsid python sunny.py clientid 隧道id &

2.2.4开机自启动

官网有在Linux下实现开机自动启动Ngrok客户端详细说明。python版我还没有试

好了,教程到这里就结束了,欢迎访问我的个人博客 www.ragbag.ink

你可能感兴趣的:(树莓派,linux)