校外网络连接校园网内的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命令指定端口,而这个被指定的端口便唯一确定了一台内网服务器

目录
相关文章
|
23天前
|
缓存 应用服务中间件 nginx
Web服务器的缓存机制与内容分发网络(CDN)
【8月更文第28天】随着互联网应用的发展,用户对网站响应速度的要求越来越高。为了提升用户体验,Web服务器通常会采用多种技术手段来优化页面加载速度,其中最重要的两种技术就是缓存机制和内容分发网络(CDN)。本文将深入探讨这两种技术的工作原理及其实现方法,并通过具体的代码示例加以说明。
60 1
|
22天前
|
监控 安全 数据挖掘
网络游戏服务器如何有效防护DDoS与CC攻击
随着网络游戏行业的蓬勃发展,其背后的服务器架构日益复杂,同时也面临着前所未有的网络安全威胁。其中,分布式拒绝服务(DDoS)和CC(Challenge Collapsar,一种针对网页的攻击方式)攻击尤为突出,它们通过大量伪造请求或恶意流量,使服务器资源耗尽,导致服务中断或响应缓慢。因此,保障网络游戏服务器的安全,有效防护DDoS与CC攻击,已成为游戏行业亟待解决的问题。
|
2天前
|
存储 弹性计算 测试技术
阿里云服务器实例规格vCPU、内存、网络带宽、网络收发包PPS、连接数等性能指标详解
阿里云服务器ECS实例可以分为多种实例规格族。根据CPU、内存等配置,一种实例规格族又分为多种实例规格。而实例规格又包含vCPU、处理器、内存、vTPM、本地存储、网络带宽、网络收发包PPS、连接数、弹性网卡、云盘带宽、云盘IOPS等指标,本文为大家详细介绍实例规格的这些指标,以供大家了解和选择。
阿里云服务器实例规格vCPU、内存、网络带宽、网络收发包PPS、连接数等性能指标详解
|
8天前
|
存储 运维 网络协议
运维的基本概念:服务器和网络基础知识
运维的基本概念:服务器和网络基础知识
20 0
运维的基本概念:服务器和网络基础知识
|
1月前
|
网络协议 网络安全 网络架构
移动宽带不借助软件和公网服务器实现基于IPV6的内网穿透
本教程指导如何设置路由器以支持IPv6访问:首先确保上网方式为自动获取IP,接着在路由器设置中开启IPv6功能,并关闭可能阻碍连接的防火墙。最后,在光猫管理界面同样关闭防火墙以确保无障碍的IPv6访问路径。操作时请注意网络安全。
移动宽带不借助软件和公网服务器实现基于IPV6的内网穿透
|
30天前
|
网络协议 Linux
在Linux中,如何分析网络连接和端口占用情况?
在Linux中,如何分析网络连接和端口占用情况?
|
1月前
|
API Windows
揭秘网络通信的魔法:Win32多线程技术如何让服务器化身超级英雄,同时与成千上万客户端对话!
【8月更文挑战第16天】在网络编程中,客户/服务器模型让客户端向服务器发送请求并接收响应。Win32 API支持在Windows上构建此类应用。首先要初始化网络环境并通过`socket`函数创建套接字。服务器需绑定地址和端口,使用`bind`和`listen`函数准备接收连接。对每个客户端调用`accept`函数并在新线程中处理。客户端则通过`connect`建立连接,双方可通过`send`和`recv`交换数据。多线程提升服务器处理能力,确保高效响应。
35 6
|
1月前
|
缓存 安全 Linux
本地YUM源大揭秘:搭建您自己的Linux软件宝库,从此告别网络依赖!一文掌握服务器自给自足的终极技能!
【8月更文挑战第13天】在Linux中,YUM是一款强大的软件包管理工具,可自动处理依赖关系。为适应离线或特定安全需求,本指南教你搭建本地YUM源。首先创建存放软件包的`localrepo`目录,复制`.rpm`文件至其中。接着,安装并运用`createrepo`生成仓库元数据。随后配置新的`.repo`文件指向该目录,并禁用GPG检查。最后,清理并重建YUM缓存,即可启用本地YUM源进行软件搜索与安装,适用于网络受限环境。
68 3
|
2月前
|
弹性计算 网络协议 Linux
阿里云主机构建FRP内网穿透家用服务器避坑指南
详述了利用FRP工具搭建内网穿透的流程,包括阿里云ECS的配置、家用服务器的准备、FRP工具的下载与配置,以及通过SSH远程访问本地服务器的解决策略,确保了内外网间的稳定连接。
318 1
阿里云主机构建FRP内网穿透家用服务器避坑指南
|
20天前
|
网络协议 C# 开发者
WPF与Socket编程的完美邂逅:打造流畅网络通信体验——从客户端到服务器端,手把手教你实现基于Socket的实时数据交换
【8月更文挑战第31天】网络通信在现代应用中至关重要,Socket编程作为其实现基础,即便在主要用于桌面应用的Windows Presentation Foundation(WPF)中也发挥着重要作用。本文通过最佳实践,详细介绍如何在WPF应用中利用Socket实现网络通信,包括创建WPF项目、设计用户界面、实现Socket通信逻辑及搭建简单服务器端的全过程。具体步骤涵盖从UI设计到前后端交互的各个环节,并附有详尽示例代码,助力WPF开发者掌握这一关键技术,拓展应用程序的功能与实用性。
42 0