NPS搭建
简介
NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。
准备工作
- 带有公网IP的服务器(此处以阿里云为例)
- 本地服务器
- NPS服务端和客户端
步骤
前往https://github.com/ehang-io/nps可查看NPS相关信息。在公网服务器和本地服务器分别下载安装服务端和客户端(根据所用系统自行选择)。
服务端
在公网IP服务器下载server安装包并配置
将nps的压缩包解压到自定义安装位置,其中的conf文件夹中nps.conf配置文件可以配置相关参数,主要修改用于配置nps的web端的用户名和密码。
1 | #web |
使用管理员运行cmd命令行。路径变换到nps的安装目录,执行nps install
,此时会在C:\Program Files
文件夹下产生新的nps配置文件,之后的nps配置直接配置此处文件生效。使用nps start
启用服务端,nps stop
停止服务,nps restart
重启服务。
服务端启用后进入ip:web_port
(默认端口为8080)进行web端部署,输入用户名及密码(同配置文件)登录。
nps web端登录界面:

nps web配置界面:

新增一个客户端:


留意客户端id及唯一验证密匙,之后会用到:

客户端
在本地服务器下载client安装包并配置
npc的和nps的命令使用方式相似。npc直接在其安装目录下的conf文件夹中的npc.conf文件中进行配置,删除掉冗余信息,只保留常规配置中的信息:
1 | [common] |
之后直接运行npc.exe即可连接至服务端。也可以命令行使用start命令运行。之后可以看到服务端的已连接上:

添加隧道
此时公网ip服务器已和本地连接,可以添加端口映射:

配置端口后,浏览器访问公网ip:服务端端口
后可以映射至内网地址:端口
云服务器配置
有的云服务器没有开放响应端口,此时诸多功能限制,如客户端与服务端无法连接等。以阿里云为开放所有端口。
在云服务器ECS中创建新的安全组:

可选择打开所需的端口,此处设置全部打开,设置完成后创建安全组。

最后将刚才创建的安全组加入实例中:

端口打开完成。 END