一、NPS 概述
NPS 是一款轻量级、功能强大的内网穿透代理服务器。支持 tcp、udp 流量转发,支持内网 http 代理、内网 socks5 代理,同时支持 snappy 压缩、站点保护、加密传输、多路复用、header 修改等。支持 web 图形化管理,集成多用户模式。管理系统比 FRP 方便很多,更容易上手。
二、配置要求
- 一台拥有公网 IP 的服务器。
- 开放端口例如:(8080,8024,80,443)等可以不是这些端口,nps可以配置任意端口,实现与其它服务共存。
三、相关文档
- NPS 配置文档:https://ehang-io.github.io/nps/#/
- NPS 安装包:https://github.com/ehang-io/nps/releases
- NPS 源码:https://github.com/ehang-io/nps
四、环境说明
- 服务器端是我的Ubuntu(arm)云服务器;
- 客户端是本地N1盒子Openwrt系统的nps插件(无需安装客户端)。
五、演示安装
1. 服务端
- Docker拉取Nps镜像
#拉取nps镜像 docker pull ffdfgdfg/nps #创建nps配置文件目录 mkdir -p /root/nps/conf
- github下载配置文件,将nps-master下的conf文件拷贝至服务器上的/root/nps/conf目录下
- 修改nps.conf配置
#编辑nps.conf vim /root/nps/conf/nps.conf #nps.conf appname = nps runmode = dev http_proxy_ip=0.0.0.0 http_proxy_port=19000 https_proxy_port=19001 https_just_proxy=true https_default_cert_file=conf/server.pem https_default_key_file=conf/server.key bridge_type=tcp bridge_port=19002 bridge_ip=0.0.0.0 public_vkey=123 log_level=7 web_host=a.o.com web_username=admin web_password=123 web_port = 19003 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 auth_crypt_key =1234567887654321 allow_user_login=false allow_user_register=false allow_user_change_username=false 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 http_cache=false http_cache_length=100 http_add_origin_header=false[object Object]
- docker启动nps,注意防火墙是否开放相关端口
#启动nps,端口开放19000-19010 docker run -d -p 19000-19010:19000-19010 -v /root/nps/conf:/conf --name=nps --restart=always ffdfgdfg/nps
- 访问Nps后台:http://IP:19003 默认账号密码是配置文件中的admin/123(可自行更改)。
- 创建nps客户端及tcp隧道
创建客户端,点击客户端详情查看 -server/-key 两个参数。
2. 客户端
- 进入内网OpenWrt,打开nps插件,输入server及key参数保存,在服务端即可发现客户端已连接。
3. 配置转发
- 查看客户端状态
此处可以看到一个客户端ID为6,连接状态为在线。
- 添加tcp隧道转发
如下配置表示将服务端的1XXX6端口转发到局域网内192.168.50.1/3的80/5244等端口。其他的UDP、SOCKS、HTTP也是类似的配置不再赘述。
4. 总结
NPS及OpenWrt的配置安装都很便捷,如果你有一台自己的VPS云服务器,可以尝试一下,将你的家庭本地电脑映射到外网服务器。访问公网IP+对应1XXXX端口即可访问到内网对应服务。