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路由和全景解析之类的功能。
服务器上的多用户和用户注册支持。
案例:
- 做微信公众号开发、小程序开发等----> 域名代理模式
- 想在外网通过ssh连接内网的机器,做云服务器到内网服务器端口的映射,----> tcp代理模式
- 在非内网环境下使用内网dns,或者需要通过udp访问内网机器等----> udp代理模式
- 在外网使用HTTP代理访问内网站点----> http代理模式
- 搭建一个内网穿透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的screenscreen -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
Comments NOTHING