FRP内网穿透技术实现对校园网电脑的远程访问

背景

目前越来越多的服务依赖于云服务器端实现,很多demo在自己笔记本上进行测试是相当困难的,而自己用的台式机又在实验室,所以便携访问变得尤为重要。当然,有很多软件可以实现对本地电脑的远程访问,比如大名鼎鼎的TeamViewer或者是国产向日葵软件,不仅可以用作FTP传输文件,就连VNC远程访问桌面也是优化的流畅至极。但是!!!无奈实验室网速不太给力,时而5M/s,时而10kb/s,用TeamViewer的感觉一卡一卡的着实难受。而且也并不需要桌面环境,用TeamViewer就显得很鸡肋了,因此我们可以通过内网穿透技术,实现便捷的远程访问自己的电脑,用命令行进行远程办公。

摆在眼前的问题则是,实验室电脑分配的是局域网IP,而非公网IP,因此我们则需要利用内网穿透技术,经本机的局域网IP的某端口映射到某个公网IP的端口,我们只需访问公网IP的端口,通过端口数据转发,则可实现对局域网内的电脑的一个远程访问。

搭建前准备工作:

  1. 公网IP ,我们可以在百度云或者腾讯云购买云服务器,这样就有了公网IP;比如百度云的云服务器,60元一年,相对来说还挺划算的。(我自己用的则是腾讯云的学生机,1核2G,一年120…没赶得上双十一,遗憾!)
    在这里插入图片描述
  2. 云服务器主机,系统Ubuntu18.04LTS
  3. 本地局域网IP,Linux系统可通过ifconfig查看自己的局域网IP,而Windows系统则需要通过在cmd命令行中输入ipconfig查看;
  4. 本地主机,系统Ubuntu18.04;

云服务器端安装FRP(服务器端frps)

  1. 安装SSH服务 ,命令行输入:

    sudo apt-get install openssh-server
    service ssh start      # 启用ssh服务 
    
  2. 下载安装FRP,命令行输入:

    wget https://github.com/fatedier/frp/releases/download/v0.29.1/frp_0.29.1_linux_amd64.tar.gz
    tar -zxvf frp_0.29.1_linux_amd64.tar.gz    # 解压文件
    cd frp_0.29.1_linux_amd64                  # 进入文件目录
    vim frps.ini                               # vim 编辑文件
    

    也可以在此链接下载对应系统的frp文件https://github.com/fatedier/frp/releases,再通过FileZilla软件进行FTP文件传输到服务器也可以

    打开文件后,显示一下内容:

    # frps.ini
    [common]
    bind_port = 7000
    

    后台启动frps服务

    nohup ./frps -c ./frps.ini  &     # 复制该行代码,不要忘记最后的 & 符号
    
  3. 设置安全组规则
    登录云服务器 > 控制台 > 安全组 > 新建 > 选择默认开放全部端口 > 管理实例 > 新增关联 > 选择自己的服务器进行绑定即可
    在这里插入图片描述
    在这里插入图片描述

本地安装FRP(客户端frpc)

  1. 安装SSH服务 ,命令行输入:
    sudo apt-get install openssh-server
    service ssh start      # 启用ssh服务 
    

在这里插入图片描述

  1. 下载安装FRP,此时直接通过链接https://github.com/fatedier/frp/releases下载直接解压到本地比较方便!
    或者仍采用命令行方式下载:

    wget https://github.com/fatedier/frp/releases/download/v0.29.1/frp_0.29.1_linux_amd64.tar.gz
    tar -zxvf frp_0.29.1_linux_amd64.tar.gz
    cd frp_0.29.1_linux_amd64
    vim frpc.ini              # 注意此处是frpc文件
    

    文件内容修改为:

    # frpc.ini
    [common]
    server_addr = x.x.x.x     # 此处需要填写云服务器公网ip,Ubuntu可通过ifconfig进行查看
    server_port = 7000
    
    [ssh]
    type = tcp
    local_ip = x.x.x.x       # 此处需要填写本机局域网IP
    local_port = 22
    remote_port = 6000
    

    后台启动frpc服务

    nohup ./frpc -c ./frpc.ini  &     # 复制该行代码,不要忘记最后的 & 符号
    

远程连接测试

可通过在手机上下载安装相关的terminal终端软件测试,测试是需要填写

Hostname(云服务器主机IP) : x.x.x.x
Port:6000
Username(本地主机用户名): xxx
Passwd: xxxx

或者电脑终端terminal连接

# test为本地主机用户名,x.x.x.x则是公网服务器ip地址
ssh -oPort=6000 [email protected]

在云服务器端复制frps.ini为frps_1.ini、frps_2.ini,将其中bind_port值改为不同,分别启动

猜你喜欢

转载自blog.csdn.net/a18838956649/article/details/103075801