关于NPS
nps
是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp
、udp
流量转发,可支持任何tcp
、udp
上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网ttp代理
、内网socks5
代理,并带有功能强大的web
管理端。
准备安装
配置要求:
1、需要一台有公网ip的服务器
2、开放端口,比如我这里的7500,8024,5000~5099(用来给朋友开放入口)
服务端是Centos的系统,选择下载:linux_amd64_server.tar.gz,下载地址是:https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
首先,根据自己的系统类型到项目地址去下载。服务器端为linux_arm64_server.tar.gz
客户端为windows_amd64_client.tar.gz
安装服务端
mkdir nps
cd
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
tar -zxvf linux_amd64_server.tar.gz
修改配置文件配置nps.conf
修改配置文件:vim conf/nps.conf
里面有默认端口、用户名和密码,如不需要修改就跳过
vim conf/nps.conf
安装宝塔面板的用户注意:(1.因为nps默认使用的TCP端口是80 443 8080 8024,宝塔面板的80 433 8080会被占用,因此这时候打不开nps的前端Web管理页面;我们需要修改nps的配置文件,后重新启动nps服务。
2.找到nps.conf文件,在宝塔根目录的etc文件夹下,路径/etc/nps/conf/nps.conf。)
appname = nps
#Boot mode(dev|pro)
runmode = dev
#HTTP(S) proxy port, no startup if empty
http_proxy_ip=0.0.0.0
#http_proxy_port=80 //80端口建议禁止注释掉,在宝塔面板上安装的nps不会用到
#https_proxy_port=443 //443端口建议禁止注释掉,在宝塔面板上安装的nps不会用到
https_just_proxy=true
#default https certificate setting
https_default_cert_file=conf/server.pem
https_default_key_file=conf/server.key
##bridge
bridge_type=tcp
bridge_port=8024 //与npc客户端通讯的默认端口,建议修改为其他端口如:8424
bridge_ip=0.0.0.0
# Public password, which clients can use to connect to the server
# After the connection, the server will be able to open relevant ports and parse related domain names according to its own configuration file.
public_vkey=123
#Traffic data persistence interval(minute)
#Ignorance means no persistence
#flow_store_interval=1
# log level LevelEmergency->0 LevelAlert->1 LevelCritical->2 LevelError->3 LevelWarning->4 LevelNotice->5 LevelInformational->6 LevelDebug->7
log_level=7
#log_path=nps.log
#Whether to restrict IP access, true or false or ignore
#ip_limit=true
#p2p
#p2p_ip=127.0.0.1
#p2p_port=6000 //p2p代理要使用的端口,如果需要使用p2p代理服务,也可以修改一下端口
#web
web_host=a.o.com
web_username=admin //nps默认登录账号,建议更换为自己牢记的账号,如admin123
web_password=123 //nps默认登录密码,建议更换为自己牢记的密码,如admin123
web_port = 8080 //nps默认web管理页面访问端口,建议修改为其他端口如:9090
web_ip=0.0.0.0
web_base_url=
web_open_ssl=false
web_cert_file=conf/server.pem
web_key_file=conf/server.key
# if web under proxy use sub path. like http://host/nps need this.
#web_base_url=/nps
#Web API unauthenticated IP address(the len of auth_crypt_key must be 16)
#Remove comments if needed
#auth_key=test
auth_crypt_key =1234567812345678
#allow_ports=9001-9009,10001,11000-12000
#Web management multi-user login
allow_user_login=false
allow_user_register=false
allow_user_change_username=false
#extension
allow_flow_limit=false
allow_rate_limit=false
allow_tunnel_num_limit=false
allow_local_proxy=false
allow_connection_num_limit=false
allow_multi_ip=false
system_info_display=false
#cache
http_cache=false
http_cache_length=100
#get origin ip
http_add_origin_header=false
#pprof debug options
#pprof_ip=0.0.0.0
#pprof_port=9999
#client disconnect timeout
disconnect_timeout=60
安装nps
执行命令
./nps install
./nps start #启动
停止和重启
sudo nps stop
sudo nps restart
上面的命令只能是启动,退出后程序会自动终结,因此我们需要下面的命令,让它不会停止!nohup ./nps > file.log 2>&1 &
至此,服务端就安装完了,贼快是吧,然后可以去看下管理后台长啥样。
- 访问服务端ip:web服务端口(默认为8080)
- 使用用户名和密码登陆进入管理后台(默认admin/123,正式使用一定要更改)
安装客户端
在安装客户端前,我们首先需要在后台控制页面创建客户端,然后将创建的参数写入到客户端配置文件中!
客户端常驻程序运行:nohup ./npc -server=(ip:port) -vkey=(web界面中显示的密钥) > file.log 2>&1 &
在管理端创建客户端
进入管理后台之后,选择左边客户端,点击右边新增按钮
填写客户端备注,点击新增
回到客户端列表,选择一台客户端,添加隧道,然后点击新增隧道按钮
选择tcp隧道,服务端端口随便填写一个不冲突的端口数字,目标地址填写你需要映射到的内网ip+端口,后续将会访问服务端的这个端口号映射到你的内网目标地址。最后点击新增。比如这里我定义服务端端口为5002,目标ip为:127.0.0.1:8011
这样,一个客户端就算创建完成了。
搭建客户端工具
下载客户端工具
- 3.1.1 如果你是Mac系统
请下载nps客户端程序,选择darwin_amd64_client.tar.gz,下载地址为https://github.com/ehang-io/nps/releases/download/v0.26.10/darwin_amd64_client.tar.gz, 我盲猜有很多人下载不下来,所以我放到我自己的文件服务器了:http://www.cretinzp.com:8029/file/2021/12/11/darwin_amd64_client.tar.gz
下载后解压,可以获得 nps的运行程序。
- 3.1.2 如果你是Windows系统
请下载nps客户端程序,选择windows_amd64_client.tar.gz,下载地址为https://github.com/ehang-io/nps/releases/download/v0.26.10/windows_amd64_client.tar.gz, 我盲猜有很多人下载不下来,所以我放到我自己的文件服务器了:http://www.cretinzp.com:8029/file/2021/12/11/windows_amd64_client.tar.gz
下载后解压,可以获得 nps的运行程序。
- 3.1.3 如果你是Windows wsl kali字系统系统选则linux_386_client.tar
复制运行指令
进入客户端列表,点击你需要使用的客户端左边的+号,在展开的信息中复制客户端命令
3.3 运行客户端
- 3.3.1 如果你是Mac系统
进入到npc所在目录,执行 ./npc -server=xxx:xxx -vkey=xxx -type=tcp, ./npc后面的命令都是从上一步骤中复制过来的。
- 如果你是Windows系统
打开cmd,进入到npc所在目录,执行 npc.exe -server=xxx:xxx -vkey=xxx -type=tcp, ./npc后面的命令都是从上一步骤中复制过来的。
如果使用powershell
运行,请将ip括起来!
- 如果你是linux系统我们只需下面命令,便可实现连接。
./npc -server=公网IP:8024 -vkey=你的客户端密匙 -type=tcp
客户端也已成功上线。
如果遇到其它问题,试试下面的方法:
已解决,问题原因在于 宝塔官方,关闭了 80 / 443 /8080的 UDP回路
firewall-cmd –permanent –zone=public 80/udp > /dev/null 2>&1
firewall-cmd –reload
firewall-cmd –permanent –zone=public 8080/udp > /dev/null 2>&1
firewall-cmd –reload
firewall-cmd –permanent –zone=public 443/udp > /dev/null 2>&1
firewall-cmd –reload
然后创建个空网站,反向代理 127.0.0.1:8080 即可解决 ,我是腾讯云 不管装NPS / FRP 都是同样问题 用这个方式即可~
①还有一个重要的问题,由于80 443 被宝塔占用了, 需要先把NPS配置文件中的http 80 443 改 808 / 909 等未占用的 ,将NPS 和 宝塔 隔离 就可以正常访问了
②NPS 执行安装命令后 ,要改/etc/nps/conf 里的配置文件,非解压后的配置文件
总结
nps
和frp
这两款端口映射工具可以说各有千秋。前者相对来说配置比较简单,并且有漂亮的web管理平台。(frp
也有web管理,但都是最基本的功能。)支持的协议也比较多。但是缺点是支持的设备相对frp就比较少。如我们的路由器对frp支持比较广泛。
2、本站永久网址:https://www.xheishou.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
暂无评论内容