轻量级内网穿透服务-nps

1. NPS概述:

  • NPS(内网穿透代理服务器)是一款由TalentYoung开发的轻量级、高性能的内网穿透代理服务器。它的设计目标是简单易用、功能强大,可以帮助用户在公网上访问内网服务。

  • NPS支持TCP、UDP、HTTP等多种协议,并提供了灵活的配置选项。用户可以根据自己的需求,配置端口映射、域名绑定、访问控制等功能。同时,NPS还支持多用户、多客户端的管理,可以满足不同场景下的需求。

1.1. NPS具有以下特点:

  1. 简单易用:NPS提供了简洁的配置文件和命令行工具,使得部署和配置变得简单快捷。
  2. 高性能:NPS采用了高性能的网络传输技术,保证了数据传输的稳定和快速。
  3. 安全可靠:NPS支持SSL/TLS加密传输,保障数据的安全性。同时,NPS还提供了访问控制功能,可以限制访问权限,增加系统的安全性。
  4. 开源免费:NPS是开源软件,遵循MIT许可证,用户可以免费使用、修改和分发。

1.2. NPS的工作原理可以通过以下示例来说明:

  • 假设您有一台内网服务器,它运行在内网的IP地址为192.168.1.100,监听着某个端口号(例如80端口)提供Web服务。但是由于内网的限制,外部网络无法直接访问该服务器。

  • 为了实现内网穿透,您可以在公网上部署一台NPS服务器,并在内网中部署NPS客户端。NPS客户端会与NPS服务器建立连接。

  • 配置NPS服务器:您在NPS服务器上配置一个映射规则,将公网的某个端口(例如8888端口)映射到内网服务器的IP地址和端口(192.168.1.100:80)。

  1. NPS客户端连接:NPS客户端会与NPS服务器建立连接,并向NPS服务器注册自己的信息。

  2. 公网访问:当外部用户通过公网访问NPS服务器的8888端口时,NPS服务器会接收到请求。

  3. 数据转发:NPS服务器收到请求后,会将请求转发给与之建立连接的NPS客户端。

  4. 内网转发:NPS客户端收到请求后,会将请求转发给内网服务器的192.168.1.100:80端口。

  5. 内网响应:内网服务器处理请求并生成响应,将响应发送给NPS客户端。

  6. 公网响应:NPS客户端将内网服务器的响应转发给NPS服务器。

  7. 用户接收:NPS服务器将内网服务器的响应发送给外部用户,用户就可以在公网上访问到内网服务器提供的Web服务。

2. NPS服务搭建

  • 官网:https://github.com/ehang-io/nps
  • 官方文档:https://ehang-io.github.io/nps/#/feature
  • 程序下载地址:https://github.com/ehang-io/nps/releases
    在这里插入图片描述

2.1. 服务端安装配置:

  • 服务端的程序可以安装在云服务器上或者你公司或者家里拉的网线是有固定IP地址(固定的公网IP地址)
  • 我这边展示的是公司有固定IP地址,所以不用在云服务器上操作。
#下载服务端程序
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
#创建nps工作目录
mkdir  /usr/local/soft/nps
#解压
tar -xf linux_amd64_server.tar.gz -C /usr/local/soft/nps/
#安装
cd /usr/local/soft/nps/
./nps install
#启动
cp -rp  nps   /usr/local/bin/
nps start

2.2. 访问web界面

  • 使用IP+8080端口,即可看到nps管理界面,用户名和密码默认是admin/123,请及时修改
    在这里插入图片描述

在这里插入图片描述

2.3. 修改配置文件

  • 如果需要修改登录用户名、密码、网页登录端口等信息,可以修改/etc/nps/conf/nps.conf即可
名称含义
web_portweb管理端口
web_passwordweb界面管理密码
web_usernameweb界面管理账号
web_base_urlweb管理主路径,用于将web管理置于代理子路径后面
bridge_port服务端客户端通信端口
https_proxy_port域名代理https代理监听端口
http_proxy_port域名代理http代理监听端口
auth_keyweb api密钥
bridge_type客户端与服务端连接方式kcp或tcp
public_vkey客户端以配置文件模式启动时的密钥,设置为空表示关闭客户端配置文件连接模式
ip_limit是否限制ip访问,true或false或忽略
flow_store_interval服务端流量数据持久化间隔,单位分钟,忽略表示不持久化
log_level日志输出级别
auth_crypt_key获取服务端authKey时的aes加密密钥,16位
p2p_ip服务端Ip,使用p2p模式必填
p2p_portp2p模式开启的udp端口
pprof_ipdebug pprof 服务端ip
pprof_portdebug pprof 端口
disconnect_timeout客户端连接超时,单位 5s,默认值 60,即 300s = 5mins

