利用玩客云做中转服务器进行家庭网络内网穿透

背景

疫情期间,五一、中秋、国庆等假期回家,一直担心被封在家里。所以每次回家都会把宿舍电脑开机,并且记住公网IP,以便能随时远程自己电脑办公。
这种方式虽然也能满足要求,但有如下弊端:

  1. 宿舍宽带虽然有公网IP,但是每次重启路由器、断网或者时间一长会自动更换IP。一旦IP更换,将无法进行远程连接。而且,很多朋友的宽带其实是没有公网IP的。
  2. 必须要保证电脑处于开机状态才能远程。虽然电脑设置了远程开机,但因局域网限制,路由器可能没有端口映射功能,或无权设置,只能在同一网络下远程开机,无法公网远程开机。

解决过程

为了一劳永逸的解决这些问题,我确定了以下方案。

  1. 购买域名,并使用dnspod解析。dnspod上获取API_Token。
  2. 路由器添加脚本,自动获取公网IP,并更新到dnspod上。
  3. 路由器添加端口映射,将路由器管理端口、办公电脑远程端口映射出去。

具体过程可参考:https://hnbc.info/index.php/archives/63/

这样,基本解决了我的需求。
但是,我发现,可能是我路由器太老旧或者配置不高的原因,经常会出现IP更新失败的情况。而,一旦脚本执行不成功,IP未能及时更新,将导致我无法连接宿舍网络。太不保险了,我觉得添加备选方案。于是我又在路由器上安装了frp服务,连接到我限制的一台阿里云服务器上。因为阿里云服务器是小水管,带宽只有3M,平时都是用dnspod解析的域名访问,一旦脚本执行失败,IP未解析到,就使用阿里云服务器地址,通过frp内网穿透的端口访问路由器进行手动更新域名解析。

这么一来,双重保险,基本算是万无一失了。但是这样也有了一些弊端:

  1. 虽然大部分情况没问题,但是一旦脚本执行错误,Ip未能及时更新,手动操作太过繁琐。
  2. 我家里后来又添了黑群晖、等其他设备,想要远程访问或者群晖上安装了新的应用,都得在路由器上配置端口转发,虽然不复杂。但是考虑到以后家里每次添加设备,有应用想要外网访问,都得进行一次端口映射。群晖的管理界面端口、ssh端口、路由器的管理界面端口、路由器ssh端口、办公电脑远程端口、电脑的远程开机端口、群晖上pt服务、图片服务、视频服务等等一堆端口要转发,时间一长,又没有可视化友好的管理界面,简直爆炸。
  3. 很多端口都转发到公网了,安全性得不到保障。

最终方案

一次偶然的机会,我看到了NPS项目,研究了下后,发现非常适合我的要求。于是折腾了起来。
因为,我已经有了一台低配的阿里云服务器,在这台有公网IP的服务器上配置了NPS的服务端。考虑到我的黑群晖是用的蜗牛星际,稳定性一般,且大部分时间只用来做pt下载了,并不是一直开机的,所以想将nps客户端安装在路由器上。
一番折腾后,发现k2p路由器可用的存储空间只有12M,虽然各自折腾后,安装nps客户端并运行起来了,但是两天后就停止了。这时候我发现角落里的玩客云了,这玩意已经吃灰好多年了,但是如今看来颜值也可以,而且跑起来完全静音,又不费电、8G的ROM,拿来做nps客户端使用绰绰有余。

玩客云刷Armbian步骤

准备

  • 金属镊子,短接用,其他工具也可。
  • 双头USB线。
  • 电脑

刷机步骤

  1. 安装并打开 USB Burning Tool,导入 Armbian_5.67_Aml-s805_Debian_stretch_default EMMC直刷.img 镜像,勾选 擦除flash擦除bootloader 并点击 “开始”。
  2. 一边短接如果所示焊点,一边接通电源。玩客云有两个版本,短接方式不一样,该步骤适用于V1.3的玩客云设备,可查看自己玩客云主板上的标识。

利用玩客云做中转服务器进行家庭网络内网穿透插图

  1. 回到电脑,能看到 烧录软件出现了进度,耐心等待烧入完成,然后点击“停止”并关闭软件。
  2. 完成,拔掉USB线,重新接通电源和网线。路由器查看设备,找到OneCloud,确定IP地址。
  3. 默认账户为root,密码为1234。第一次进入需要修改密码。

安装nps客户端

玩客云的架构为:ARM V7,我们需要前往https://github.com/ehang-io/nps/releases下载对应的客户端(linux_arm_v7_client.tar.gz)。
具体安装步骤,参考链接中的3. 安装客户端*小节

原文链接:https://hnbc.info/index.php/archives/64/

上一篇
下一篇