雨云服务器助你轻松搭建内网穿透,解决无公网IP问题。-X黑手网
点击查看-X黑手网
点击查看-X黑手网

可视化nps内网穿透工具的安装和使用

关于NPS

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcpudp流量转发,可支持任何tcpudp上层协议(访问内网网站、本地支付接口调试、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

0221207152422

修改配置文件配置nps.conf

修改配置文件:vim conf/nps.conf 里面有默认端口、用户名和密码,如不需要修改就跳过

vim conf/nps.conf

微信图片_20230209015054

 

安装宝塔面板的用户注意:(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 &

在管理端创建客户端

进入管理后台之后,选择左边客户端,点击右边新增按钮

image-20211211132954213

填写客户端备注,点击新增

image-20211210203315705

回到客户端列表,选择一台客户端,添加隧道,然后点击新增隧道按钮

image-20211210203442560

选择tcp隧道,服务端端口随便填写一个不冲突的端口数字,目标地址填写你需要映射到的内网ip+端口,后续将会访问服务端的这个端口号映射到你的内网目标地址。最后点击新增。比如这里我定义服务端端口为5002,目标ip为:127.0.0.1:8011

image-20211210203624358

这样,一个客户端就算创建完成了。

搭建客户端工具

下载客户端工具

  • 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的运行程序。

复制运行指令

进入客户端列表,点击你需要使用的客户端左边的+号,在展开的信息中复制客户端命令

image-20211211132954213

3.3 运行客户端

  • 3.3.1 如果你是Mac系统

进入到npc所在目录,执行 ./npc -server=xxx:xxx -vkey=xxx -type=tcp, ./npc后面的命令都是从上一步骤中复制过来的。

image-20211211133520037

  •  如果你是Windows系统

打开cmd,进入到npc所在目录,执行 npc.exe -server=xxx:xxx -vkey=xxx -type=tcp, ./npc后面的命令都是从上一步骤中复制过来的。

如果使用powershell运行,请将ip括起来!

image-20211211133632142

  •  如果你是linux系统我们只需下面命令,便可实现连接。
./npc -server=公网IP:8024 -vkey=你的客户端密匙 -type=tcp

微信图片_20230209020505

客户端也已成功上线。

微信图片_20230209020541

 

如果遇到其它问题,试试下面的方法:
已解决,问题原因在于 宝塔官方,关闭了 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 里的配置文件,非解压后的配置文件

总结

npsfrp这两款端口映射工具可以说各有千秋。前者相对来说配置比较简单,并且有漂亮的web管理平台。(frp也有web管理,但都是最基本的功能。)支持的协议也比较多。但是缺点是支持的设备相对frp就比较少。如我们的路由器对frp支持比较广泛。

 

© 版权声明
THE END
喜欢就支持一下吧
点赞11赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容