一、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端口即可访问到内网对应服务。
5. 参考文章
不同的安装环境可以看看其他博文:
超详细openwrt内网穿透-nps小白教程:https://vpsxb.net/419/
软路由openwrt之nps内网穿透插件服务:https://www.vjsun.com/424.html
nps实现内网穿透,电脑免费变云服务器:https://tangly1024.com/article/nps-centos-nat-traversal
N1盒子op系统nps内网穿透对接腾讯云傻妞:https://blog.csdn.net/hebine7/article/details/122373365
docker安装nps实现内网穿透:https://5616760.com/docker/nps/2021/08/09/docker-nps.html