frp内网穿透——以连接到校园内网的服务器为例

news2024/9/20 15:40:52

有时候想摸鱼不去实验室,在宿舍就直接连接到实验室的GPU服务器。奈何服务器在校园网内部,外网无法直接直接访问。此时需要手动搭一个跳板机,来连接到内网的GPU服务器,这一过程怎么做到呢?我们可以使用frp内网穿透工具,frp是一个开源、简洁易用、高性能的内网穿透和反向代理软件。

准备工作:首先你要有一台自己的电脑,实验室的服务器,以及一台具有公网IP的设备。

公网IP的设备可以去租用各个厂商的云服务器,用最低配置即可(这里以阿里云为例,我当时在TB买的轻量应用服务器,比较便宜省心)。在你买的节点按照步骤自动虚拟化、安装完操作系统以后,就可以在控制台看到你的公网IP了。

在这里插入图片描述

对于有公网IP的云服务器

此设备将作为frp内网穿透中的服务端,因此需要进入该系统的控制台进行frp服务端的下载以及配置,具体的流程如下:

(1)下载frp服务端(由于从github下的,速度很慢,可能需要多下几次;有时候下完也会出问题,如果出现core dump删掉重新下载即可):

wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz 

(2)解压:

tar -zxvf frp_0.33.0_linux_amd64.tar.gz

(3)进入该目录:

cd frp_0.33.0_linux_amd64/

(4)查看配置文件:

cat frps.ini

在这里插入图片描述
发现里面只有一个默认的绑定端口7000,记住这个端口号。

(5)配置完成后启动服务:

./frps -c frps.ini

出现一堆蓝色的代码,现实success即为成功。

为了防止节点重启或关机,可以设置一个开机启动的程序;如果不想跑在前台,可以用nohup等操作后台运行。

对于内网的实验室服务器

实验室的内网服务器作为frp内网穿透中的客户端,向具有公网IP的云服务器发送请求。具体的操作流程如下:

(1)在物理机上下载frp客户端:下载、解压、切换目录均与上面一样的操作。
(2)配置frpc.ini文件:

[common]
server_addr = xxx.xxx.xxx.xxx  #服务端的公网ip
server_port = 7000             #服务端frp服务端口

[ssh]
type = tcp
local_ip = 127.0.0.1           #本机IP
local_port = 22                #本机需要映射的端口22
remote_port = 6000             #远程服务器映射的端口为6000

(3)启动客户端程序:

./frpc -c frpc.ini

出现一堆蓝色的代码,显示success以及start即为成功。

同样地,客户端也可以设置一个开机自动运行的脚本,防止内网服务器的重启或关机。

自己的电脑

在上面两个设备配置好之后,在自己的电脑上(外网)通过xshell等工具建立ssh连接,ip为公网IP,端口号为6000(客户端配置文件中的remote_port)。然后通过账号密码就可以在非内网的情况下登录到内网的服务器了。

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

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

相关文章

Seata:连接数据与应用

作者:季敏(清铭)Seata 开源社区创始人,分布式事务团队负责人。 本文主要介绍分布式事务从内部到商业化和开源的演进历程,Seata 社区当前进展和未来规划。 Seata 是一款开源的分布式事务解决方案,旨在为现…

Java基础(十八):java比较器、系统相关类、数学相关类

Java基础系列文章 Java基础(一):语言概述 Java基础(二):原码、反码、补码及进制之间的运算 Java基础(三):数据类型与进制 Java基础(四):逻辑运算符和位运算符 Java基础(五):流程控制语句 Java基础(六)&#xff1…

JavaScript黑科技:隐秘执行

JavaScript黑科技&#xff1a;隐秘执行 如果能使网页中的JavaScript代码隐密的加载、隐密的执行&#xff0c;那对于保护JavaScript代码来说是很有利的。 本文将探索、演示一种隐秘执行JavaScript代码的技术。 源码如下&#xff1a; <html> <script>window.onlo…

Prometheus+node_exporter+Grafana+夜莺 监控部署

一、安装Prometheus 1.1 部署并配置Prometheus #主机基础配置 [rootnode4~]# systemctl stop firewalld && systemctl disable firewalld [rootnode4~]# sed -i s/enforcing/disabled/g /etc/selinux/config && setenforce 0#上传prometheus安装包并解压 [r…

8、ThingsBoard使用docker compose集群部署的问题以及如何解决问题

1、问题回顾 接着上一节继续讲解,上一节我们把整个服务全部都运行起来了,但是访问页面报错,最后查看的问题是前端的容易里面报错: 然后执行脚本删除所有的容器 2、问题分析 当遇到这个问题的时候,我当时真的不知道如何去解决,然后我又尝试使用官方的镜像来部署,发现官…

P75分层解耦-IOCDI详解

一、分层解耦-三层架构 Dao层&#xff1a;数据访问 1、接口 package com.itheima.service;import com.itheima.pojo.Emp;import java.util.List;/*** Description:* date: 2023/4/19 21:47** since JDK 11*/ public interface EmpService { // 获取员工列表数据public List&l…

RabbitMQ·入门·壹

文章目录 1 MQ思想1.1 相关概念&#xff1a;同步、异步通讯1.1.1 同步通讯1.1.2 异步通讯 1.2 MQ思想概述1.2.1 1 MQ思想 1.1 相关概念&#xff1a;同步、异步通讯 通讯方式举例优势劣势同步通讯就像打电话&#xff0c;需要实时响应。打电话可以立即得到响应。不能跟多人同时…

