视频介绍
一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。
一、NPS的GitHub页面地址
GitHub:https://github.com/cnlh/nps
二、进入releases安装页面
releases github:https://github.com/cnlh/nps/releases
找到你需要的版本,我这里用的服务器是centos 7,那么也就是Linux的64位版本,所以我需要下载对应的客户端和服务端。
三、登录你的服务器的SSH配置NPS服务端
1.我这里用的谷歌云,谷歌云里面centos系统里面没有安装wget,所以我们需要安装一下。
yum -y install wget
2.从github上获取最新版本的nps服务端
wget https://github.com/cnlh/nps/releases/download/v0.23.1/linux_amd64_server.tar.gz
3.进行解压
tar -zxvf linux_amd64_server.tar.gz
4.启动服务端
./nps start
四、输入服务器的IP地址加8080端口号,即可进入NPS的后台界面
默认用户名:admin 默认密码:123
五、登录后台,添加一条客户端
六、配置客户端
我这里用koolshare LEDE来配置客户端
1.首先要开启koolshare Lede的SFTP的功能
opkg update opkg install openssh-sftp-server
2.然后下载winscp软件,以及下载NPS的linux 64位的客户端
3.通过WINSCP软件将linux_amd64_client.tar.gz 上传至koolshare lede的 root目录里面
4.登录koolshare lede的ssh 对linux_amd64_client.tar.gz进行解压
tar -zxvf linux_amd64_client.tar.gz
七、启动客户端
1.临时启动客户端测试
./npc -server=(ip:port) -vkey=(web界面中显示的密钥)
例子:
./npc -server=35.221.192.140:8024 -vkey=123456
2.常驻客户端后台
nohup ./npc -server=(ip:port) -vkey=(web界面中显示的密钥)
八、解析域名并绑定
1.进入域名后台解析一个域名到你的服务端的IP上
2.进入NPS后台绑定域名以及设置内网IP及端口号
[…] 目录 [显示] […]
升级到DSM7.0 beta之后,NPS客户端无法使用了。
你好 VEE,
按照你的教程,一步步去搭建谷歌云服务器,NPS启动了,但是还是打不开NPS的WEB页面,请问是什么问题呢?
一开始我还以为是谷歌云的问题,后来换了阿里云,问题还是同样存在,无法打开NPS的WEB页面。
看了一下评论里的信息,有可能是8080端口没打开,查了一下,好像也是打开了。
但是TCP6的显示有8080端口,反而没有TCP的资料,请教一下问题到底出在哪里呢????
请问系统配置能导出吗,或者说所有配置是保存在什么地方的,因为服务器要重装系统,重新配置太多东西要记了.
大神,请教下NPS按照教程只能登入一个客户端,多个客户端无法正常登陆,需要改config中的什么参数呢?
斐讯K3路由器能跑起来么?选什么版本?
大佬请问我按照您的视频教程,在谷歌云SSH使用启动命令./nps start之后出现如图错误
好吧 我自己解决了0.0
使用./nps install 安装NPS
然后用 nps start 和 netstat -anp | grep nps 启动服务
就可以用IP+端口号登录上去了
还是非常谢谢大佬的教程!
如图
[…] 目录 [显示] […]
大神,请教下NPS按照教程只能登入一个客户端,多个客户端无法正常登陆,需要改config中的什么参数呢?
大神好,我按照教程一步步都做好了,nps服务器也启动成功了,但是在浏览器键入服务器ip地址:8080就是登不上后台,服务器提示无法访问此网站,意外终止了连接。有什么办法能检测到底哪里出了问题吗?
端口没有开放
2020/01/10 09:46:27.466 [E] [nps.go:103] Valid actions: [“start” “stop” “restart” “install” “uninstall”]
%!(EXTRA string=Failed to start nps内网穿透代理服务器: exit status 5)
阿里云服务器搭建,服务端客户端都在线,域名解析也在线,就是访问不了,80端口也开放了
8024端口没开
4.启动服务端
./nps start
这里之前,漏了个cd nps
具体看视频演示,图文只是列出必要代码,不是步骤
[…] 目录 [显示] […]
[…] 目录 [显示] […]
[…] 目录 [显示] […]
[…] https://vt.wooomoo.com/archives/4184 […]
[…] 目录 [显示] […]
我试了两个阿里云的服务器都不能打开web管理页面,运行启动命令是提示成功的,但是ps -A又找不到进程。我这两个阿里云服务器都安装有宝塔,但是宝塔后台和服务器后台我都放行了8080端口,实在想不出问题出在哪里。我搬瓦工的服务器没有宝塔就没有问题,请帮我分析一下怎么解决这个问题,是跟宝塔有关吗?还是除了8080之外还有其他端口要放行?
测试完成。宝塔与NPS冲突。
windows跟linux系统跟linux智能路由器都能穿透吗?
都可以
我在服务器上搭建好服务器,lede路由器的客户端也正常启动,在服务器端看到客户端的状态是 在线,域名解析也没有问题,在lede路由命令行 也是能ping 通解析的域名,但是测试的时候就是访问不了内网,真是奇怪。
搞定了,因为服务器是的80端口没有开放的。折腾我好几天了。
一般服务器都是默认开80端口的
我在服务器上已经搭建好服务端,但当在Openwrt路由器里用opkg update和opkg install openssh-sftp-server命令行开启SFTP功能的时候,提示失败,这是什么原因?
哈哈,成功了,真的挺简单的!不过连接速度的确是比DDNS慢,没办法,新居拉的宽带,联通不给公网IP,只能凑活着用了!
速度快慢就取决于搭建NPS的服务速度了
请问后台在哪里修改登陆密码,找了半天都没有找到
貌似在后台界面里是不能修改登录密码的,要修改服务端配置文件/conf/nps.conf,具体你看看https://github.com/cnlh/nps里作者的说明。
吐槽一下,这东西离frp或者ngrok还是有点距离的,虽说操作方便了一些,但是就我早上使用来不是很理想,我映射4个大部分时间都是不能正常访问的,不是404就是找不到站点,使用体验很差,目测还是要等一段时间才可以完善。
我没感觉什么问题呀,挺稳定的。是不是你服务器装其他的程序,有冲突造成的?
想问下web端的用户名密码用什么命令修改
后台就可以修改
服务端安装成功,但是启动客户端一直失败。
服务端安装文件地址:https://github.com/cnlh/nps/releases/download/v0.23.1/linux_amd64_server.tar.gz
客户端安装文件地址:https://github.com/cnlh/nps/releases/download/v0.23.1/linux_amd64_client.tar.gz
安装错误提示:图片
个人初步判断安装失败是因为客户端和服务端版本不一致,但是不知道怎么修改版本(已经尝试重新上传其他版本,但是都不成功)。请求帮助!
你没有进去到NPC的目录下 cd npc 进去再执行命令
客户端我是安装在内网的一台Linux上。路由器需要开放那些端口么?服务端需要开放那些端口?
一般来说,Linux和Unix系统开机自动执行命令或者脚本,是比较常用的操作,在这里记录一下,以备后期需要时翻阅。
有三种方案可以实现。
方案一:
1、在/etc/init.d/目录下新建一个脚本文件test。
2、把想要执行的命令写入脚本文件中。
3、执行命令
1
chown 777 test
4、创建链接文件,指向该脚本
1
ln -s /etc/init.d/test /etc/rc.d/rc3.d/S70test
说明:该方案是比较常见的方案,在Linux和Unix里面通用。/etc/init.d/目录并不是开机自动运行的目录,只是习惯性的把开机需要运行的脚本放到这里。/etc/rc.d/rc3.d/目录才是关键的开机运行目录。因为inittab得默认配置中有一行 l3:3:wait:/etc/rc.d/rc 3 是说明等待该目录下的所有命令执行完成继续。至于连接文件命名为S700test,“S”开头(start)代表执行服务,“K”开头(kill)代表杀掉服务,数字代表启动顺序,英文是服务或脚本名。
方案二:
直接修改etc/inittab的默认配置,在内容下方加入
1
test:35:wait:/bin/echo “123456” > /aaa 2>&1
说明:
这条内容的含义是
1
id:runlevels:action:process
id: 是标识名,可以任意起名,4个字符以内,要注意的是标识名不能重复,它是唯一的。
runlevels: 表示这一行适用于运行那些级别(如上所示的6个级别);另外sysinit、boot、bootwait这三个进程会忽略这个设置值。此项可以多选,比如要运行1,2,3个级别,就写成123
action: 表示进入对应的runlevels时,init应该运行process字段的命令的方式,常用的字段值及解释在附录内。
respawn: 表示init应该监视这个进程,即使其结束后也应该被重新启动。
wait: init应该运行这个进程一次,并等待其结束后再进行下一步操作。
once: init需要运行这个进程一次。
boot: 随系统启动运行,所以runlevel值对其无效。
bootwait:随系统启动运行,并且init应该等待其结束。
off: 没有任何意义。
initdefault:系统启动后的默认运行级别;由于进入相应的运行级别会激活对应级别的进程,所以对其指定process字段没有任何意义。如果inittab文件内不存在这一条记录,系统启动时在控制台上询问进入的运行级。
sysinit: 系统启动时准备运行的命令。比如说,这个命令将清除/tmp.可以查看/etc/rc.d/rc.sysinit脚本了解其运行了那些操作。
powerwait: 允许init在电源被切断时,关闭系统。当然前提是有U P S和监视U P S并通知init电源已被切断的软件。RH linux默认没有列出该选项。
powerfail: 同powerwait,但init不会等待正在运行的进程结束。RH linux默认没有列出该选项。
powerokwait:当电源监视软件报告“电源恢复”时,init要执行的操作。
powerfailnow:检测到ups电源即将耗尽时,init要执行的操作,和powerwait/powerfail不同的哟。
ctrlaltdel:允许init在用户于控制台键盘上按下C t r l + A l t + D e l组合键时,重新启动系统。注意,如果该系统放在一个公共场所,系统管理员可将C t r l + A l t + D e l组合键配置为别的行为,比如忽略等。我是设置成打印一句骂人的话了^o^. kbrequest:监视到特定的键盘组合键被按下时采取的动作,现在还不完善。
ondemand: A process marked with an ondemand runlevel will be executed whenever the specified ondemand runlevel is called. However, no runlevel change will occur (ondemand runlevels are ‘a’, ‘b’,and ‘c’)
process: 就是执行的程序
runlevels说明:
1
2
3
4
5
6
7
# 0 – 停机(千万不能把initdefault 设置为0 )
# 1 – 单用户模式
# 2 – 多用户,没有 NFS (没有网络)
# 3 – 完全多用户模式(标准的运行级,实际上就是text模式)
# 4 – 没有用到
# 5 – X11 (xwindow)
# 6 – 重新启动
该方案在Linux和Unix下都可以使用。
方案三:
编辑/etc/rc.d/rc.local文件,直接把命令加入到最下面。注:该方法不适用Unix,只能在Linux下执行。
可以具体说下怎么操作吗?按第三种方法来,我直接写ssh中的启动命令,不行呀,谢谢,小白一个
来电随LEDE系统自动开机启动,后台自动运行进程服务,这个没讲到啊~
能不能给个路由器开机启动npc的命令,还有让它后台运行的命令。
这个是不是不支持远程桌面内网穿透?
支持的
我使用的是openwrt的路由器,固件版本OpenWrt R9.8.5 / LuCI Master (git-19.146.62144-fd6fdb2)
我在VPS上已经安装成本,使用winscp,在sftp模式下对root文件夹上传客户端时提示“Failure writing to local file.”请问需要如何处理?
目录没选对吧
请问我VPS是 Debian 9 x86_64 应该用哪个呢??? 谢谢
也是 amd64的 一样的
我找到了 谢谢
web账号密码能修改吗
输入启动服务端代码后显示-bash: syntax error near unexpected token `newline’怎么解决大佬
命令没输入对 检测下
-bash: ./nps: cannot execute binary file这是咋回事?
我的也出现了输入启动服务端代码后显示-bash: syntax error near unexpected token `newline