zoukankan      html  css  js  c++  java
  • frp内网穿透,从*访问内网资源

    0. 使用背景

    • 校内实验室的电脑使用的是校园内网(10.x.x.x这种),在家里或旅游时无法访问实验室的机器(由于ipv4地址有限,因此没有公网ip),特别是疫情期间,待在家里,没办法使用实验室的电脑做实验。
    • 使用frp内网穿透(github开源)可以解决这一痛点
    • 原理简介:
      (本教程仅支持ssh远程连接,关于远程桌面等可以另找资源)

    1. 前提条件(我两台机器都是Linux)

    • 【服务器端】一个公网ip:我申请的是腾讯云学生优惠的轻量应用服务器,带宽5M
    • 【客户端】一台在内网的电脑
    • 下载好上面连接中的frp工具,并解压(在一处下载即可,客户端或服务器端都可以;如果觉得往另一台机器传输麻烦,在客户端和服务器端都下载)
    # 以下载在服务器端为例
    $ wget https://github.com/fatedier/frp/releases/download/v0.29.1/frp_0.29.1_linux_amd64.tar.gz
    $ tar xzvf frp_0.29.1_linux_amd64.tar.gz
    $ mv frp_0.29.1_linux_amd64 frp
    

    {以下命令均在root下运行}

    2. 配置服务器端(拥有公网ip的服务器)

    $ cd frp
    $ cp frps /usr/bin/
    $ cp systemd/frps.service /usr/lib/systemd/system/
    $ mkdir /etc/frp
    $ cp frps.ini /etc/frp
    $ vim /etc/frp/frps.ini
    

    修改内容如下

    [common]
    # frp客户端监听的端口,默认是7000,可以改成其他的
    bind_port = 7000
    # 授权码,请改成更复杂的
    token = 52010  # 这个token之后在客户端会用到
    
    # frp管理后台端口,请按自己需求更改
    dashboard_port = 7500
    # frp管理后台用户名和密码,请改成自己的
    dashboard_user = admin
    dashboard_pwd = admin
    enable_prometheus = true
    
    # frp日志配置
    log_file = /var/log/frps.log
    log_level = info
    log_max_days = 3
    

    启动服务

    # 设置开机启动
    $ systemctl enable frps
    # 启动服务
    $ systemctl start frps
    # 查看是否正常运行
    $ systemctl status frps
    

    浏览器中进入frp管理后台(假如你的公网IP为88.11.123.5)

    # 浏览器中输入http://88.11.123.5:7500
    # 账号和密码是上面设置的admin, admin
    

    3. 配置客户端(内网实验室的PC)

    $ cd frp
    $ cp frpc /usr/bin/
    $ cp systemd/frpc.service /lib/systemd/system/
    $ mkdir /etc/frp
    $ cp frpc.ini /etc/frp
    $ vim /etc/frp/frpc.ini
    

    修改内容如下

    # 客户端配置(假如你的公网IP为88.11.123.5)
    [common]
    server_addr = 88.11.123.5
    server_port = 7000 # 与frps.ini的bind_port一致
    token = 52010  # 与frps.ini的token一致
    
    # 配置ssh服务
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000  # 这个自定义,之后在ssh连接的时候要用
    
    # 配置http服务,可用于小程序开发、远程调试等(以下部分选填)
    [web]
    type = http
    local_ip = 127.0.0.1
    local_port = 8080
    subdomain = test.hijk.pw  # web域名
    remote_port = 自定义的远程服务器端口,例如8080
    

    启动服务

    # 设置开机启动
    $ systemctl enable frpc
    # 启动服务
    $ systemctl start frpc
    # 查看是否正常运行
    $ systemctl status frpc
    

    4. 连接测试

    • 前提:在云服务器控制台中的防火墙中开启上面设置的端口7000, 7500, 6000
    • 测试:
    $ ssh labpc@88.11.123.5 -p 6000
    # labpc: 内网实验室的用户名  88.11.123.5:公网ip地址  6000:内网中与服务器建立映射的端口
    
    • 使用:直接使用VS code的Remote SSH可以访问内网中的文件目录,这样写代码很方便

    参考资料:https://blog.csdn.net/weixin_43922901/article/details/109261700

  • 相关阅读:
    [转]Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications
    [转]CIDR简介
    [转]Amazon AWS亚马逊云服务免费一年VPS主机成功申请和使用方法
    [转]SQL Server 连接串关键字别名
    [转]各种符号的英文单词
    【解决】SharePoint 2013 当鼠标悬停在用户名称上时页面会崩溃
    【HOW】如何限制Reporting Services报表导出功能中格式选项
    【解决】“不能手工移动或复制项到放置库”
    【解决】SharePoint 2013 with SP1安装问题及解决
    [转]安装SharePoint 2013时安装AppFabric失败(错误码:1603)
  • 原文地址:https://www.cnblogs.com/libbin/p/frp.html
Copyright © 2011-2022 走看看