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

有时候想摸鱼不去实验室,在宿舍就直接连接到实验室的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)。然后通过账号密码就可以在非内网的情况下登录到内网的服务器了。

你可能感兴趣的:(服务器,运维,linux)