校外网络连接校园网内的linux服务器方法(使用frp实现内网穿透)

简介: 平常在校园里连接校内实验室的linux服务器可以直接使用ssh直接链接私有ip地址,一旦本地移动到了校园网外部(如:使用手机流量wifi,或着暑假回家使用家庭wifi)便无法在使用ssh连接校内的服务器。本文提供一个实现校外也能访问校内服务器的方法

一:需要准备一台具有公网IP的服务器(称外网服务器),校内linux服务器(称内网服务器),本地端。

这里的外网服务器便使用的是阿里云提供的免费服务器。

二:过程

首先需要在外网服务器上下载frp:(引号内内容为终端命令)

1."cd /home/用户名"进入相应用户目录

2."mkdir ~/frp"建立frp文件夹然后"cd frp"

2."wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz"下载frp

4."tar -zxvf frp_0.38.0_linux_amd64.tar.gz"解压,"cd frp_0.38.0_linux_amd64"

5.在内网服务器上重复1-4步.

6."vim frps.ini",在外网服务器上修改frps的配置文件

[common]
# frp监听的端口
bind_port = 7000
# 授权码
token = 12345678
# frp管理后台端口,可以自定
dashboard_port = 7500
# frp管理后台用户名和密码,后面登录浏览器会用到
dashboard_user = admin
dashboard_pwd = password
enable_prometheus = true

7.进入阿里云服务器控制台

image.png

image.pngimage.png

添加如下规则

image.png

8.将frps相关文件复制到linux系统对应文件夹下,使用systemctl start frps命令启动frps服务

cd ~/frp/frp_0.38.0_linux_amd64/
sudo mkdir -p /etc/frp
sudo cp frps.ini /etc/frp
sudo cp frps /usr/bin
sudo cp systemd/frps.service /usr/lib/systemd/system/
sudo systemctl enable frps
sudo systemctl start frps

接着打开浏览器输入"外网服务器IP地址:7500",可进入frps服务后台

image.png

此处输入frps.ini里面配置的dashboard相关内容

image.png

成功进入后台

9.进入内网服务器的frps解压地址,"vim frps.ini"

# 服务端
[common]
server_addr = 外网服务器ip
server_port = 7000
token = 12345678 #必须和外网服务器的一致
# ssh
[ssh7501]
type = tcp # 不要修改
local_ip = 127.0.0.1 # 不要修改
local_port = 22 # 不要修改
remote_port = 7501  #这个端口号可以自定义,用于指定内网服务器编号

10.同第7点操作,开放7501端口

11.将frps相关文件复制到内网服务器linux系统的对应位置,使用"sudo systemctl start frpc"启动frps服务,并让内网服务器使用frps连接外网服务器

cd ~/frp/frp_0.38.0_linux_amd64/
sudo mkdir -p /etc/frp
sudo cp frpc.ini /etc/frp
sudo cp frpc /usr/bin
sudo mkdir /usr/lib/systemd/system/
sudo cp systemd/frpc.service /usr/lib/systemd/system/
sudo systemctl enable frpc
# Created symlink from /etc/systemd/system/multi-user.target.wants/frpc.service to /usr/lib/systemd/system/frpc.service.
sudo systemctl start frpc

如下图便连接成功

image.png

三、使用相关

现在位于校外的本地端需要修改ssh使用方法,例如"ssh -p 7501 root@外网ip",如此便可连接内网服务器了

实测此种办法可以实现ssh无密码登录,vscode的remoter server功能,pycharm remotessh解释器功能都可以实现。只不        过应当使用-p命令指定端口,而这个被指定的端口便唯一确定了一台内网服务器

目录
相关文章
|
2月前
|
缓存 应用服务中间件 nginx
Web服务器的缓存机制与内容分发网络(CDN)
【8月更文第28天】随着互联网应用的发展,用户对网站响应速度的要求越来越高。为了提升用户体验,Web服务器通常会采用多种技术手段来优化页面加载速度,其中最重要的两种技术就是缓存机制和内容分发网络(CDN)。本文将深入探讨这两种技术的工作原理及其实现方法,并通过具体的代码示例加以说明。
109 1
|
2月前
|
监控 安全 数据挖掘
网络游戏服务器如何有效防护DDoS与CC攻击
随着网络游戏行业的蓬勃发展,其背后的服务器架构日益复杂,同时也面临着前所未有的网络安全威胁。其中,分布式拒绝服务(DDoS)和CC(Challenge Collapsar,一种针对网页的攻击方式)攻击尤为突出,它们通过大量伪造请求或恶意流量,使服务器资源耗尽,导致服务中断或响应缓慢。因此,保障网络游戏服务器的安全,有效防护DDoS与CC攻击,已成为游戏行业亟待解决的问题。
|
23天前
|
存储 弹性计算 测试技术
阿里云服务器实例规格vCPU、内存、网络带宽、网络收发包PPS、连接数等性能指标详解
阿里云服务器ECS实例可以分为多种实例规格族。根据CPU、内存等配置,一种实例规格族又分为多种实例规格。而实例规格又包含vCPU、处理器、内存、vTPM、本地存储、网络带宽、网络收发包PPS、连接数、弹性网卡、云盘带宽、云盘IOPS等指标,本文为大家详细介绍实例规格的这些指标,以供大家了解和选择。
阿里云服务器实例规格vCPU、内存、网络带宽、网络收发包PPS、连接数等性能指标详解
|
2天前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
8 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
13天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
81 5
|
16天前
|
数据安全/隐私保护
Haskell网络编程:代理服务器的高级使用技巧
Haskell网络编程:代理服务器的高级使用技巧
|
16天前
|
JavaScript 前端开发
vue配合axios连接express搭建的node服务器接口_简单案例
文章介绍了如何使用Express框架搭建一个简单的Node服务器,并使用Vue结合Axios进行前端开发和接口调用,同时讨论了开发过程中遇到的跨域问题及其解决方案。
17 0
vue配合axios连接express搭建的node服务器接口_简单案例
|
1天前
|
存储 监控 NoSQL
Redis的实现二: c、c++的网络通信编程技术,让服务器处理多个client
本文讨论了在C/C++中实现服务器处理多个客户端的技术,重点介绍了事件循环和非阻塞IO的概念,以及如何在Linux上使用epoll来高效地监控和管理多个文件描述符。
8 0
|
29天前
|
存储 运维 网络协议
运维的基本概念:服务器和网络基础知识
运维的基本概念:服务器和网络基础知识
60 0
运维的基本概念:服务器和网络基础知识
|
2月前
|
存储 缓存 网络协议
网络丢包排查方法
网络丢包排查方法