nps内网穿透【p2p模式】详细教程-纯净docker方式-NAS

open 25天前 24

0:为什么要用P2P模式,因为点对点,不消耗你VPS或独服的流量,假如你买的是国内VPS或独服本身因为价格和国情的原因,流量就吃紧,假如要传送一个几十G的数据,用传统TCP穿透模式,你传送多少流量,你的VPS就消耗多少流量,而且p2p模式一旦握手成功,就直接交给2端独立通讯,自身是断开的,并且速度快于TCP
1:首先准备一台有公网IP的VPS或独服(作为NPS服务端,在P2P模式下确切的说是验证握手中间端,除非你作为TCP模式下的穿透,那么就真的是一个服务端了。)
2:在VPS或安装好docker(怎么安装docker就不说了,太简单了。)
安装NPS的Docker镜像我这里选择的是ffdfgdfg/nps,只需2条命令:
①docker pull ffdfgdfg/nps
②docker run -d --restart=always --name nps --net=host -v /root/docker/nps/conf:/conf ffdfgdfg/nps
    [上面的命令,其中/root/docker/nps/conf可自己指定,我这里是为了方便]
3:SSH连接上你的VPS,ffdfgdfg/nps默认nps的配置文件在上面命令指定的目录里,也就是/root/docker/nps/conf
vi /root/docker/nps/conf/nps.conf

nano /root/docker/nps/conf/nps.conf
打开后编辑以下几个地方即可:
①【必须】p2p_ip=121.281.131.127 (<----你VPS或者独服的公网IP地址,记住不要填写域名)
                p2p_port=6000 (<-----任意端口,官方默认6000,但是防火墙一定要放行6000-6002,IP段,而不是只放行6000,以此类推,假如你改成7000端口,那么放行7000-7002,很多人穿透失败就是这一步没做)
②【必须】web_username=admin (任意用户名)
                web_password=hostloc (任意密码)
                web_port = 8880  (<--任意,防火墙记得打开)
③【可选】http_proxy_port=800  (如果你所在的VPS,80端口已经在用了,这里改一下)
                https_proxy_port=4433 (如果你所在的VPS,443端口已经在用了,这里改一下)
④保存退出vi或者nano,并重启一遍镜像。
--------------------------------------------------------------------------------------------------------------------------------------
虚线以上的安装和设置过程,大家应该还是搞的清楚的,下面就要说一下,应用场景了。
①我们刚刚在一台VPS或者独服上,安装了Docker-并部署了nps-但是它现在的身份不是服务端,而是一个中间件,只做验证服务,并不参与2端的传输
②假设:我办公室的电脑想用任意(远程桌面软件客户端)-------去连接家里的电脑的任意(远程桌面软件服务端),要怎么做呢?
③很简单:把家里电脑(远程桌面的服务端端口)-----用p2p方式穿透到-----办公室电脑(系统下的任意指定端口)中---再用办公室电脑的(远程桌面软件客户端)去连接系统指定的本地的端口。(如果看的有点蒙,就多看几遍。)
-----------------------------------------------------------------------------------------------------------------------------------------------
实际举例场景:
①中国电信,办公室电脑Win10,安装了AnyDesk(作为客户端)
②中国移动,家里电脑Win10,安装了AnyDesk(作为服务端,这软件默认端口是7070)
③中国移动,家里电脑Win10,上安装NPC客户端(看清楚,是NPC,不是NPS),有条件的最好装在软路由上,因为电脑经常要重启和关机,我这里就装在家里的软路由上了openwrt_x86_x64,先打开我们刚刚在VPS上安装的NPS看看用NPC去连接的配置信息



④中国移动,打开家里软路由openwrt的NPC插件,根据上面图片中的信息分别填写,公网IP+端口+密码,保存并应用即可。

⑤设置NPS,启用其中一个连接方的P2P模式。


⑥在中国电信,办公室电脑里下载官方x64-NPC客户端,并安装成开机自启动服务




