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

内网穿透[让你在家里也能榨干学校的服务器]Yep!

内网穿透

问题:什么是内网穿透,内网穿透的作用是什么?

前提!!!!你得拥有超级管理员的权限,比如root,不然后面的一切免提!

应用场景如下:比如你在家,你想连接学校的服务器,但是因为学校的服务器是局域网,172开头的,我们在家也是一个局域网,不同局域网没办法互连,那就需要一个中间人来进行连接,我们都可以和这个中间人进行连接,所以就需要一个公网IP,这样我们在家的电脑和在学校的服务器都可以连接上去,让这个中间人为我们传递数据。如下图所示。以下假设的IP地址没有任何实际意义,只是作为假设,特此声明
在这里插入图片描述

所以引出了内网穿透所需要的资源:
(1)学校服务器的IP地址:这里我们假设是上图的172.22.33.44
(2)公网的IP地址(去阿里云租一个,新用户免费3个月,租ECS服务器,租过的话换个手机号就能租个新的了,或者买一个,学生优惠99一年)服务器IP:8.138.66.121
(3)frp内网穿透工具(注意下载的版本,以下参考是x86的版本,所以下载amd64)

现在我们已经拥有公网的IP了,学校的服务器和家里的电脑都是联网的,所以可以Ping通ECS服务器。现在正式开始配置frp

1. 服务器端,也就是我们租的那台服务器,我们用来作为Service端。

sudo apt-get updatewget https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_linux_amd64.tar.gztar -zxvf frp_0.53.2_linux_amd64.tar.gz  #解压缩:tar xvf 文件名cd frp_0.53.2_linux_amd64                #进入解压目录#修改frps.toml文件
sudo vim ./frps.toml

添加以下内容:

# 设置frps端的监听端口
bindPort = 7000

下面方法是一次性的,关机重启之后就要将服务重新开启。

#在frp_0.17.0_linux_amd64目录下,临时启动命令
./frps -c ./frps.toml#后台保持启动
nohup ./frps -c ./frps.toml &

故引出开机自启动服务器,也就是写一个脚本

sudo vim /etc/systemd/system/frps.service

注意ExecStart改为实际的存放路径

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target[Service]
Type = simple
# 启动命令,改为实际存放frps的路径
ExecStart = /home/frp_0.53.2_linux_amd64/frps -c /home/frp_0.53.2_linux_amd64/frps.toml[Install]
WantedBy = multi-user.target
# 启动服务
systemctl start frps
# 查看服务状态
systemctl status frps
# 重启服务
systemctl restart frps
# 开机自启动
systemctl enable frps

到此为止 服务器端就配置好了,该配置客户端,也就是我们的学校的服务器,需要超级管理员权限!!!再次提醒。

2. 客户端,学校的服务器

第一步也是先下载frp,但是在客户端使用的是frpc,服务器端是frps

sudo apt-get updatewget https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_linux_amd64.tar.gztar -zxvf frp_0.53.2_linux_amd64.tar.gz  #解压缩:tar xvf 文件名cd frp_0.53.2_linux_amd64                #进入解压目录#修改frps.toml文件
sudo vim ./frpc.toml

在frpc.toml中配置文件

serverAddr = "8.138.66.121" #我们租到服务器的递增
serverPort = 7000 #我们在租到服务器中frps.toml写的监听端口号[[proxies]]
name = "test-tcp" #可以随便取一个,但是不要取ssh,可能会发生冲突
type = "tcp" #网络连接方式,不用改
localIP = "127.0.0.1" #不用改
localPort = 22 #不同改
remotePort = 6000 #不用改,6000我们后面会用来连接

临时启动

#临时启动
./frpc -c ./frpc.ini#后台保持启动
nohup ./frpc -c ./frpc.toml &

开机自启动
同样在ExecStart更改为真实的frp工具存放路径

[Unit]
Description=frpc
After=syslog.target  network.target
Wants=network.target[Service]
Type=simple
ExecStart=/usr/local/frp_0.53.2_linux_amd64/frpc -c /usr/local/frp_0.53.2_linux_amd64/frpc.toml
Restart= always
RestartSec=1min[Install]
WantedBy=multi-user.target
# 启动服务
systemctl start frpc
# 查看服务状态
systemctl status frpc
# 重启服务
systemctl restart frpc
# 开机自启动
systemctl enable frpc

这样整个过程就配置好了。

3.测试

在我们租阿里云服务器上输入指令,下面的User是你要连接的用户名

ssh -p 6000 User@127.0.0.1

然后输入你用户的密码就可以连接上去了。

4. 应用:在Vscode上登录,且完成免密登录。

