华硕路由器刷了固件之后,软件中心自带了 frp 的插件,既可以实现服务端,也可以实现客户端,很方便的打通家庭局域网和外网。但是我个人由于历史原因使用的是nps,而不是frp,但是几年了迟迟没有推出官方的nps插件,我只能是给宿舍和实验室的每台电脑都设置了内网穿透。这个学期PDD给我了好多优惠券,我没出用就买了两个可以刷官改梅林的路由器,其中一个是AC88U,就想拿来折腾一下,实现我很久以前的愿望。(几年前这个路由器还要上千)

一、前言

我在2021年购买了3年的腾讯云服务器,原因是当时看到同学在宿舍用 Window 自带的远程桌面控制实验室的主机,回家了也能远程查看文件什么的,让我好羡慕。奇怪的是,同样使用的是校园网,有时候能够直接局域网访问直接连接,有时候又不行,只能使用 向日葵 或者 TeamView 这类的远程桌面软件,但是 1M 的带宽实在难顶,我就一口气买了3年的服务器,反正便宜,说不定还可以满足我折腾的内心。

image

刚接触到云服务器做内网穿透时,对这些东西还完全不熟悉,包括原理、协议、Linux系统等等(虽然现在也是),寻找了好久内网穿透的方案,主流方案都是选择的是 frp ,但是我不知道为什么按照步骤来总是不能实现,那些配置文件也搞了我好长时间都没搞好。我就想寻找一个简单点的方法,没想到很轻松就安装好了nps服务端,愉快地使用起来了。 nps服务端的安装见CentOS 安装nps内网穿透。

因此 nps 就成为了我日常使用的主力,没再弄frp了。 image-1664626521281


二、正文

好了,现在开始弄正事。

想到给 路由器安装 NPC 其实是在刷机的过程中,看到那些版本号我想到了 nps/npc Github上发布的各个版本,好像也是有 Arm5 Arm6 Arm7这几个分类,我开始是直接将压缩包下载下来,然后在后台的插件那里上传,然后发现不行,提示没有 install脚本,也就是说官方插件的压缩包都是有格式标准的,所以我们得自行上传。 image-1664627232661 image-1664626877149 按理说是应该下载 arm_v7这个版本,但是我实际使用的时候提示我不匹配,我就试了一下arm_v5的,结果成功了。

三、安装步骤

  1. 登录华硕路由器后台,在系统设置里面打开SSH连接,选择仅LAN口,这样我们就可以通过 XShell 或者 FinalShell 这类软件进入路由器的终端。

image-1664627557889

  1. 打开FinalShell 登录路由器 image-1664627697907 输入命令
cd /jsff/.koolshare/bin
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_arm_v5_client.tar.gz

等待压缩包下载到当前文件夹。

tar -zxf linux_arm_v5_client.tar.gz

解压到当前文件夹。

ls 

查看输出,如果有 npc 文件,则说明解压成功了。我们不需要管配置文件怎么弄,直接复制nps 管理端的命令就可以。 image-1664628030971

这里按照CentOS 安装nps内网穿透。这篇文章,添加好客户端。

复制这一串命令: image-1664628123112 在 SSH终端输入就可以看到 nps 后台显示在线状态了,后续配置端口转发就可以访问到家里局域网设备了。 image-1664628242466 不过需要注意,最好是写一个sh脚本,让这个程序在后台运行,如果直接输入上面的命令,你一退出就掉线了。

#!\bin\sh
nohup ./npc .....     &

把中间部分补充完整,替换成之前那个nps客户端的命令,保存文本为npc.sh 保存到 npc的那个路径,每次需要启动时只需要在这个路径下输入:

sh npc.sh 

就可以了。

四、开机自启

这里我尝试了好多种方法都没能成功实现路由器重启自动启动npc客户端,网上的资料是说需要插U盘,然后每次路由器重启的时候就会运行一个脚本,我们可以把命令添加到那个脚本里面,但是我不想用U盘,没必要,就没继续尝试了。 如果有人知道怎么做,可以留言告诉我。