教你使用NPS搭建内网穿透技术

了解过内网穿透的朋友可能都知道Ngrok技术,今天我这里给大家推荐另一款内网穿透工具nps,nps是一款开源的带有web管理控制台的多功能的工具集,我们看看官方的介绍。

nps是一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。

教你使用NPS搭建内网穿透技术_第1张图片
web.png

资料准备

  1. 一台公网服务器,可以是Windows、Max、Linux
  2. 下载对应操作系统最新版本(服务端、客户端)的nps,下载地址:https://github.com/cnlh/nps/releases
  3. 一个有效域名,如果需要能够对外访问,则请先备案,已备案的直接无视吧。

解析域名

登陆域名服务商,将域名解析到你的公网服务器IP上,假如我的域名是:fank243.com,公网ip是:110.110.110.110,此处以阿里云域解析为示例说明,主机记录为:*.nps代表使用nps配置多个子域名

教你使用NPS搭建内网穿透技术_第2张图片
20190811144539.png

服务端安装及配置

我的云服务器是centos,所以我下载的安装包是:linux_amd64_server.tar.gz

修改conf/nps.conf配置文件

由于我这里用到了nginx做反向代理的,所以需要修改http_proxy_port、https_proxy_port代理端口配置,如果不需要使用nginx代理的话,可以不用修改。

#HTTP(S) proxy port, no startup if empty
http_proxy_ip=0.0.0.0
http_proxy_port=8081 # 默认端口为80
https_proxy_port=8443 # 默认端口为443
https_just_proxy=true
#default https certificate setting
https_default_cert_file=conf/server.pem
https_default_key_file=conf/server.key

需改web控制台登录账户信息,如果需要配置成域名访问控制台,则需要先将域名解析到服务器上,然后通过nginx反向代理软件解析到端口上,否则使用ip访问,ip:port访问时需要关闭防火墙或者添加端口过白名单。

#web
web_host=nps.fank243.com # 修改成你的域名,可以直接使用ip访问
web_username=admin # 控制台登陆账号
web_password=jasonfan # 控制台登陆密码
web_port = 8090 # 控制台访问端口
web_ip=0.0.0.0

配置完成后,我们就可以启动nps了,windows下使用nps.exe,启动成功后就可以访问控制台了:http://110.110.110.110:8900

nps start

添加一个客户端

登录控制台,按照如下截图添加一个客户端,永久性的哦

教你使用NPS搭建内网穿透技术_第3张图片
20190811150454.png

添加域名映射

客户端添加成功后,接下来就需要配置域名映射了,域名映射有两种方式可选,一种通过服务端添加,一种通过客户端配置。

  1. 服务端添加域名映射,其实很简单的,在控制台添加一条记录就可以了
教你使用NPS搭建内网穿透技术_第4张图片
20190811150922.png
  1. 通过客户端配置文件形式添加域名映射,修改客户端配置文件npc.onf
[Thinkpad] # 这个就是remark字段,随意填写
host=test01.nps.fank243.com # 映射域名
target_addr=192.168.1.100:8900 # 内网ip,多个之间使用","分隔

客户端安装及配置

我这里用的是windows10,所以我下载的客户端软件是:win_amd64_client.zip,解压缩后有两个文件,一个是可执行文件exe,一个就是配置文件了,这里的启动方式也有两种。

  1. 通过配置文件的方式启动,修改服务器的IP等配置
[common]
server_addr=110.110.110.110:8024 # 修改成你的IP
conn_type=tcp
vkey=123456 # 修改成你的认证秘钥,这个在控制台创建的客户端找
auto_reconnection=true
max_conn=1000
flow_limit=1000
rate_limit=1000
basic_username= # 如果配置了则填写,否则留空
basic_password= # 如果配置了则填写,否则留空
web_username=user
web_password=user
crypt=true
compress=true
  1. 通过命令方式启动,这个更简单了,在控制台找创建的客户端,然后点击左边的+展开,复制命令执行就可以了,如果是windows需要换成npc.exe。
教你使用NPS搭建内网穿透技术_第5张图片
20190811151858.png
  1. 启动成功后,就可以通过域名访问到本地应用程序了,响应的访问日志也打印出来了。
教你使用NPS搭建内网穿透技术_第6张图片
20190811151952.png

结语

nps的介绍就到这里了,如果小伙伴们有什么疑问欢迎在下面留言评论。

你可能感兴趣的:(教你使用NPS搭建内网穿透技术)