(1)下载插件Remote-SSH
在这里插入图片描述
(2)然后点击图标,如下图
在这里插入图片描述
(3)接着修改配置文件,点击小齿轮
在这里插入图片描述
(4)进入配置文件,修改配置文件,第一个Host,需要填我们在阿里云租到服务器的公网IP,第二个Host只需要改最后一行的那个数字改为公网IP就行了。

Host 8.138.66.121 HostName 8.138.66.121 User rootPort 22
Host 127.0.0.1HostName 127.0.0.1Port 6000User XXXProxyCommand ssh -W %h:%p 8.138.66.121 

(5)这样我们点击连接127.0.0.1就会连接到我们的服务器了,简单来说,就是把公网服务器作为跳板,跳到了我们的学校的服务器。但是需要输入俩次密码,是不是很麻烦!!!!

5.免密登录

免密登录需要用到id_rsa.pub这个文件和authorized_keys这个文件
(1)先免密登录到我们的跳板,也就是租的阿里云服务器。将我们本地下生成的id_rsa.pub文件复制到阿里云服务器上,如果本地没有,就先生成,生成代码如下:

ssh-keygen -t rsa

一般来说会在c:\users\XXX.ssh下出现这个文件。
(2)复制的方式可以通过终端文件windterm或MobaXterm直接上传,或者使用命令scp传输,具体scp命令可以自己搜一下,反正要将id_rsa.pub复制到阿里云服务器上,然后为了防止覆盖authorized_keys文件,我们使用拼接的方式,如下:

cat id_rsa.pub > authorized_keys

这样我们就实现了免密登录到阿里云服务器,完成了第一次飞跃。
(3)接下来同样的方式完成第二次飞跃,将在本地电脑,也就是我们第一次复制到阿里云服务器上的id_rsa.pub同样复制到学校服务器上的.ssh文件夹下,完成第二步同样的操作。

这样我们就可以免密登录了

6. 需要注意的问题

(1)如果在下载frp的时候过慢,可以在本地下载好,在移动到服务器上去,因为是在github上下载的
下载链接https://github.com/fatedier/frp/releases。注意需要下载的版本。./frpc: cannot execute binary file: Exec format error,就是版本不对,确认一下版本。
(2)自启动脚本的frp工具的实际路径得设置好
(3)如果阿里云服务器上和学校的服务器上没有.ssh文件,可以自己生成,生成方式如第五点免密登录的第一步,生成后,可以删掉原本的id_rsa.pub,用我们复制过来的。

7. 引用

[1] https://blog.csdn.net/deng_xj/article/details/88952420
[2] https://zhuanlan.zhihu.com/p/572431267
[3] https://blog.csdn.net/xuzhongyi103/article/details/134363523
[4] https://blog.csdn.net/weixin_43863869/article/details/135042123
[5] https://blog.csdn.net/lixuande19871015/article/details/98613711

相关文章:

内网穿透[让你在家里也能榨干学校的服务器]Yep!

内网穿透 问题:什么是内网穿透,内网穿透的作用是什么? 前提!!!!你得拥有超级管理员的权限,比如root,不然后面的一切免提! 应用场景如下:比如你…...

构建基于RHEL9系列(CentOS9,AlmaLinux9,RockyLinux9等)的支持63个常见模块的PHP8.1.20的RPM包

本文适用:rhel9系列,或同类系统(CentOS9,AlmaLinux9,RockyLinux9等) 文档形成时期:2023年 因系统版本不同,构建部署应略有差异,但本文未做细分,对稍有经验者应不存在明显障碍。 因软件世界之复杂和个人能力…...

你知道什么是Java中的类型强转吗?

强制类型转换 强转存在与父转子的时候,子转父不需要进行强转,如 Object o "hello"; //String类是Object类的子类,无需进行强转类型强转分为两种情况: Ⅰ、向下转型:将父类对象引用转换为子类对象引用&am…...

【2023】ArrayList和LinkedList详解介绍对比

一、ArrayList 1、概述 ArrayList是实现了List接口的动态数组,所谓动态数组就是他的大小是可变的。实现了所有可选列表操作,并允许包括Null在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 …...

【软件工程】基于领域建模的产品与技术方案设计(领域驱动设计DDD)

文章目录 1、领域建模2、产品方案、技术方案3、领域驱动设计DDD 1、领域建模 领域模型(domain model) 是对领域内的概念类或现实世界中对象的可视化表示。领域模型也成为概念模型、领域对象模型和分析对象模型。域模型是一种概念模型,也叫问题域模型。它表述的是某…...

跨境电商账号频繁?你的IP可能“不干净”了

疫情促进了跨境电商行业的加速发展,许多卖家也抓住了这波流量红利,跨境电商月入数万,数十万甚至数百万的造福神话也不断在上演,但由于国内外电商运营模式不同,多店运营、用户数据收集、刷单等行为都受到了国外平台的严…...

Docker数据卷与拦截与目录拦截

