内网穿透NPS

内网穿透实现

nps文档 https://ehang-io.github.io/nps/#/install

nps docker镜像 https://hub.docker.com/r/ffdfgdfg/nps

npc docker镜像 https://hub.docker.com/r/ffdfgdfg/npc

0.0.0.0和localhost,127.0.0.1https://www.jianshu.com/p/ad7cd1d5be45

实现效果: 访问 服务器IP:Port--> 内网设备IP:端口

使用说明

  1. 只要是涉及到外网访问内网资源或设备,一定要注意网络安全,不怕一万就怕万一,建议是平常将内网客户端停止,使用再打开,一定要有专人负责检测客户端的使用情况,及时关闭内网客户端

Server-nps

  1. 下载文件
git clone https://github.com/ehang-io/nps
  1. 修改配置文件conf/nps.conf,有四个需要注意的参数
bridge_port #客户端访问端口
web_username=admin #WEB页面用户名
web_password=123 #WEB页面密码
web_port = 8080 #WEB页面访问端口
  1. 启动镜像
docker run -d --name nps --net=host -v <本机conf目录>:/conf ffdfgdfg/nps
  1. 访问WEB页面:服务器IP:web_port,注意如果是云服务器,需要设置相应的安全策略,开放端口

  2. 创建客户端,只是单纯想用就只填备注,其他项可不动,有兴趣自行探索,难度不大

  3. 选择5创建的客户端,选择隧道,新建隧道,模式选择TCP隧道服务端端口自行定义,目标填内网的内网设备IP:端口

Client-npc

  1. 配置文件启动
docker run -d --name npc --net=host -v <本机conf目录>:/conf ffdfgdfg/npc -config=/conf/npc.conf
  1. 验证密钥登陆(密匙是创建客户端后生成的)
docker run -d --name npc --net=host ffdfgdfg/npc -server=<ip:port> -vkey=<web界面中显示的密钥>

问题记录

  1. 部署了cvat进行内网穿透,但访问页面总是404 not found,内网访问正常
    解决方法:部署cvat的电脑上安装nginx进行转发,将端口A转到实际服务端口B,外网可以访问,并且这样也比较安全
  2. 补充下,实际使用中建议使用在内网机器上通过nginx进行二次转发,防止暴露内部真实服务端口
server {
listen 80;
server_name *.proxy.com;
location / {
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8010;
}
}
posted @   我才不是老家伙  阅读(547)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示