⑦在中国电信,办公室电脑Win10系统中打开AnyDesk,连接上面配置好的本地端口。


---------------------------------------------------------------------------------------------------------------------------------------------------
教程结束,P2P模式,因为只需要验证的流量(极少),所以里传输多大的流量,都不影响VPS或者独服本身的流量,所以会大大减少你购买国内服务器的价格,流量甚至每个月几百M就够用了。
至于你们担心的ISP会QOS限制的问题,只要你是国内运营商连接国内运营商,可以是中国电信,中国移动,中国联通,都不会限制,除非你P2P模式连接的是国外ISP下的一台电脑,那么有可能会限制。

最新回复 (28)
  • slwl123 24天前
    引用 2
    P2P 模式 用zerotier不好么
    不需要服务器 配置又简单
  • zhfreal 24天前
    引用 3
    我也想说原理上都差不多,zerotier操作方便多了
  • 楼主 open 24天前
    引用 4
    slwl123 发表于 2021-3-26 12:30
    P2P 模式 用zerotier不好么
    不需要服务器 配置又简单
    zerotier 跨网段,在国内,只有部分地区良好,但你处在多种ISP环境下,中国电信,中国移动,中国联通的时候,你只用官网的服务器,穿透率真的不高,当然家里和办公室里,同运营商的时候,确实还可以,跨运营商里你试试,没有自己搭建的moon卫星服务器,根本穿透都是个问题,话说回来,你要搭建moon卫星了,就和这个教程原理相似呢。
  • 楼主 open 24天前
    引用 5
    zhfreal 发表于 2021-3-26 12:38
    我也想说原理上都差不多,zerotier操作方便多了
    zerotier 终归掌握在别人手中,政策怎么样都是人家说了算的,当初还100台免费,现在不是改成50台了么?
  • 霏凡公子 24天前
    引用 6
    看着好晕啊,ddnsto了解下
  • 楼主 open 24天前
    引用 7
    霏凡公子 发表于 2021-3-26 12:53
    看着好晕啊,ddnsto了解下
    没开源,这么隐私的应用,不开源,不敢用啊
  • 霏凡公子 24天前
    引用 8
    开源的对于技术大拿来说随便折腾,可是对于非技术小白来说就比较困难了
  • zhfreal 24天前
    引用 9
    open 发表于 2021-3-26 12:49
    zerotier 终归掌握在别人手中,政策怎么样都是人家说了算的,当初还100台免费,现在不是改成50台了么? ...
    50台不够用,那就继续造轮子吧
  • zwb0619 24天前
    引用 10
    Mark,留着备用
  • mdeu 24天前
    引用 11
    zerotier主要是不在你自己控制下,哪天变了政策就没了
  • Mufasa 24天前
    引用 12
    还是 frp 好用。。。。
  • 港城钢铁侠 24天前
    引用 13
    感觉不错,这样我可以把NAS放移动宽带下了,毕竟移动上传给的多
  • 引用 14
    frp也可以配置p2p模式,但是我配了好多次都没法穿透,最后还是只能走tcp转发。
    有空试试楼主这个。
  • 翰墨留香 24天前
    引用 15
    要是能用Win自带的远程桌面就好了
  • 楼主 open 24天前
    引用 16
    我輩樹である 发表于 2021-3-26 13:44
    frp也可以配置p2p模式,但是我配了好多次都没法穿透,最后还是只能走tcp转发。
    有空试试楼主这个。 ...
    是的,FRP是个好软件,但是就P2P模式这一模块来讲,NPS的穿透率和稳定性,比FRP稳定的多,FRP的穿透率太低了,我也穿透失败才用NPS的,我两个都有,各发挥各自的优势。
  • 楼主 open 24天前
    引用 17
    翰墨留香 发表于 2021-3-26 13:47
    要是能用Win自带的远程桌面就好了
    当然可以啊,把3389穿透出去啊,把教程里理解透了,什么软件都可以。
  • 楼主 open 24天前
    引用 18
    Mufasa 发表于 2021-3-26 13:31
    还是 frp 好用。。。。
    我两个都有,各发挥各自的优势。FRP-纯TCP穿透和HTTP、HTTPS、这一部分确实稳,但是P2P模块作者写的并不好,我很多场景也穿透失败,在github的留言也看见大家和我一样的情况,很显然P2P穿透并不是FRP的擅长。
  • Mufasa 24天前
    引用 19
    open 发表于 2021-3-26 14:04
    我两个都有,各发挥各自的优势。FRP-纯TCP穿透和HTTP、HTTPS、这一部分确实稳,但是P2P模块作者写的并不 ...
    我是去年开始研究frp,弄了个VPS作为中转,服务器的带宽确实比较吃紧。
    但是我不知道frp还有P2P功能。。。。新版本加的?
  • 楼主 open 24天前
    引用 20
    翰墨留香 发表于 2021-3-26 13:47
    要是能用Win自带的远程桌面就好了

    看见这张图了么,只需要再输入一个192.168.2.7:3389(上面的地址自己改,改成里自己电脑的IP地址,3389代表微软远程桌面的默认端口)
    它穿透的不是一个端口,而是一台电脑,一个端口可以复用给多个应用。
  • 翰墨留香 24天前
    引用 21
    open 发表于 2021-3-26 14:16
    看见这张图了么,只需要再输入一个192.168.2.7:3389(上面的地址自己改,改成里自己电脑的IP地址,3389代 ...
    OK,回头在办公室电脑上试试
  • 楼主 open 24天前
    引用 22
    Mufasa 发表于 2021-3-26 14:11
    我是去年开始研究frp,弄了个VPS作为中转,服务器的带宽确实比较吃紧。
    但是我不知道frp还有P2P功能。。 ...
    frp也有p2p模式的,服务端添加一个bind_udp_port = 7000  即可,客户端有两种模式一种是stcp,另一种是xtcp,不消耗流量的是xtcp,但是穿透率非常低。
  • Mufasa 24天前
    引用 23
    open 发表于 2021-3-26 14:18
    frp也有p2p模式的,服务端添加一个bind_udp_port = 7000  即可,客户端有两种模式一种是stcp,另一种是xt ...
    感谢,我去研究一下。。。。
  • 孤舟一笠 24天前
    引用 24
    感谢楼主教程。正好适配我的需求。
    家里上行100M,可惜没有公网。手头有阿里云公网服务器,上行5M,用FRP,就只有5M了,太惨了。
    请问这个客户端有mac版的没?我需要在macbook上远程访问家里的nas
  • 灵乌路空 24天前
    引用 25
    脑壳疼,还是用我的teamviewer算了
  • mypchas6fans 24天前
    引用 26
    早就知道nps,今天终于有空跑起来tcp隧道,p2p还没整明白。
    有一点感叹是,docker还搞什么net=host模式……把其他容器都影响了
  • 楼主 open 23天前
    引用 27
    mypchas6fans 发表于 2021-3-26 20:55
    早就知道nps,今天终于有空跑起来tcp隧道,p2p还没整明白。
    有一点感叹是,docker还搞什么net=host模式…… ...
    要用到P2P穿透,肯定需要host啊,TCP和UDP普通穿透,可以不需要用host,Docker的host是虚拟一个网卡出来的,应该不会影响其它Docker工作的。
  • mypchas6fans 23天前
    引用 28
    open 发表于 2021-3-27 13:23
    要用到P2P穿透,肯定需要host啊,TCP和UDP普通穿透,可以不需要用host,Docker的host是虚拟一个网卡出来 ...
    docker会建一堆防火墙规则,我反正起完这个,别的容器就出错了。后来看看原始server端免安装就直接起来了,总感觉这时候再搞个docker不是脱裤子放屁么……
  • yin3689021 23天前
    引用 29
    Mark.留以后备用
  • 游客
    30
返回