3. 客户端连接

  • 客户端-----》新增
    在这里插入图片描述

  • 填写备注,下面的压缩和加密选择“是”
    在这里插入图片描述

  • 新增客户端后,生成ID:2
    在这里插入图片描述

  • 点击左边的加号,会出现下面的一条客户端命令,这条命令是在客户端执行
    在这里插入图片描述

4. 客户端安装配置:

#下载客户端程序
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz
#创建客户端工作目录
mkdir /usr/local/nps-client
#解压
tar -xf linux_amd64_client.tar.gz -C /usr/local/nps-client/
#启动
cd /usr/local/nps-client/./npc -server=192.168.10.10:8024 -vkey=zl01gmco9xsuaei9 -type=tcp
  • 出现下图说明启动成功
    在这里插入图片描述
  • 也可以后台运行nps客户端服务
nohup ./npc -server=192.168.10.10:8024 -vkey=zl01gmco9xsuaei9 -type=tcp &

4.1. 可以看到网页上客户端的状态显示在线

在这里插入图片描述

5. 创建tcp隧道

  • 例:假如我这边想让192.168.100.20的80端口映射为10080,外网可以访问,下面的操作就可以实现

5.1. 需要在你公司的固定IP地址的路由器上设置端口映射

  • 每个品牌的路由器操作不一样

在这里插入图片描述

在这里插入图片描述

5.2. 创建tcp隧道,实现端口映射

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/746271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

翻转时钟效果

时分秒三个部分结构功能完全一致&#xff0c;均有四块构成&#xff0c;上下各两块。 正面可见&#xff0c;背面不可见&#xff0c;同时需要调整翻转过程中的z-index。 初始状态card2为已经翻转状态。 calendar.html <!DOCTYPE html> <html lang"en">&…

非常有用的Python 20个单行代码

有用的 Python 单行代码片段&#xff0c;只需一行代码即可解决特定编码问题&#xff01; 在本文中&#xff0c;云朵君将分享20 个 Python 一行代码&#xff0c;你可以在 30 秒或更短的时间内轻松学习它们。这种单行代码将节省你的时间&#xff0c;并使你的代码看起来更干净且易…

H5 带网站测速引导页源码

源码名称&#xff1a;带网站测速引导页源码 源码介绍&#xff1a;一款带网站测速功能的引导页源码 需求环境&#xff1a;H5 下载地址&#xff1a; https://www.changyouzuhao.cn/10717.html

H5 机器人插件官网源码

源码名称&#xff1a;机器人插件官网源码 源码介绍&#xff1a;一款H5自适应机器人插件官网源码&#xff0c;可自行修改用于各种机器人插件官网。 需求环境&#xff1a;H5 下载地址&#xff1a; https://www.changyouzuhao.cn/10774.html

基于单片机的直流电机调速系统设计

摘 要 在电子机械行业快速发展的今天&#xff0c;各类电子机械类产品以飞快的步伐进入到人们的视野中。为人们的生活带来极大的便利。同时也以各种不同的方式解放着生产力。在这些电子机械领域&#xff0c;电机无疑占着举足轻重的位置。现在各类工厂里的自动化生产线&#xff…

大数据与云计算

目录 一、大数据时代二、云计算——大数据的计算三、云计算发展现状四、云计算实现机制五、云计算压倒性的成本优势 一、大数据时代 我们先来看看百度关于 “大数据”&#xff08;Big Data&#xff09;的搜索指数。 可以看出&#xff0c;“大数据” 这个词是从2012年才引起关注…

MATLAB 四点确定唯一球面参数(44)

MATLAB 四点确定唯一球面参数(44) 一、算法简介二、算法实现1.代码2.结果一、算法简介 根据给定的四个点,快速拟合获取球的中心和半径,具体代码如下: 二、算法实现 1.代码 代码如下(示例): point1 = [0.0, 0.0, 0.0]

一种轻卡前视单目摄像头下线标定方法

本 文 介 绍 轻 卡 摄 像 头 的 下 线 标 定 要 求 和 方 法 &#xff0c; 包 括 工 站 搭 建 要 求 、 前 视 摄 像 头 的 安 装 要求 &#xff0c; 详 细 阐 述 摄 像 头 的 下 线 标 定 流 程 &#xff0c; 最 后 列 举 常 见 的 下 线 标 定 失 败 原 因 及 对 策 。 安装在…

Spring Boot 中使用 Redis + Aop 进行限流