垃圾回收相关算法

标记阶段的算法 垃圾标记阶段&#xff1a;对象存货判断 在堆里存放着几乎所有的Java对象实例&#xff0c;在GC执行垃圾回收之前&#xff0c;首先需要区分出内存中哪些是存活对象&#xff0c;哪些是己经死亡的对象。只有被标记为己经死亡的对象&#xff0c;GC才会在执行垃圾回…

AutoGPT 环境搭建教程

文章目录 前言一、注册OpenAI和Pinecone的账号&#xff0c;并获取key二、下载Git和Python3&#xff08;自己网上搜&#xff0c;无脑安装&#xff09;![在这里插入图片描述](https://img-blog.csdnimg.cn/95bafd5ebe9d468cbceeacbfc0cb939b.png)三、进入GitHub&#xff0c;安装A…

Flowable从入门到源码分析

什么是工作流&#xff1f; 工作流&#xff0c;是把业务之间的各个步骤以及规则进行抽象和概括性的描述。使用特定的语言为业务流程建模&#xff0c;让其运行在计算机上&#xff0c;并让计算机进行计算和推动。 工作流解决的痛点在于&#xff0c;解除业务宏观流程和微观逻辑的…

【Linux】基础IO,详解系统文件IO

目录 C语言文件操作简单回顾 C语言相关文件接口汇总 默认打开的三个流 系统文件I/O open open的第一个参数 open的第二个参数 open的第三个参数 open的返回值 close write read 文件描述符 什么是文件描述符 文件描述符分配规则 重定向 重定向的本质 输出重定…

ETCD(一)简介

1. ETCD是什么 etcd 是一个分布式键值对存储&#xff0c;设计用来可靠而快速的保存关键数据并提供访问。和数据库一样都是用来存数据的&#xff0c;但是etcd有自己的特点&#xff0c;因此有自己的使用场景。 2. etcd 特点 完全复制&#xff0c;集群中的每个节点均拥有全量数…

跌倒检测和识别2:YOLOv5实现跌倒检测(含跌倒检测数据集和训练代码)

跌倒检测和识别2&#xff1a;YOLOv5实现跌倒检测(含跌倒检测数据集和训练代码) 目录 跌倒检测和识别2&#xff1a;YOLOv5实现跌倒检测(含跌倒检测数据集和训练代码) 1. 前言 2. 跌倒检测数据集说明 &#xff08;1&#xff09;跌倒检测数据集 &#xff08;2&#xff09;自定…

《离散数学导学》精炼——第10章(序列)

Learning never exhausts the mind. 文章目录 引言正文元包序列的定义序列与函数的关系空序列长度连接头尾运算符限制运算符逆置运算符单射序列 引言 笔者一直觉得在计算机这一学科的学习中&#xff0c;离散数学是极为重要的知识基础。离散化的思想体现在计算机学科的方方面面…

SpringDataJPA

介绍&#xff1a; spirng data jpa是spring提供的一套简化JPA开发的框架&#xff0c;按照约定好的规则进行【方法命名】去写dao层接口&#xff0c;就可以在不写接口实现的情况下&#xff0c;实现对数据库的访问和操作。同时提供了很多除了CRUD之外的功能&#xff0c;如分页、排…

剖析Linux内核—fork背后隐藏的技术细节

1、前言 全文分为两部分讲解&#xff1a;fork的内存管理部分和进程管理部分&#xff0c;内存管理主要讲解子进程如何构建自己的内存管理相关基础设施&#xff0c;父子进程如何共享地址空间的&#xff0c;写时复制如何发生&#xff0c;页表层面为我们做了哪些事情等等。而进程管…

Redis缓存雪崩、穿透、击穿

Redis缓存雪崩、穿透、击穿 解决方案正常的缓存流程Redis缓存雪崩Redis缓存雪崩解决方案 Redis缓存穿透Redis缓存穿透解决方案 Redis缓存击穿Redis缓存击穿解决方案 解决方案 布隆过滤器&#xff0c;分布式锁 正常的缓存流程 Redis缓存雪崩 Redis中的key大面积失效&#xff0…

BUUCTF-PWN-pwn1_sctf_2016

下载 放入 ubuntu里查信息 现在这些保护我都没有遇到 以后慢慢做应该是会遇到的 然后进行发现是32 所以我们记住 如果栈溢出漏洞 我们需要4个字节填满基地址 放入ida32 查看字符串 发现 cat flag 敏感字符串 然后我们就看引用 先记住地址 为 0x8048F0D 然后开始进去 发…

windows下网络聊天室项目(C++、SQLite、计算机网络)——思路+源码+解析

这里只是在windows系统下用C++做的简易聊天室,其界面比较low,不过该有的功能已基本实现。至于带界面的,QT里有封装好的QTcpSocket套接字,会在下一篇博客里予以介绍。主要的功能主要包含的功能有:查看当前在线人数、进入群聊界面、进入私聊界面、查看聊天记录、文件传输、更…

【Python小程序】纪念日礼物|恋爱一周年,送媳妇儿什么礼物浪漫又有惊喜?一键收藏,过节再也不用绞尽脑汁啦~(特别的礼物赠送)

前言 有些日子不可懒&#xff0c;指的就是纪念日。不同阶段过纪念日&#xff0c;也是不同的心境。 ——偷偷告诉你 所有文章完整的素材源码都在&#x1f447;&#x1f447; 粉丝白嫖源码福利&#xff0c;请移步至CSDN社区或文末公众hao即可免费。 作为一个编程博主&#xff0c…