校外网络连接校园网内的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天前
|
Java Android开发
Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。
【6月更文挑战第23天】 Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。客户端连接服务器,发送"Hello, Server!"后关闭。注意Android中需避免主线程进行网络操作。
14 4
|
15小时前
|
监控 Linux BI
【linux服务器系统盘爆满】/www/server/total/logs/目录内容过多导致服务器系统盘爆满,/www/server/total/logs/ 里是什么内容?是否可以删除?
【linux服务器系统盘爆满】/www/server/total/logs/目录内容过多导致服务器系统盘爆满,/www/server/total/logs/ 里是什么内容?是否可以删除?
5 1
|
1天前
|
NoSQL Redis 数据安全/隐私保护
连接测试服务器redis
连接测试服务器redis
8 1
|
3天前
|
安全 物联网 Linux
学习Linux对网络安全的重要性
**学习Linux对网络安全至关重要:** 1. 开源操作系统广泛应用于服务器、网络设备,掌握Linux是安全专家必备技能。 2. Linux内置安全特性,如最小权限和防火墙,加上丰富的安全工具,提供强大保障。 3. 可定制性允许灵活配置,满足安全需求,开源社区提供持续更新和教育资源。 4. 学习Linux能提升攻防能力,用于系统加固和渗透测试,适应跨平台安全场景。 5. 随着云计算和物联网发展,Linux在网络安全中的角色日益关键。
27 3
|
7天前
|
存储 监控 Linux
性能监控之Telegraf+InfluxDB+Grafana linux服务器实时监控
【6月更文挑战11天】标题性能监控之 Java Metrics 度量包性能监控之Telegraf+InfluxDB+Grafana linux服务器实时监控
22 2
|
15小时前
|
安全 Linux Python
【安全狗】linux免费服务器防护软件安全狗详细安装教程
【安全狗】linux免费服务器防护软件安全狗详细安装教程
2 0
|
1天前
|
网络协议
逆向学习网络篇:心跳包与TCP服务器
逆向学习网络篇:心跳包与TCP服务器
3 0
|
4天前
|
数据可视化 网络协议 Linux
Linux 怎样通过win 远程桌面连接链接Linux后台服务器的可视化图形界面
Linux 怎样通过win 远程桌面连接链接Linux后台服务器的可视化图形界面
10 0
|
6天前
ffb浏览器报错:服务器拒绝连接
ffb浏览器报错:代理服务器拒绝连接
16 0

热门文章

最新文章