Spring Boot 中使用 Redis 进行限流&#xff0c;通常你可以采用如下几种方式&#xff1a; 令牌桶算法&#xff08;Token Bucket&#xff09;漏桶算法&#xff08;Leaky Bucket&#xff09;固定窗口计数器&#xff08;Fixed Window Counter&#xff09;滑动日志窗口&#xff08…

Java:继承

目录 1.继承1.1为什么要使用继承&#xff1f;1.2继承的概念1.3对继承的理解1.4子类怎么访问父类的成员变量1.4.1不同名怎么访问&#xff1f;1.4.2同名怎么访问&#xff1f;(关键字&#xff1a;super) 1.5子类中访问父类的成员方法1.5.1不同名怎么访问&#xff1f;1.5.2同名怎么…

Apache DolphinScheduler-3.2.0集群部署教程

集群部署方案(2 Master 3 Worker) Apache DolphinScheduler官网&#xff1a;https://dolphinscheduler.apache.org/zh-cnApache DolphinScheduler使用文档&#xff1a;https://dolphinscheduler.apache.org/zh-cn/docs/3.2.0截止2024-01-19&#xff0c;最新版本&#xff1a;3…

Linux - 安装 Jenkins(详细教程)

目录 前言一、简介二、安装前准备三、下载与安装四、配置镜像地址五、启动与关闭六、常用插件的安装 前言 虽然说网上有很多关于 Jenkins 安装的教程&#xff0c;但是大部分都不够详细&#xff0c;或者是需要搭配 docker 或者 k8s 等进行安装&#xff0c;对于新手小白而已&…

BUGKU-WEB shell

题目描述 题目截图如下&#xff1a; 描述&#xff1a; $poc "a#s#s#e#r#t";$poc_1 explode("#", $poc);$poc_2 $poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5];$poc_2($_GET[s])进入场景看看&#xff1a;是一个空白的界面 解题思路 …

NCP1380BDR2G芯片中文资料规格书PDF数据手册引脚图图片参数功能价格

产品描述&#xff1a; NCP1380 是一款高性能器件&#xff0c;旨在为准谐振转换器供电。该控制器基于专属的谷锁闭系统&#xff0c;可以在功率负载变轻时进行切换并降低开关频率。这样将产生稳定的运行&#xff0c;即使在漏极-源极谷中总是触发的开关事件下也是如此。此系统可在…

让数据在业务间高效流转,镜舟科技与NineData完成产品兼容互认

近日&#xff0c;镜舟科技与NineData完成产品兼容测试。在经过联合测试后&#xff0c;镜舟科技旗下产品与NineData云原生智能数据管理平台完全兼容&#xff0c;整体运行高效稳定。 镜舟科技致力于帮助中国企业构建卓越的数据分析系统&#xff0c;打造独具竞争力的“数据护城河”…

探索 Spring 框架:企业级应用开发的强大工具

CSDN-个人主页&#xff1a;17_Kevin-CSDN博客 收录专栏&#xff1a;《Java》 目录 一、引言 二、Spring 框架的历史 三、Spring 框架的核心模块 四、Spring 框架的优势 五、Spring 框架的应用场景 六、结论 一、引言 在当今数字化时代&#xff0c;企业级应用开发的需求日…

代码随想录刷题笔记 Day 51 | 单词拆分 No.139 | 多重背包理论基础

文章目录 Day 5101. 单词拆分&#xff08;No. 139&#xff09;<1> 题目<2> 笔记<3> 代码 02. 多重背包理论基础2.1 解题思路2.2 携带矿石资源&#xff08;卡码网No.56&#xff09;<1> 题目<2> 笔记<3> 代码 Day 51 01. 单词拆分&#xff…

python-0002-linux安装pycharm

下载软件包 下载地址&#xff1a;https://download.csdn.net/download/qq_41833259/88944791 安装 # 解压 tar -zxvf 你的软件包 # 进入软件解压后的路径&#xff0c;如解压到了/home/soft/pycharm cd /home/soft/pycharm cd bin # 执行启动命令 sh pycharm.sh # 等待软件启…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的手写数字和符号识别(深度学习训练+UI界面+训练数据集)

摘要&#xff1a;开发手写数字和符号识别对于智能交互系统具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个手写数字和符号识别&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5&#xff0c;展示了不同模…

STM32F103 CubeMX 定时器输出PWM控制呼吸灯

STM32F103 CubeMX 定时器输出PWM控制呼吸灯 1. 生成代码1. 1 配置外部时钟&#xff0c;SWD口1.2 配置定时器31.3 配置定时器2 2. 代码编写的部分 使用的cubmx 软件的版本&#xff1a;6.2.0 最新版本 6.10&#xff08;2024年3月11日&#xff09; 1. 生成代码 1. 1 配置外部时钟…