当前位置: 首页 > news >正文

【工具】NPS 内网穿透搭建

背景

在日常开发中经常会涉及到使用公网某个端口进行开发调试的情况,但我们日常开发的机器IP是非公网IP,所以需要使用内网穿透的手段,使我们的服务在公网上能被访问到。
常用的内网穿透工具分两大类,一类是付费/免费服务,即人家已经搭建好了,我们需要通过某种方式进行配置就可使用,该方式下我们无需自有公网IP,类似工具有花生壳;另一类为开源工具,如FRP、NPS等工具,这类工具需要我们具备一台有公网IP的机器。
本教程基于docker、immortalwrt配置,其中服务端通过docker启动,客户端为immortalwrt,注:其他客户端也类似,需要去https://github.com/ehang-io/nps 下载相应的客户端,另外这里指的公网也不一定要真的公网,取决于实际需求,能够相互访问即可。

NPS配置

假如现有公网服务器A(IP:123.123.123.123),为了简化安装过程,在该服务器安装上docker、docker compose,参考docker官网。

启动NPS服务

使用如下docker-compose.ymal

version: '3.6'
services:nps:image: zhangsean/npsrestart: alwayscontainer_name: npsprivileged: trueenvironment:NPS_MODE: serverNPS_BRIDGE_TYPE: tcpNPS_BRIDGE_PORT: 8024 # 与后面开放的端口对应,该端口是客户端与服务端通信端口NPS_PUBLIC_VKEY: # 自己给定一个vkeyNPS_HTTP_PROXY_PORT: 8085 # 与后面开放的端口对应,该端口是反向代理与nps通信端口,可直接绑定80/443端口NPC_CONN_TYPE: tpcports:- "8024:8024"- "8085:8085"- "8080:8080"  # 默认的web管理端口volumes:- ./nps/conf:/conf # 这里将配置文件挂载到宿主机上,防止因为重启导致配置丢失

有了上述docker-compose 文件,使用docker compose up -d将服务拉起,就完成了服务端的启动,如果有防火墙,需要将暴露端口放行,其中 web 管理端口为了安全,只需某种方式能访问即可,不一定要公网直接访问。

配置NPS服务端

进入NPS服务端进行配置,使用服务器A(IP:123.123.123.123)的地址进入服务端,这里即8080端口,如果公网暴露,其url应该是http://123.123.123.132:8080,进入后会得到如下界面,然后使用用户名、账号登陆nps
nps界面
来到客户端这边,我们需要新增一个客户端
新增客户端
填入客户端信息
新增客户端
在添加客户端成功后,我们可以得到如下信息,其中【客户端命令】是在github下载的客户端的情况下使用的,如下载了一个windows、linux、macos客户端,就可以直接用该命令连到nps上,但这里是在路由器上配置,只需要记住这里的【唯一验证密钥】即可
在这里插入图片描述
至此,服务端配置完成了一半,等客户端上线后,参考后续配置,接下来需要配置客户端。

客户端配置

客户端安装

登陆到我们的路由系统中,通过如下操作安装
在这里插入图片描述
在弹出的提示中点击安装
在这里插入图片描述

客户端安装完成截图
在这里插入图片描述
安装完成后,需要重启一下
在这里插入图片描述
重启后再次登陆路由系统,根据提示输出下面三部分内容,其中vkey为上面服务器生成的【唯一验证密钥】,这里的配置与服务端的客户端配置保持一致即可
在这里插入图片描述
至此,客户端配置完毕,后续继续配置服务端

穿透配置

客户端连接成功后,服务端可以看到如下信息,即客户端当前已经在线
在这里插入图片描述
假如我们的局域网网段为【192.168.3.0/24】,路由器IP为192.168.3.1,现在局域网内有台设备B的IP为 192.168.3.10,需要将设备B的8000端口暴露到公网上使其能够访问,这里有两种方式,一种是域名访问,一种是端口访问。

端口访问

在这里插入图片描述
添加上述配置后,就能使用123.123.123.123:8090 来访问 服务(192.168.3.10:8000)

域名访问

该方式下需要提前配置域名解析,可以通过修改hosts文件方式实现,也可以通过域名解析实现,此处略过。
在这里插入图片描述
完成配置后,即可通过访问你自己的域名地址来访问到内网服务了。

相关文章:

【工具】NPS 内网穿透搭建

背景 在日常开发中经常会涉及到使用公网某个端口进行开发调试的情况,但我们日常开发的机器IP是非公网IP,所以需要使用内网穿透的手段,使我们的服务在公网上能被访问到。 常用的内网穿透工具分两大类,一类是付费/免费服务&#xf…...

【数学】主成分分析(PCA)的详细深度推导过程

本文基于Deep Learning (2017, MIT),推导过程补全了所涉及的知识及书中推导过程中跳跃和省略的部分。 blog 1 概述 现代数据集,如网络索引、高分辨率图像、气象学、实验测量等,通常包含高维特征,高纬度的数据可能不清晰、冗余&am…...

