【ZeroNews】OpenWrt路由器小存储开启内网穿透
【ZeroNews】OpenWrt路由器小存储开启内网穿透
- 背景
- 准备工作
- 注册&登录ZeroNews
- 查看路由器架构型号
- 下载Agent包
- 解压tar包
- 使用WinSCP工具登录路由器
- 上传zeronews/zeronews
- 上传zeronews/init.d/zeronews
- 通过putty登录路由器
- 设置软链
- 设置token
- 启动
- 查看已连接的设备
- 把默认HTTPS端口换成TCP
- 添加TCP端口映射
- 通过公网域名登录路由器
- 总结
背景
想远程登录和管理路由器,但wan
口没有公网IP
或无固定公网IP
,我们可以使用内网穿透技术轻松解决这些问题,以下介绍ZeroNews
产品,因为每个用户有一个永久免费的域名、端口映射,满足大部分普通用户的日常需求。
ZeroNews
最新版本3.x.x
软件包大小约15M+
,很多路由器剩余存储不足30M
,并且空间都在/tmp
目录,针对这种情况,无法按常规步骤把压缩包上传到路由器后再安装,接下来从0
带你在存储不足30M
的路由器上进行安装ZeroNews
。
准备工作
前提是你的路由器已经成功刷了OpenWrt
固件
注册&登录ZeroNews
- 浏览器打开官网:
https://user.zeronews.cc/login
- 成功登录后,就可以看到
token
,后续会用到
查看路由器架构型号
运行命令
uname -m
比如我的路由器输出如下信息
root@OpenWrt-K2:/tmp# uname -m
mips
下载Agent包
在个人PC
上下载对应架构的Agent
包
# 下载x86_64
curl -SLk https://download.zeronews.cc/openwrt/x86_x64/zeronews-openwrt-v2-3.0.0.tar -o zeronews.tar
# 下载arm
curl -SLk https://download.zeronews.cc/openwrt/arm/zeronews-openwrt-v2-3.0.0.tar -o zeronews.tar
# 下载aarch64
curl -SLk https://download.zeronews.cc/openwrt/arm64/zeronews-openwrt-v2-3.0.0.tar -o zeronews.tar
# 下载mips
curl -SLk https://download.zeronews.cc/openwrt/mips/zeronews-openwrt-v2-3.0.0.tar -o zeronews.tar
解压tar包
- 解压
zeronews.tar
,得到2
个文件,分别是zeronews/zeronews
zeronews/init.d/zeronews
准备工作准备就绪,接下来开始正式安装
使用WinSCP工具登录路由器
- 新建一个会话,协议选择
SCP
- 填入你的路由器
IP
和SSH
端口,默认是22
- 输入路由器的账号和密码
上传zeronews/zeronews
把之前从tar
包解压出来的zeronews/zeronews
文件上传到路由器的/tmp
目录下
上传zeronews/init.d/zeronews
把之前从tar
包解压出来的zeronews/init.d/zeronews
文件上传到路由器的/etc/init.d
目录下
通过putty登录路由器
设置软链
cd /usr/bin
ln -s /tmp/zeronews zeronews
测试下命令
zeronews --help
设置token
zeronews set token <YOUR_TOEKN>
启动
/etc/init.d/zeronews restart
查看已连接的设备
如果在Agent
下能看到你的设备,说明安装成功
把默认HTTPS端口换成TCP
- 免费版本,只允许创建
1
个端口 - 如果是想登录路由器
web
管理界面,那就使用https
端口 - 如果想
ssh
登录路由器,那就使用tcp
端口 - 如果两者都需要,那就只能麻烦点,每次都先删除再添加
添加TCP端口映射
通过公网域名登录路由器
总结
- 通过以上步骤,可以在一个存储有限的路由器等
IoT
设备上安装内网穿透工具ZeroNews
- 这种方式不要求公网
IP
,不要求DDNS
,更加方便,能操控的自由度更高 /tmp
目录,每次路由器重启后会自动删除,所以需要重新上传zeronews/zeronews
到/tmp
,放在/tmp
目录是因为只有这个目录有少量剩余空间,如果其它目录空间足够,就不要放在/tmp
目录下,能够放在/usr/bin
最好