前提条件
首先你要有个公网IP的服务器,既然是内网穿透,那必然是通过公网IP或者域名访问本地服务。
官网下载地址
https://github.com/ehang-io/nps/releases
服务端
选择linux_amd64_server.tar.gz
客户端
选择windows_amd64_client.tar.gz
服务端安装过程
- 解压linux_amd64_server.tar.gz
- 进入nps/conf
- 编辑nps.conf
- 修改里面的内容
- 退出到上一级
- 安装nps ./nps install
- 启动nps ./nps start
nps.conf配置如下
8024端口和web页面8080端口,记得服务器开放这2个端口
appname = nps
#Boot mode(dev|pro)
runmode = dev
#
##bridge
# 底层通信协议,默认tcp,可选用kcp
bridge_type=tcp
#
# 底层通信端口,默认8024,如已被占用请指定其他端口
bridge_port=8024
bridge_ip=0.0.0.0
#
# 当客户端以配置文件模式启动时会用到的验证密钥,可自行设置
public_vkey=12345678
#
#web网页管理界面
web_host=你的公网IP
web_username=页面登录账号
web_password=页面登录密码
#记得服务器开放这个端口
web_port = 8080
web_ip=0.0.0.0
访问NPS管理页面
通过nps.conf中配置的公网IP和端口,打开NPS的管理页面
创建客户端
客户端安装过程
- 解压windows_amd64_client.tar.gz
- 进入到解压目录
- cmd执行:nps.exe install
- cmd执行:nps.exe start
- 通过cmd执行刚才在NPS客户端复制的命令
- 命令如下,记得把./去掉:npc.exe -server=IP:8024 -vkey=ycnc9c8afj9unzuy -type=tcp
看到此页面代表,客户端连接成功,但是要实现内网穿透,现在还不行,还需要在NPS创建TCP隧道
同时NPS客户端这边连接也是在线状态
在NPS管理页面,创建TCP隧道
记得8081要在服务器开放这个端口
成功
现在你就可以通过公网IP:8081访问你的本地为8080的服务了,如果不行,停止客户端,再次执行客户端的连接命令【npc.exe -server=IP:8024 -vkey=ycnc9c8afj9unzuy -type=tcp】