内网穿透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:端口
使用说明
- 只要是涉及到外网访问内网资源或设备,一定要注意网络安全,不怕一万就怕万一,建议是平常将内网客户端停止,使用再打开,一定要有专人负责检测客户端的使用情况,及时关闭内网客户端
Server-nps
- 下载文件
git clone https://github.com/ehang-io/nps
- 修改配置文件conf/nps.conf,有四个需要注意的参数
bridge_port #客户端访问端口 web_username=admin #WEB页面用户名 web_password=123 #WEB页面密码 web_port = 8080 #WEB页面访问端口
- 启动镜像
docker run -d --name nps --net=host -v <本机conf目录>:/conf ffdfgdfg/nps
-
访问WEB页面:服务器IP:web_port,注意如果是云服务器,需要设置相应的安全策略,开放端口
-
创建客户端,只是单纯想用就只填备注,其他项可不动,有兴趣自行探索,难度不大
-
选择
5
创建的客户端,选择隧道,新建隧道,模式选择TCP隧道
,服务端端口
自行定义,目标
填内网的内网设备IP:端口
Client-npc
- 配置文件启动
docker run -d --name npc --net=host -v <本机conf目录>:/conf ffdfgdfg/npc -config=/conf/npc.conf
- 验证密钥登陆(密匙是创建客户端后生成的)
docker run -d --name npc --net=host ffdfgdfg/npc -server=<ip:port> -vkey=<web界面中显示的密钥>
问题记录
- 部署了cvat进行内网穿透,但访问页面总是
404 not found
,内网访问正常
解决方法:部署cvat的电脑上安装nginx
进行转发,将端口A转到实际服务端口B,外网可以访问,并且这样也比较安全 - 补充下,实际使用中建议使用在内网机器上通过nginx进行二次转发,防止暴露内部真实服务端口
server { listen 80; server_name *.proxy.com; location / { proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:8010; } }
转载请标明,谢谢
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?