内网穿透工具 nps

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

创作立场声明:博主非计算机科班出身,自己慢慢摸索,一步步看教程总结出来的,文章中如有错误欢迎大家指出,我会立刻修改。在此感谢oldiy大神封装的docker,让我等小白能自行设置此穿透!

内网穿透

百度官方解释:内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。就是说映射端口,能让外网的电脑找到处于内网的电脑,提高下载速度。不管是内网穿透还是其他类型的网络穿透,都是网络穿透的统一方法来研究和解决。

 为何nas需要内网穿透

对于博主而言,一台称职的nas是需要7*24小时开机的状态默默的待在博主的家里,它的主人需要的时候进行访问;如果博主在家还好,局域网访问没有任何障碍。那如果博主不在局域网环境中该怎么连接nas呢,简言之,你在家如何访问办公室的电脑呢(这里不考虑teamview或者向日葵等远程软件)。那这里就需要内网穿透到nas所在的局域网,来访问nas了。

博主没接触nas时候以为有了一台nas,就可以在世界各地(只要有网络)的地方就可以访问自己的nas,博主当年真是年轻。

白群辉还好,有官方的quickconnect,但是qc这东西也是玄学,博主测试过,速度并不是很稳定。

如果你是一台黑群,那恭喜你,不洗白的话,只能自己找工具进行内网穿透了,不然在博主看来你的nas和一个移动硬盘没有本质的区别,甚至还不如移动硬盘方便。

内网穿透的种类

由于博主目前只接触过群晖nas系统,只以群晖系统举例,QNAP、铁威马等产品应该是大同小异。

官方工具:quickconnect;

黑群晖在未洗白情况下无法使用

DDNS