微信跳转页面时发生报错

报错如下图所示: 解决方法:(从下面四种跳转方式中任选一种,哪种能实现效果就用哪个) 带历史回退 wx.navigateTo() //不能跳转到tabbar页面 不带历史回退 wx.redirectTo() //跳转到另一个页面wx.switchTab() //只能…...

8:系统开发基础--8.1:软件工程概述、8.2:软件开发方法 、8.3:软件开发模型、8.4:系统分析

转上一节: http://t.csdnimg.cn/G7lfmhttp://t.csdnimg.cn/G7lfm 课程内容提要: 8:知识点考点详解 8.1:软件工程概述 1.软件的生存周期 2.软件过程改进—CMM Capability Maturity Model能力成熟度模型 3.软件过程改进—CMMI—…...

【简单讲解下Symfony框架】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…...

[Linux基础]ln硬链接和ln -s软链接的方法参数及区别

区别: 1、ln创建硬链接;ln -s 创建软链接 2、硬链接的两个文件指向同一个inode(inode:存放着文件的目录、权限、block块编号等信息);软链接的目标文件指向源文件,目标文件内存储的是源文件的目…...

开源博客项目Blog .NET Core源码学习(15:App.Hosting项目结构分析-3)

本文学习并分析App.Hosting项目中前台页面的关于本站页面和点点滴滴页面。 关于本站页面 关于本站页面相对而言布局简单,与后台控制器类的交互也不算复杂。整个页面主要使用了layui中的面包屑导航、选项卡、模版、流加载等样式或模块。   面包屑导航。使用layui…...

【muzzik 分享】3D模型平面切割

# 前言 一年一度的征稿到了,倒腾点存货,3D平面切割通常用于一些解压游戏里,例如水果忍者,切菜这些,今天我就给大家讲讲怎么实现3D切割以及其原理,帮助大家更理解3D中的 Mesh(网格),以及UV贴图和…...

SCI一区 | Matlab实现OOA-TCN-BiGRU-Attention鱼鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现OOA-TCN-BiGRU-Attention鱼鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现OOA-TCN-BiGRU-Attention鱼鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述程序…...

nodejs安装常用命令

安装 Node.js 后&#xff0c;你可以在命令行中使用以下常用命令&#xff1a; node&#xff1a;启动 Node.js 的交互式解释器&#xff0c;可以直接在命令行中执行 JavaScript 代码。 npm install <package-name>&#xff1a;安装一个 Node.js 模块&#xff0c;<packag…...

使用 Prometheus 在 KubeSphere 上监控 KubeEdge 边缘节点(Jetson) CPU、GPU 状态

作者&#xff1a;朱亚光&#xff0c;之江实验室工程师&#xff0c;云原生/开源爱好者。 KubeSphere 边缘节点的可观测性 在边缘计算场景下&#xff0c;KubeSphere 基于 KubeEdge 实现应用与工作负载在云端与边缘节点的统一分发与管理&#xff0c;解决在海量边、端设备上完成应…...

OSI七层网络模型 —— 筑梦之路

在信息技术领域&#xff0c;OSI七层模型是一个经典的网络通信框架&#xff0c;它将网络通信分为七个层次&#xff0c;每一层都有其独特的功能和作用。为了帮助记忆这七个层次&#xff0c;有一个巧妙的方法&#xff1a;将每个层次的英文单词首字母组合起来&#xff0c;形成了一句…...

状态模式:管理对象状态转换的动态策略

在软件开发中&#xff0c;状态模式是一种行为型设计模式&#xff0c;它允许一个对象在其内部状态改变时改变它的行为。这种模式把与特定状态相关的行为局部化&#xff0c;并且将不同状态的行为分散到对应的状态类中&#xff0c;使得状态和行为可以独立变化。本文将详细介绍状态…...

【论文阅读】MCTformer: 弱监督语义分割的多类令牌转换器

【论文阅读】MCTformer: 弱监督语义分割的多类令牌转换器 文章目录 【论文阅读】MCTformer: 弱监督语义分割的多类令牌转换器一、介绍二、联系工作三、方法四、实验结果 Multi-class Token Transformer for Weakly Supervised Semantic Segmentation 本文提出了一种新的基于变换…...

FMix: Enhancing Mixed Sample Data Augmentation 论文阅读

1 Abstract 近年来&#xff0c;混合样本数据增强&#xff08;Mixed Sample Data Augmentation&#xff0c;MSDA&#xff09;受到了越来越多的关注&#xff0c;出现了许多成功的变体&#xff0c;例如MixUp和CutMix。通过研究VAE在原始数据和增强数据上学习到的函数之间的互信息…...

2024蓝桥A组A题

艺术与篮球&#xff08;蓝桥&#xff09; 问题描述格式输入格式输出评测用例规模与约定解析参考程序难度等级 问题描述 格式输入 无 格式输出 一个整数 评测用例规模与约定 无 解析 模拟就好从20000101-20240413每一天计算笔画数是否大于50然后天数&#xff1b; 记得判断平…...

