nps与npc内网穿透搭建

news2024/12/23 14:46:02

1.简介

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议,支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。

使用内网穿透技术可以使你在公共网络环境也能轻松连接你的内网设备,除了之前介绍过的frp之后,此款NPS也是比较推荐的,通过Web管理的方式快速地创建和管理穿透设备。

官网:https://ehang-io.github.io/nps/#/
项目:https://github.com/ehang-io/nps
版本:https://github.com/ehang-io/nps/releases
docker:https://hub.docker.com/r/ffdfgdfg/npc

基本环境要求:需要一台有公网ip的云主机,即需要购买一台云主机

2.下载并安装nps与npc

2.1创建目录

mkdir -p /opt/nps
mkdir -p /opt/npc

2.2 安装nps

cd /opt/nps
#下载
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
#解压
tar -xvf linux_amd64_server.tar.gz
chomd 775 nps
# 安装
./nps install
./nps start

访问nps服务

http://192.168.10.86:8080/
3a5544590869cb5a285fb147f92aef97.png

2.2 安装npc

cd /opt/npc
#下载
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz
#解压
tar -xvf linux_amd64_client.tar.gz
chomd 775 npc
# 安装
./npc install

3. 配置内网穿透通道

  • 新增客户端

a3bc42b02b4c6dfdbda09ff32e65e7a7.png

直接点击确定

bdc5551cc3186fcfeda3eddd87e8a416.png 090c160fe601f3bdee70361366c2d261.png

需要点击一下刷新按钮才能显示新增的客户端列表

  • 新增通道

452855b02fe09834211b6cecb7d8216d.png f9f6637ae37a4a18abf196b05303020a.png ce13639648868da81a19b7bd2c5e0773.png

服务端端口目标 (IP:端口) 一定要填写正确。

d1f5bee2e04964c27551df797e432f36.png

4.启动npc内网穿透代理

点击客户端菜单,然后点击如图对应的客户端+号;等到

./npc -server=192.168.10.86:8024 -vkey=z939xcweszod7c5b -type=tcp
9c6dd45906600644faa251f1574066ce.png

如何使用的云主机对应192.168.10.86这个ip应该为公网的ip

在安装了npc 客户端的内网服务执行如下命令

./npc -server=192.168.10.86:8024 -vkey=z939xcweszod7c5b -type=tcp

执行后,如下图说明成功

f865fc7488bd818d073bdcd556d1d196.png

5. 验证

在安装了npc客户端的服务,使用docker安装一个tomcat,并启动

  • 安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable --now docker
  • 拉取Tomcat进行

docker pull tomcat:7.0
  • 启动 tomccat

docker run -p 18080:8080 -d tomcat:7.0
  • 进入tomcat容器创建文件index.html

#进入容器 31ad73e8642a为tomcat的容器id
docker exec -it 31ad73e8642a /bin/bash
#进入webapps目录
cd webapps
#创建ROOT目录
mkdir ROOT
#进入ROOT目录
cd ROOT
#创建index.html文件
echo "i love docker" > index.html
#推出容器
exit
44cd35cb23b445b3a7117856ac7ad594.png
  • 访问tomcat

内网直接访问tomcat

http://192.168.10.86:18080
cecd63211ebf715787c0e4be7c542b05.png

通过内网代理端口访问tomcat

http://192.168.10.86:10033
18a9ebd177c70c2ecfd0b41e445034b5.png

注意:需要开通防火墙访问端口

systemctl restart firewalld.service
#添加访问端口
firewall-cmd --zone=public --add-port=10033/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=18080/tcp --permanent
systemctl restart firewalld.service

另外,docker安装可以参考

https://blog.51cto.com/zounan/5053056

b57a716d624a6e682833153ba91c3e11.gif

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

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

相关文章

第二章 部署DNS服务

♥️作者介绍:奇妙的大歪 ♥️个人名言:但行前路,不负韶华! ♥️个人简介:云计算网络运维专业人员 目录 一.DNS是什么? 1.DNS的工作原理 二.DNS内容 1.本章单词 2.域名空间结构: 3.顶级域…

企业级开发1.6 JdbcTemplate操作

JdbcTemplate操作 一、JdbcTemplate案例演示(一)创建数据库与表1、创建数据库2、创建用户表3、用户表添加记录4、查看用户表内容 (二)打开Spring项目(三)添加数据库相关依赖(四)创建…

李彦宏疯了?百度要把全部产品重做一遍

大家好,我是校长。 前几天李彦宏参加了在北京举办的 2023 中关村论坛,发表了题为《大模型改变世界》的演讲。 聊到了很多有意思的观点,分享几个,我们一起看看。 1、大模型重新定义了人机交互。 李彦宏说:过去几十年&am…

playwright - 剧作家, 端对端测试

本文基于 playwright v1.34.3, node v18.16.0 注意:playwright 版本随 node lts 版本更新而更新,所以请确保 node 版本与 playwright 版本匹配。 写在前面 前端开发阶段,少不了测试,一般包含两类测试:单元测试、端对端…