博主认为ddns是实现外网最简单最方便的途径,但是ddns有一个硬性条件就是宽带服务商必须给你提供公网ip(注意这里是公网ip,并非固定ip,我看到网上有很多博主写的都是固定ip,公网ip可以不是固定的,运营商可以给你免费的公网ip,但是大概率是不会给你固定ip的

机智的你肯定会问,博主为什么不写ddns的教程呢,为啥要用nps,原因就是博主没有拿到公网ip,一般情况下电信的比较容易申请,只要给客服打个电话说需要公网ip,一般就会给开通;联通也还行,但是移动、长城这些就比较困难了,原因是服务商也没多少公网ip资源。但是也要分地区,博主家里的电信就很容易拿到了公网ip,但是工作所在地,给客服打了几次电话,客服给的答复是必须开通企业专线才有公网ip,每月1500。。。

Ngrok、frp、nps

这三类工具一般都需要你有一个带公网ip的vps服务器来搭建服务;只是难易程度不一样,博主认为nps不论从搭建还是后期设置上都是最简单的,ngrok和frp都需要修改配置文件,nps可以直接从网页端进行设置,比较直观,所以博主最推荐nps。

蒲公英等内网穿透工具

蒲公英是一个硬件设备,可以实现内网穿透,博主当时买的时候是90多,可以免费设置两个客户端使用,1m带宽;如果想再增加设备提高速度只能付费了;博主不用的时间比较久了,但是蒲公英设置很简单,如果不想麻烦对速度也没要求,可以百度查下蒲公英x1。

重点来了:开始搭建

实现此套内网穿透需要:

安装centos7的vps(也可以是乌班图或者debain系统,博主的是centos7)

安装群晖系统的nas

域名(可有可无,有域名后期会方便记地址)

xshell或者putty等可以连接vps的软件

服务端搭建

xshell连接vps

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

这里博主连接后就直接获取的是root权限,如果你没获得root权限可以输入

sudo -i

     安装docker

yum install -y docker

出现complete!就代表docker安装完成了!

创建config目录

cd / 

cd home

mkdir shawn

cd shawn

mkdir nps

cd nps

启动docker

service docker start

输入下面docker命令

docker run -d --privileged=true --name nps --net=host -v /home/shawn/nps:/nps/conf oldiy/nps-server:latest

查看config文件夹内是否创建了相关文件

ls

如果出现了这些文件,就代表已经搭建完毕

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

至此vps服务端的nps就搭建完毕了,下面进行网页端设置

网页端设置

打开浏览器输入vps的 ip:8080(ip地址:8080),ok打开了

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

账号:admin

密码:123

新建客户端



Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

按照我下面的设置即可,客户端验证秘钥自己填写一个记住即可,稍后群晖端设置时候要用到。

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

配置群晖端

网页打开群晖后台(这里注意一下你的群晖必须支持docker)

安装docker套件

套件中心-搜索docker-安装套件

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

安装完成后打开docker,点击注册表,搜索oldiy(这里感谢oldiy大神)找到oldiy/npc-server 双击安装

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

选择默认的latest

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

点击映像

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

稍等一会下载完毕后双击,选择高级设置

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

网络-勾上这个选项

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

点击环境,修改serverip和vkey

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

然后应用一路下一步确定就可以了。

点击容器可以看到nps已经运行了

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

回到网页端,这时候就可以看到已经是在线(online)状态了

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

这里注意一下,如果你按照我的设置最后网页端显示的是离线(offline)那可能是你的8024端口没开放,解决方法:连接你的vps服务器输入下面命令放行8024端口

iptables -I INPUT -ptcp --dport 8024 -j ACCEPT

刷新网页端应该就在线了。

回到网页端

点击tcp隧道-新增

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

这里我们以群晖页面为例,按照如下设置

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

点击新增后,可以看到一切都正常了

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

这样你在外网情况下浏览器地址输入vps的ip加上5000端口(ip:5000)就可以远程穿透到自己的nas了,测试一下。

Nas-003,简单易用的内网穿透工具NPS,小白也能实现内网穿透到自己的nas

ok,是不是nps的内网穿透很简单,博主也是半路出家曾经花费很长时间研究ngrok和frp,但是一直没成功,但是nps一次就ok了!群主也有一个frp服务(是找别人帮忙搭建的),使用体验就是速度上frp和nps没有本质区别,但是便捷程度上可以说nps对像博主这种半路出家的更友好。

网上也有很多人分享自己的frp给大家用,但是既然自己有vps服务器而且又不麻烦,这种东西还是用自己的好!

对了,开头说到域名,这里简单提一下吧有什么用;

域名的作用就是通过host穿透时候用到,可以把服务器的地址解析到域名上,这样每次就不用记你的vps地址了。效果一样,这里我就不演示了!

博主做穿透时候遇到的坑

博主第一次搭建从头到尾都很顺利,但是有个地方需要注意下,就是vps服务器可能没有开放你所需要的端口,就像文中提到的8024端口开放方法,如果你遇到其他端口未开放只需要把那个命令中的8024换成你需要开放的端口即可。

如果你不喜欢使用命令,可以在vps上安装宝塔面板,宝塔面板中开放端口很方便。

写在最后

NPS穿透真的简单又方便,终于可以愉快的外网访问了;NPS的外网访问速度主要取决于你的vps服务器的速度(延迟和带宽)。我的这个外网看jellyfin 1080p毫无压力,还不错。

好了,我是shawn,一只爱折腾的土木羊!下篇继续给大家带来蜗牛黑群未完成的初始化设置!


展开阅读全文

利用nps与自家带宽搭建内网穿透代理服务器,实现手机远程访问群晖监控录

一、前言

本人在A,B两地有两台黑裙晖主机,分别搭建了两台无限制许可的群晖监控录像机,然后在黑群晖主机做花生壳DDNS,然后手机使用DS Cam用来查看人员日常活动情况。但是A,B两地路由器在重新拨号后,经常出现10.x.x.x的内网地址,导致ddns不可用,每次都要去A,B两地去重新拨号,直到拨成公网IP(但是有时候会一直无法获得公网ip)。

每次出问题就上门重拨号不是一个通用化解决方案,费时费力,搞的心累... 那就研究一下内网穿透,来实现代理访问吧。分析对比各类穿透方案:花生壳、FRP、NPS等,最终选用NPS,主要是看中它的客户端不需要任何配置文件所有配置完全在服务端实现,在家就能轻松对多台远端主机进行管理,并且NPS的web管理界面简洁、美观、易用。

图1.1图1.1

图1.2图1.2

图1.3图1.3

二、准备工作

  1. 有公网ip的宽带:自家宽带,朋友家宽带,云服务器等等 (本文使用的自家200兆宽带)

  2. 支持端口映射的路由器一台 (本文使用的路由器为WRT1900AC)

  3. 域名:可以是*级域名,二级域名,壳域名(本文使用白群晖自带的二级域名)

  4. 代理服务器一台:x86,arm均可,最好能安装docker,因为部署与维护比较简单(本文使用一台白群晖主机并且使用docker部署相关程序)

  5. 监控服务器多台 (本文使用两台黑群晖主机)

  6. 内网穿透服务端软件:nps(本文使用docker版本的nps)

  7. 内网穿透客户端软件:npc(本文使用群晖原生spk版本的npc)

  8. 监控录像软件:群晖Surveillance Station

  9. 移动端app:群晖DS Cam

三、简单介绍

  1. 使用手机上的DS Cam访问代理服务器的域名与端口(abc.xx.com:1234)。

  2. 代理服务器Synology_1的NPS-server接受到访问请求,根据配置文件中端口1234的代理规则,使用专用代理隧道与内网Synology_2主机的NPC-client进行通信。

  3. 监控服务器Synology_2的NPC-client 向本机(或者局域网内)的Surveillance Station请求数据,然后回传给Synology_1的NPS-server。

  4. 现在我们的DS Cam就可以通过代理服务器Synology_1访问到监控服务器Synology_2的监控数据了。

图3.1图3.1

四、使用带公网ip环境的主机部署nps-server

1.下载nps-server配置文件,地址,然后将配置文件上传到群晖主机在群晖主机上,我使用的目录是docker/npsserver/conf(图4.1)。

图4.1图4.1

2.群晖套件中心-搜索并安装docker;打开docker-注册表-选择官方docker版本ffdfgdfg/nps(图4.2)。

图4.2图4.2

3.打开docker-映像-双击ffdfgdfg/nps:latest 进行配置:

(1)勾选“使用高权限执行容器”(图4.3);

图4.3图4.3

(2)然后点击高级设置:勾选自动重新启动(图4.4);

图4.4图4.4

(3)点击 “卷”,在docker中映射一下本地目录,选择“添加文件夹”,浏览目录选择docker/npsserver/conf,点击“选择”(图4.5),然后配置装载路径为/conf(图4.6);

图4.5图4.5

图4.6图4.6

(4)点击“网络”,勾选“使用与Docker Host相同的网络” (图4.7);

图4.7图4.7

(5)点击应用,然后点击下一步,在最终确认面板里,取消勾选“向导完成后运行此容器” (图4.8)

图4.8图4.8

4.打开上传配置文件的群晖目录,打开nps.conf文件进行修改(图4.9),主要就是修改http_proxy_port,https_proxy_port,将原来的80,443端口修改为不冲突的,如10001,10002之类,修改完成之后保存一下。不修改的话,nps-server可能会因为端口被占用而启动失败。

图4.9图4.9

5.打开docker界面,选择“容器”,点击启动(图4.10)。

图4.10图4.10

6.修改docker容器内的时区,docker容器默认的时区不是上海,然后docker日志时间和主机时间会不一致(待完善:我手动拷贝了一下群晖时区到docker容器),这个问题即使不处理,nps-server好像也能正常运行。解决方案百度“docker 时区”即可。

7.使用浏览器访问http://主机IP地址:8080 进入控制台。输入默认的admin/123登录控制台(图4.11)。

图4.11图4.11

8.进入web控制台,点击客户端-新增,填写“备注”,“唯一验证秘钥”,“压缩”,“加密”等信息 ,然后点击新增(图4.12)。

图4.12图4.12

9.为新增的客户端添加隧道,点击隧道(图4.13),填写“客户端ID”,“备注”,“服务端端口”,“目标ip:端口” (图4.14),然后点击新增;

图4.13图4.13

图4.1图4.1

10.nps-server 部署完成。

五、配置DDNS动态域名服务与代理端口映射

DDNS动态域名服务:我使用的是白群晖的DDNS域名解析,在控制面板-外部访问-DDNS-服务供应商Synology 中添加(图5.1)。

图5.1图5.1

配置端口转发:需要转发的端口为(1)转发默认服务端口8024(2)转发图4.14中的代理端口。

图5.2图5.2

六、在A,B两地的无公网ip的黑群晖上部署npc客户端

1.下载群晖版本的npc安装程序,地址,文件名“npc_syno.spk”

2.打开套件中心-手动安装-选择npc_syno.spk文件,安装即可。

3.打开npc客户端,填写图5.1中的DDNS的域名、nps-server的默认端口8024、以及图4.12中的唯一验证秘钥,点击保存。npc客户端配置完成,下图为npc程序界面 (图6.1)

图6.1图6.1

七,打开web控制台,查看客户端状态,已经显示客户端在线状态了。(图7.1)

图7.1图7.1

八、此时打开手机的DS Cam,输入图5.1中的ddns动态域名,与图5.2中配置的代理端口,然后输入远端监控主机的用户名密码,就可以正常使用了。(图8.1,图8.2)

图8.1图8.1

图8.2图8.2

进入web控制台,查看客户端状态,当DS Cam同时六画面实时预览时,占用带宽大约为1MB/s。

图8.3图8.3

九、总结

使用这个方案解决了我一个大问题,从此不管远端是公网ip还是内网ip,我这两套自建的群晖监控录像机,外网访问再也不会掉链子了。不需要花生壳,萤石云之类的东西,自建内网穿透方便快捷,稳定可靠!


   

展开阅读全文
最新文章 热门文章