Linux journalctl命令详解

文章目录 1.介紹2.概念设置system time基本的日志查阅方法按时过滤日志&#xff08;by Time&#xff09;显示本次启动以来的日志&#xff08;Current Boot&#xff09;按Past Boots按时间窗口按感兴趣的消息筛选按unit按进程、用户、Group ID按组件路径显示内核消息按消息优先级…...

恢复MySQL!是我的条件反射,PXB开源的力量...

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…...

Storm详细配置

一、认识Storm Apache Storm是个实时数据处理的“大能”&#xff0c;它可以实时接收、处理并转发大量数据流&#xff0c;就像一个高速运转的物流中心&#xff0c;确保数据及时、准确地到达目的地。我们要做的&#xff0c;就是把这个物流中心搭建起来&#xff0c;并且根据我们的…...

linux redis部署教程

单节点部署&#xff1a; 单节点部署 Redis 非常简单&#xff0c;只需要在一台服务器上安装 Redis 服务即可。以下是在 Linux 环境下的单节点部署步骤&#xff1a; 安装 Redis&#xff1a;打开终端&#xff0c;并执行以下命令来更新软件包列表并安装 Redis 服务器&#xff1a;…...

PiliPlus:用Flutter重新定义你的B站观影体验

PiliPlus&#xff1a;用Flutter重新定义你的B站观影体验 【免费下载链接】PiliPlus PiliPlus 项目地址: https://gitcode.com/gh_mirrors/pi/PiliPlus 在众多视频平台中&#xff0c;B站以其独特的社区文化和丰富内容生态深受用户喜爱。然而&#xff0c;官方客户端的一些…...

对比体验Taotoken平台不同大模型在创意生成上的差异

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比体验Taotoken平台不同大模型在创意生成上的差异 对于内容创作者而言&#xff0c;大模型是激发灵感、提升效率的得力工具。然而…...

GitHub 代码提交常见问题及解决指南

摘要本文聚焦 GitHub 代码提交流程&#xff0c;围绕本地文件上传、远程仓库关联、分支推送等核心操作&#xff0c;梳理常见报错&#xff08;如可疑所有权、分支不匹配、协议不支持等&#xff09;&#xff0c;解析错误成因并提供分步解决方法&#xff0c;覆盖 Git 命令执行、仓库…...

Taotoken提供的审计日志功能如何满足企业级安全与合规需求

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken提供的审计日志功能如何满足企业级安全与合规需求 1. 企业引入大模型能力后的审计挑战 当企业将大模型API能力整合到内部…...

从零到一:基于C#与ArcGIS二次开发构建迎风面指数计算插件实战

1. 环境准备与工具搭建 第一次接触ArcGIS二次开发时&#xff0c;我被官方文档里密密麻麻的API吓得不轻。后来发现只要配好环境&#xff0c;开发插件比想象中简单得多。你需要准备三样东西&#xff1a;Visual Studio&#xff08;建议2019或2022社区版&#xff09;、ArcGIS Desk…...

LibreHardwareMonitor:你的电脑健康管家,硬件监控从此无忧

LibreHardwareMonitor&#xff1a;你的电脑健康管家&#xff0c;硬件监控从此无忧 【免费下载链接】LibreHardwareMonitor Libre Hardware Monitor is free software that can monitor the temperature sensors, fan speeds, voltages, load and clock speeds of your computer…...

如何轻松解锁QQ音乐加密文件:qmcdump实战指南

如何轻松解锁QQ音乐加密文件&#xff1a;qmcdump实战指南 【免费下载链接】qmcdump 一个简单的QQ音乐解码&#xff08;qmcflac/qmc0/qmc3 转 flac/mp3&#xff09;&#xff0c;仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 你是否曾经下载…...

深度重构黑苹果系统架构:OpenCore实战解析与性能优化

深度重构黑苹果系统架构&#xff1a;OpenCore实战解析与性能优化 【免费下载链接】Hackintosh 国光的黑苹果安装教程&#xff1a;手把手教你配置 OpenCore 项目地址: https://gitcode.com/gh_mirrors/hac/Hackintosh 在传统PC硬件与macOS系统兼容性的技术探索中&#xf…...

2026 AI大模型API加速网站推荐

在AI开发领域&#xff0c;一个现实问题始终困扰着开发者&#xff1a;如何接入模型厂商的官方API&#xff1f;在海外&#xff0c;注册、绑卡、调用这三个步骤就能轻松解决。然而&#xff0c;国内开发者面临着跨境网络波动、外币支付门槛、发票合规需求以及多厂商Key碎片化管理等…...

Midjourney咖啡印相落地实操:3步完成色彩校准、5种纸张适配方案与打印机ICC配置清单

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney Coffee印相技术原理与工艺边界 Midjourney Coffee印相并非官方命名的技术标准&#xff0c;而是社区对一类融合生成式AI图像&#xff08;如Midjourney输出&#xff09;与传统咖啡渍显影工艺的…...