用闲置的阿里云服务器使用 NPS 实现内网穿透

news2024/11/15 15:28:48

最近有个项目需要给外地的同事预览一下,但是公司没有可以公网访问的测试服务器,所以想到用内网穿透的方式让外地同事可以访问到我的本机。刚好我有一台阿里云的服务器,双十一打折买了3年,1000左右,2核8G,买完就一直闲置,这次刚好可以用上。

服务器

首先介绍一下我的服务器:

CPU&内存:2核(vCPU) 8 GiB
操作系统:Alibaba Cloud Linux 3.2104 LTS 64位

使用 docker 安装 NPS

下载yum源采用阿里云的镜像源

wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

查看仓库中的所有版本,默认安装最新版本

yum list docker-ce --showduplicates | sort -r

安装docker-ce

yum install docker-ce -y

配置docker镜像源

vim /etc/docker/daemon.json

启动docker服务

systemctl start docker

拉取 NPS 镜像

docker pull ffdfgdfg/nps

启动 NPS

docker run -d --name=nps --restart=always --net=host -v /opt/nps/conf:/conf ffdfgdfg/nps

配置安全组

默认的服务器不会开启这几个端口,所以你需要手动去添加:

  • 8080: NPS web 管理端口。
  • 8024: 服务端客户端通信端口。
  • 5173: 这个是我本地服务的端口,所以服务器也用了同样的,这个自定义即可。

如果端口和你现任的端口有冲突,可以查看配置文档去修改。

km2h3y.png

Web 管理

NPS 提供了 web 界面,方便配置,做好上面的步骤后,可通过,公网ip:web界面端口(默认8080),用户名 admin,密码 123 登录访问。

ioeeil.png

首先在菜单栏中进入客户端,点击新增

5zbara.png

  • 备注:随便填
  • Basic 认证用户名:不用管
  • Basic 认证密码:不用管
  • 唯一验证密钥:不用管
  • 压缩和加密:是

创建后,可以看到新增的客户端,链接状态是离线,没有问题。点击左侧的加号,可以看到客户端命令,这个很重要,在客户端需要执行,用来与服务器链接。

k3jjil.png

还有就是看一下客户端 ID,上图中的第一列。

随后菜单选择 TCP 隧道,点击新增。

a2v8e7.png

  • 模式:TCP 隧道
  • 客户端ID:填客户端页面中你创建的那个客户端 ID
  • 服务端端口:这里我选择了和我本机项目一样的端口,5173,主要是供外网访问时的端口,你可以填任何。
  • 目标 (IP:端口):这里指的是你的本机,IP 就是本机 127.0.0.1 即可,端口是你的项目端口,我这里是 5173。

1bg9qv.png

状态是离线是正常的,因为我们还没有在客户端进行配置。

本机

我本机是 mac,访问 GitHub 去下载对应的客户端,https://github.com/ehang-io/nps/releases。

a1dob7.png

这里记得选 client 后缀的文件。

我在 ~/ 路径下创建了 npc 文件夹,并解压到这里。

进入 ~/npc 运行:

./npc -server=*.*.*.*:8024 -vkey=av3*****yiepb1 -type=tcp

这段代码就是上文提到的创建的客户端后展示的那段代码。

如果你看到 Successful connection with server 证明链接成功了。

这时看到 web 界面中,状态也变成了在线。

oh4uul.png

之后通过公网 IP+端口 访问一下,发现项目已经可以在公网正常访问了。

参考

NPS 中文文档

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

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

相关文章

24年税务师考试补报名即将开始啦

⏰税务师补报名重要时间节点 1⃣️补报名时间:8月6日10:00至8月16日17:00 2⃣️补报名缴费时间:8月6日10:00至8月18日24:00 3️⃣准考证打印时间:10月28日10:00至11月3日15:00 4⃣️考试时间:11月2日、3日 ✅税务…

c#中的BitConverter的java实现

最近在做c#项目的java迁移,发现部分C#方法java中没有对应实现如图: 且java中的数字类型都是有符号的所以转无符号的时候需要进行手动对符号位& 0xFFFF进行处理,目前只整理了项目中使用到的方法,后续有用到其他方法在进行追加如…

HarmonyOS 与 OpenHarmony 的区别详解

随着科技的不断进步,操作系统在我们日常生活中的重要性日益凸显。华为推出的 HarmonyOS 和 OpenHarmony 正是当前备受关注的两大操作系统。它们虽然紧密相关,但在理念、目标和应用场景上有显著的区别。本文将详细探讨这两者的不同之处。 一、概念解析 …

C++复习的长文指南(二)

C复习的长文指南(二) 一、面向对象基础知识5. 文件操作5.1文本文件5.1.1写文件5.1.2读文件 5.2 二进制文件5.2.1 二进制文件5.2.2 二进制读文件 6. c面向对象的个人心得开发流程6.16.26.36.46.5注意细节6.16.26.3 二、泛型编程1. 模板1.1 模板的概念1.2 …

GRFB UNet——基于多尺度注意网络盲道检测算法实现与模型C++部署

1. 概述 盲道是视障人士安全出行的重要辅助设施。识别盲道的形状和位置,对于增强视障人士的自主移动能力至关重要,而视觉分割技术正是应对这一挑战的有效工具。为了显著提升盲道分割的精确度和稳定性,本文提出了一种创新的分割方法&#xff…