chatgpt赋能python:Python中输入怎么写?完整教程

Python中输入怎么写?完整教程 如果你正在学习Python编程,那么输入是你必须掌握的重要概念之一。在Python中,输入是指将数据从用户的键盘输入到程序中。这些数据可以是字符串、整数、浮点数或其他任何类型的值。本文将提供有关Python中输入的…

外贸大环境下soho人策略

前阵子也跟一个工厂在聊,现在普遍毛利率只有5%-6%,根本不敢涨价,能不降价就不错了(汇率在涨,所以有的客户还会要求降价)。 卷是一定的。而且,各位如果有了解过拼多多的TEMU业务的,应…

1727_使用虚拟机安装CentOS-7

全部学习汇总:GreyZhang/little_bits_of_linux: My notes on the trip of learning linux. (github.com) 离开Linux很久了,甚至怀念,虚拟机里装个CentOS 7玩玩。使用的是VM虚拟机,下载了CentOS 7的everything安装包。 1&#xf…

chatgpt赋能python:Python中符号怎么输入

Python中符号怎么输入 如果你是一位Python程序员,你肯定会经常使用各种符号,比如冒号、逗号、括号、引号等等。但是有些符号在输入的时候可能会有一些困难,尤其是对于初学者而言。那么在Python中符号怎么输入呢?下面我们来详细介…

4.1 文件操作(File类)

ava中,对文件操作的常用类是java.io.File。这个类提供了许多方法来操作文件和目录。本章节我们将学习关于File类的重要方法以及如何使用它们来操作文件。 4.1.1 创建File对象 创建一个File对象不会在磁盘上创建一个新文件。File对象只是一个在Java代码中表示文件或…

代码覆盖率

在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。于是乎,测试人员费尽心思设计案例覆盖代…

【30天熟悉Go语言】4 Go的变量、常量、运算符

文章目录 一、前言二、变量1、变量的基础使用2、变量的多种使用方式1)全局变量2)局部变量3)丢弃赋值 3、Go和Java的变量对比 三、常量1、Go和Java的常量对比 三、运算符1、算术运算符 、--2、运算符 &、* 四、总结 一、前言 Go系列文章&a…

计算机组成原理 之 第四章 指令系统

1. 指令格式 通常包括操作码字段(OP)和地址码字段(A),有的指令不需要地址码 指令系统(指令集):一台计算机的所有指令的集合,eg:X86、ARM (1&#…

手机安卓Termux搭建Hexo博客网站,发布公网访问

文章目录 1. 安装 Hexo2. 安装cpolar内网穿透3. 公网远程访问4. 固定公网地址 转载自cpolar极点云的文章:安卓手机使用Termux搭建Hexo个人博客网站【内网穿透公网访问】 Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章&#…

一键搭建本地Wordpress环境 - MacOS

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…

聊聊企业无线网络安全

新钛云服已累计为您分享749篇技术干货 不知不觉无线网络已经成为了办公网主流。最早接触无线网络的时候是2001年,那时候笔记本电脑还比较少见,标配也不支持无线网络,要使用无线网络需要另外加一块PCMIA接口的无线网卡。第一次体验无线网络的时…

【k8s】Jenkins实现springcloud应用CI、CD实践 【三】

一、运行Jenkins流水线流程思路: 场景:java微服务应用, 单体仓库,多个微服务模块,(并行构建、自动化构建、根据模块变更仅更新特定模块) java、nodejsCI阶段 并行方式; 根据模块变…

【AUTOSAR】Com通讯栈配置说明(三)---- CanSM模块

CanNm模块 该项目中的Nm 并非 autosar nm, 不适用ETAS 配置 CanSM CanSMConfiguration CanSMModeRequestRepetitionMax: 模式请求失败后最大的重试次数 CanSMModeRequestRepetitionTime:模式请求重试时间间隔 CanSMManagerNetworks CanSMBorCounterL1…

数据结构与算法-递归

2.3 递归 概述 定义 计算机科学中,递归是一种解决计算问题的方法,其中解决方案取决于同一类问题的更小子集 In computer science, recursion is a method of solving a computational problem where the solution depends on solutions to smaller in…

分享一个下载软件的html

主要是html与js,css实现 页面如下: 点击软件后会滑动到,软件介绍,然后弹出二维码: <!DOCTYPE HTML> <!--HTML for wufuba.comAuthor: www.wufuba.com --> <html lang="zh-cmn-Hans"><head><title>xxx软件</title><m…

Ora提示词版ChatGPT机器人

Ora可以自己创建一个ChatGPT机器人&#xff0c;可以设置自己的提示词例如我创建的AI佛祖https://ora.ai/aesthetic-red-nfa4/ai%E4%BD%9B%E7%A5%96 提示词 创建机器人的时候&#xff0c;需要设定自己的提示词&#xff0c;例如&#xff1a; 假设你是佛祖&#xff0c;名字叫做释迦…