目录 高级容器挂载技术深度解析引言数据卷挂载原理解析应用场景使用介绍 目录挂载原理解析应用场景使用介绍 总结 高级容器挂载技术深度解析 引言 容器技术的快速发展使得容器挂载技术变得愈发重要。在容器化应用中,数据卷挂载和目录挂载是两种常见的挂载方式&…...

Python 元类 metaclass 详解

元类(metaclass)是 Python 中一个高级且相对较少使用的概念。元类可以被视为类的类,它控制类的创建过程。 一、基本概念 在 Python 中,一切皆对象。为了避免混淆,我们约定两个术语: 类实例:当…...

HCIA基础知识

IP地址、静态路由、动态路由、交换机 OSPF RIP DHCP VLAN ACL NAT OSI TCP/IP UDP TCP 三次握手,四次挥手,报头 什么是网络? 由网络连接设备通过传输介质将网络终端设备连接起来,进行资源共享、信息传递的平台。 OSI七…...

翻译: Streamlit从入门到精通 部署一个机器学习应用程序 四

Streamlit从入门到精通 系列: 翻译: Streamlit从入门到精通 基础控件 一翻译: Streamlit从入门到精通 显示图表Graphs 地图Map 主题Themes 二翻译: Streamlit从入门到精通 构建一个机器学习应用程序 三 1. 5. 如何部署一个Streamlit应用 部署是将应用程序从开发…...

AI时代Python量化交易实战:ChatGPT引领新时代

文章目录 《AI时代Python量化交易实战:ChatGPT让量化交易插上翅膀》关键点内容简介作者简介购买链接 《AI时代架构师修炼之道:ChatGPT让架构师插上翅膀》关键点内容简介作者简介 赠书活动 《AI时代Python量化交易实战:ChatGPT让量化交易插上翅…...

国科大软件安全原理期末复习笔记

1 软件安全总论 1.软件的三大特性:复杂性、互连性、可扩展性; 2.基本概念:缺陷、漏洞、风险 缺陷(bug):软件在设计和实现上的错误;漏洞(vulnerability):漏洞…...

人工智能软件测试2024年主要趋势

人工智能软件测试领域在未来可能面临多个发展趋势,其中一些趋势可能会对测试方法、工具和流程产生深远的影响。以下是塑造人工智能软件测试未来的主要趋势: 自动化和自动学习测试:随着人工智能的发展,测试自动化将变得更加智能和自…...

【JAVA】Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式

🍎个人博客:个人主页 🏆个人专栏:JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 懒汉式(Lazy Initialization): 双重检查锁定(Double-Checked Locking)…...

常见的反爬虫风控 | 验证码风控

一.前言 在当今信息技术迅速发展的背景下,网站和在线服务面临着日益增长的自动化访问威胁,这些大多来自于各类爬虫程序。这种大量的自动化访问不仅对网站的正常运行构成压力,还可能导致敏感数据的泄露,甚至被用于不正当竞争和恶意…...

ClickHouse(21)ClickHouse集成Kafka表引擎详细解析

文章目录 Kafka表集成引擎配置Kerberos 支持 虚拟列 资料分享参考文章 Kafka表集成引擎 此引擎与Apache Kafka结合使用。 Kafka 特性: 发布或者订阅数据流。容错存储机制。处理流数据。 老版Kafka集成表引擎参数格式: Kafka(kafka_broker_list, kaf…...

JSP-概念

一、引子 很多读者可能听过JSP,并且知道这是一门过时的技术了。在Spring,SpringBoot已经成为主流的今天,笔者为什么还要介绍JSP的相关内容呢?笔者常常提到一个概念:理解一门技术,要理解这个技术为什么产生…...

sqlite插入语句id自增列问题

sqlite给主键id设置AUTOINCREMENT自增在插入数据的时候报错table has x columns but x-1 values were supplied 为什么自增列要显示不提供,sqlite需要提供自增列table ResTools has 7 columns but 6 values were supplied SQL Statement:insert into ResTools values(管理系统w…...

C#,字符串匹配(模式搜索)AC(Aho Corasick)算法的源代码

Aho-Corasick算法简称AC算法,也称为AC自动机(Aho-Corasick)算法,1975年产生于贝尔实验室(The Bell Labs),是一种用于解决多模式字符串匹配的经典算法之一。 the Bell Lab 本文的运行效果: AC算法以模式树…...

【网络取证篇】Windows终端无法使用ping命令解决方法

【网络取证篇】Windows终端无法使用ping命令解决方法 以Ping命令为例,最近遇到ping命令无法使用的情况,很多情况都是操作系统"环境变量"被改变或没有正确配置导致—【蘇小沐】 目录 1、实验环境(一)无法ping命令 &a…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层&#xf…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...

【HTTP三个基础问题】

面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...