OpenShift 4 - 用 oc-mirror 为离线 OpenShift 集群的 Mirror Registry 同步容器镜像

《OpenShift / RHEL / DevSecOps 汇总目录》 本文适合 OpenShift 4.11 及其以上版本。 文章目录 在离线环境中用 OpenShift 准备 Mirror Registry环境说明向隔离环境复制镜像准备节点环境bastion 节点操作support 节点操作 网络完全隔离环境-复制镜像bastion 节点操作support …

[图解]掉杠·above...duty -《分析模式》漫谈20

1 00:00:01,650 --> 00:00:05,120 今天我们来说一下《分析模式》和掉杠 1 00:00:00,480 --> 00:00:02,800 还是前言这里,有一句话 2 00:00:02,810 --> 00:00:04,850 I will mention 3 00:00:04,860 --> 00:00:05,250 that 4 00:00:05,680 --> 00…

【Golang 面试 - 进阶题】每日 3 题(十四)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…

实战:MySQL数据同步神器之Canal

1.概叙 场景一:数据增量实时同步 项目中业务数据量比较大,每类业务表都达到千万级别,虽然做了分库分表,每张表数据控制在300W以下,但是效率还是达不到要求,为了提高查询效率,打算使用ES进行数…

Java面试题--JVM大厂篇之破解Java性能瓶颈!深入理解Parallel GC并优化你的应用

目录 引言: 正文: 1. 理解Parallel GC的工作原理 2. 配置Parallel GC 3. 监控和分析GC日志 4. 常见调优技巧 5. 持续迭代和优化 结束语: 补充考虑 1. 综合考虑吞吐量与响应时间 2. 评估和优化垃圾回收频率 3. 动态调整与自适应策…

定期自动巡检,及时发现机房运维管理中的潜在问题

随着信息化技术的迅猛发展,机房作为企业数据处理与存储的核心场所,其运维管理的复杂性和挑战性也与日俱增。为确保机房设备的稳定运行和业务的连续性,运维团队必须定期进行全面的巡检。然而,传统的手工巡检方式不仅效率低下&#…

【卷积神经网络】基于CIFAR10数据集实现图像分类【构建、训练、预测】

文章目录 1、内容简介2、CIFAR10 数据集2.1、数据集概述2.2、代码使用2.2.1、查看数据集基本信息2.2.2、数据加载器2.2.3、完整代码 3、搭建图像分类网络🔺3.1、网络结构⭐3.2、代码构建网络⭐ 4、编写训练函数4.1、多分类交叉熵损失函数🔺4.2、Adam&…

泛微开发修炼之旅--41Ecology基于触发器实现增量数据同步(人员、部门、岗位、人员关系表、人岗关系表)

一、需求背景 我们在项目上遇到一个需求,需要将组织机构数据(包含人员信息、部门信息、分部信息、人岗关系)生成的增量数据,实时同步到三方的系统中,三方要求,只需要增量数据即可。 那么基于ecology系统&a…

【C++高阶】:C++11的深度解析上

✨ 心似白云常自在,意如流水任东西 🌏 📃个人主页:island1314 🔥个人专栏:C学习 🚀 欢迎关注:👍点赞 &#x1f4…

数说故事|引爆社媒的森贝儿IP,品牌如何实现流量变现?

以可爱、雅痞、贱萌......的外表加魔性舞姿出圈的可爱小狗——森贝儿贵宾犬Milo,用“可爱微怒”的表情演绎着当代打工人的“疯态”,并迅速晋升成不少打工人高频使用的表情包。 最近几年,“萌系”爆款IP频出,用小动物的形象、可爱…

一键生成视频并批量上传视频抖音、bilibili、腾讯(已打包)

GenerateAndAutoupload Github地址:https://github.com/cmdch2017/GenerateAndAutoupload 如何下载(找到最新的release) https://github.com/cmdch2017/GenerateAndAutoupload/releases/download/v1.0.1/v1.0.1.zip 启动必知道 conf.py …

Redis学习[5] ——Redis过期删除和内存淘汰

六、Redis过期键值删除 6.1 Redis的过期键值删除策略 6.1.1 什么是过期键值删除? Redis中是可以对key设置过期时间的,所以需要有相应的机制将已过期的键值对删除,也就是**过期键值删除策略。Redis会用一个过期字典(expires dic…

如何改网络的ip地址:实用方法与步骤解析

在数字化时代,网络IP地址作为设备在互联网上的唯一标识,其重要性不言而喻。然而,在某些特定场景下,如网络测试、隐私保护或突破地域限制等,我们可能需要更改网络IP地址。那么,如何安全、有效地实现这一操作…

学习日志:update 没加索引会锁全表

文章目录 前言一、为什么会发生这种的事故如何避免这种事故的发生?总结 前言 在线上执行一条 update 语句修改数据库数据的时候,where 条件没有带上索引,导致业务直接崩了 为什么会发生这种的事故? 又该如何避免这种事故的发生&a…

html+css練習:iconfont使用

1.網址地址:https://www.iconfont.cn/search/index 2.註冊登錄,將需要的圖標添加到購物車 3.下載代碼 4.下載后的代碼有一個html頁面,裡面有詳細的使用方式