NPS介绍

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器

简洁且功能强大的WEB管理界面
全面的协议支持,与几乎所有常用协议兼容,例如tcp,udp,http(s),socks5,p2p,http代理…
本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理、UDP流量转发、游戏私服、我的世界服务器等等…
全面的平台兼容性(Linux,Windows,MacOS,Synology等),仅支持将安装作为系统服务进行。
全面控制,允许客户端和服务器同时控制。
Https集成,支持将后端代理和Web服务转换为https,并支持多个证书。
只需在Web ui上进行简单配置即可完成大多数要求。
完整的信息显示,例如流量,系统信息,实时带宽,客户端版本等。
强大的扩展功能,一切可用(缓存,压缩,加密,流量限制,带宽限制,端口重用等)
域名解析具有诸如自定义标题,404页面配置,主机修改,站点保护,URL路由和全景解析之类的功能。
服务器上的多用户和用户注册支持。

案例:

  1. 做微信公众号开发、小程序开发等----> 域名代理模式
  2. 想在外网通过ssh连接内网的机器,做云服务器到内网服务器端口的映射,----> tcp代理模式
  3. 在非内网环境下使用内网dns,或者需要通过udp访问内网机器等----> udp代理模式
  4. 在外网使用HTTP代理访问内网站点----> http代理模式
  5. 搭建一个内网穿透ss,在外网如同使用内网vpn一样访问内网资源或者设备----> socks5代理模式

NPS项目Github地址(原版,已断更):https://github.com/ehang-io/nps

NPS官方中文文档:https://ehang-io.github.io/nps/#/

服务端与客户端下载:https://github.com/ehang-io/nps/releases

NPS项目(二开,并持续更新):https://github.com/yisier/npsNPS

准备:

一台服务器,安装Centos7系统
(2核2G左右都可以了,当然取决于使用人数,但是带宽越高越好,内网穿透速度取决于你服务器的带宽,服务器带宽低,本地带宽再高也没用)

搭建NPS服务端

本次教程环境:使用本地电脑做内网穿透,使外网能访问电脑内网(搭建网站)

提醒:NPS内网穿透占用服务端默认占用的端口:80 443 8080 8024(必要的端口一定要放行,不然无法启动服务,在使用其他端口的时候也需要放行或者关闭防火墙),记得不要安装宝塔面板,端口会冲突,除非你修改了nps端口
建议把端口协议全开放,有防火墙的最好也关了

下面介绍安装包安装方法

# 安装wget并且安装screen
yum install -y wget && yum install -y screen

# 创建nps文件夹并进入nps文件夹
mkdir /root/nps && cd /root/nps

# 下载NPS服务端,需要其他版本的可以去下载地址获取,然后替换
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz

# 解压服务端并且安装nps
tar -zxvf linux_amd64_server.tar.gz && ./nps install

# 创建screen窗口(nps是窗口名字,可以随意)
screen -S nps

# 启动nps
sudo nps

最后Ctrl + A+D 挂起窗口

官方文档启动命令是sudo nps start,但是我用官方的命令是无法启动的,但是直接​​nps​​是可以启动

关于screen的更多设置:
如果想恢复服务端窗口,只需输入
screen -r nps
如果想关闭可以执行下面命令
在screen外杀掉名为mc的screen
screen -S nps -X quit

安装完后登录nps的web端
在浏览器打开:http://服务器IP:8080
使用用户名和密码登陆(默认admin/123),修改/root/nps/conf/nps.conf配置文件中的web_password)

修改文件使用vim命令
vim /root/nps/conf/nps.conf
按 i 进入编辑模式,修改完按esc退出
输入:wq保存(冒号别漏)

windows客户端安装使用

登陆NPS服务端的WEB管理页面,找到【客户端】,【新增】

备注随便填,下面建议都选 是,id是2(创建隧道要填)参考文档https://ehang-io.github.io/nps/#/feature

新建内网穿透隧道
在本地电脑 win + R 启动cmd,输入ipconfig查看本地局域网ip
填入客户端id,服务器端口,本地ip + 端口

下载Windows客户端:https://github.com/ehang-io/nps/releases,找到最新版win客户端下载
在D盘新建一个npc文件夹,把压缩包解压到里面

使用管理员身份运行cmd,一定要管理员权限打开

# cd进入d盘
d:

# 进入npc文件夹
cd npc

# 注册,-server=...这段需要在web面板的客户端复制过来
npc.exe install -server=124.223.164.2:8024 -vkey=cb0wuf2nodgxyduz -type=tcp

右键【此电脑】--【管理】--【服务和应用程序】--【服务】--【nps内网穿透客户端】--【恢复】
三个都选择【重新启动服务】,最后启动服务

回到web面板,可以看到客户端已经连接成功了

启动本地的iis服务器,绑定本地局域网ip,然后地址打开 测试是否成功

最后不同网络下,打开穿透地址查看是否成功

现在已经搭建成功了,其他功能请自行研究,不做演示了,文章太长了

更多win客户端的npc命令

  • 启动:npc.exe start
  • 停止:npc.exe stop
  • 更新:npc-update.exe update
  • 如果需要更换命令内容需要先卸载npc.exe uninstall,再重新注册

Linux客户端安装方法

这个主要用于树莓派上做内穿

# 安装wget并且安装screen
yum install -y wget && yum install -y screen

# 创建npc文件夹并进入npc文件夹
mkdir /root/npc && cd /root/npc

# 下载NPC客户端,需要其他版本的可以去下载地址获取,然后替换
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz

# 解压客户端
tar -zxvf linux_amd64_client.tar.gz

# 创建screen窗口(npc是窗口名字,可以随意)
screen -S npc

# 安装NPC并启动
./npc install -server=<ip:port> -vkey=<web界面中显示的密钥> <以及一些其他参数>
  • 注册:sudo ./npc install 其他参数(例如-server=xx -vkey=xx或者-config=xxx)
  • 启动:sudo npc start
  • 停止:sudo npc stop
  • 更新:sudo npc-update update
  • 如果需要更换命令内容需要先卸载./npc uninstall,再重新注册

免费内网穿透服务

Ngrok:要实名,限速10mbps,不限流量
https://www.ngrok.cc/

樱花frp:海外节点免实名,限速10mbps,限流量(可签到获得)
https://www.natfrp.com

届ける言葉を今は育ててる
最后更新于 2023-12-17