FRP远程连接

前言

通过frp和跳板机完成局域网服务器访问。工具地址:https://github.com/fatedier/frp

在这里插入图片描述

配置frp过程

  1. 下载frp工具,下载地址如下:

    https://github.com/fatedier/frp/releases

    这里我选择了v0.57.0

  2. 解压到本地路径

    tar -zxvf xxxxxx.tar.gz
    
  3. 配置服务器端和客户端,这里直接从官网copy过来一份:

    # 1. Modify frps.toml on server A by setting the bindPort for frp clients to connect to:
    # frps.toml
    bindPort = 7000# 2. Start frps on server A:
    ./frps -c ./frps.toml# 3. Modify frpc.toml on server B and set the serverAddr field to the public IP address of your frps server:
    # frpc.toml
    serverAddr = "x.x.x.x"
    serverPort = 7000[[proxies]]
    name = "ssh"
    type = "tcp"
    localIP = "127.0.0.1"
    localPort = 22
    remotePort = 6000
    # Note that the localPort (listened on the client) and remotePort (exposed on the server) are used for traffic going in and out of the frp system, while the serverPort is used for communication between frps and frpc.# 4. Start frpc on server B:
    ./frpc -c ./frpc.toml# 5. To access server B from another machine through server A via SSH (assuming the username is test), use the following command:
    ssh -oPort=6000 test@x.x.x.x
    
  4. 配置云服务器的安全组端口入站和出站规则,具体查阅网上资料吧

更多信息见官网:https://github.com/fatedier/frp

设置frpc开机自启

  1. 添加systemd配置文件

    vim /usr/lib/systemd/system/frp.service
    
  2. 添加如下内容:

    [Unit]
    Description=The nginx HTTP and reverse proxy server
    After=network.target[Service]
    Type=simple
    Restart=on-failure
    RestartSec=5s
    ExecStart=/opt/frp_0.57.0_linux_amd64/frpc -c /opt/frp_0.57.0_linux_amd64/frpc.toml # 这里根据实际情况修改
    ExecReload=/opt/frp_0.57.0_linux_amd64/frpc reload -c /opt/frp_0.57.0_linux_amd64/frpc.toml # 根据实际情况修改
    KillSignal=SIGQUIT
    TimeoutStopSec=5
    KillMode=process
    PrivateTmp=true
    StandardOutput=syslog
    StandardError=inherit[Install]
    WantedBy=multi-user.target
    
  3. 设置开机启动

    systemctl daemon-reload
    systemctl enable frp
    
  4. 手动启动

    systemctl start frp
    

常见问题

记录了我自己在安装过程中遇到的问题,如下:

问题: Connection closed by remote host
解决

sudo apt update && sudo apt upgrade && sudo apt install openssh-server
参考: https://github.com/fatedier/frp/issues/2064

问题:Host key verification failed.
解决:

删除本地的know_host
参考:https://blog.csdn.net/Doitm/article/details/127907684

参考资料

  1. frp设置开机自启服务
  2. frp开机启动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/2534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python爬虫学习第二十八天-------了解scrapy(二十八天)

🎈🎈作者主页: 喔的嘛呀🎈🎈 🎈🎈所属专栏:python爬虫学习🎈🎈 ✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天…

接口测试和Mock学习路线(中)

1.什么是 swagger Swagger 是一个用于生成、描述和调用 RESTful 接口的 WEB 服务。 通俗的来讲,Swagger 就是将项目中所有想要暴露的接口展现在页面上,并且可以进行接口调用和测试的服务。 现在大部分的项目都使用了 swagger,因为这样后端…

有哪些强化学习的算法以及它们的原理及优缺点

强化学习是一种机器学习方法,其目标是设计智能体(agent),使其能够通过与环境的交互学习最优的行为策略。下面将介绍几种主要的强化学习算法,包括Q-Learning、Deep Q-Network(DQN)、Policy Gradi…

C语言如何进⾏指针运算?

一、问题 普通变量可以运算,那么指针可以吗?答案是肯定的。那么如何运算呢,下⾯就来介绍⼀下。 二、解答 我们知道可以利⽤指针⽅便地对数组元素进⾏⽐较和查找,那么这就需要对指针进⾏运算。 (1)⾃增/⾃…

fakak详解(2)

Kafka和Flume整合 Kafka与flume整合流程 Kafka整合flume流程图 flume主要是做日志数据(离线或实时)地采集。 图-21 数据处理 图-21显示的是flume采集完毕数据之后,进行的离线处理和实时处理两条业务线,现在再来学习flume和kafka的整合处理。 配置fl…

微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

redis单线程模型

工作原理 在Redis中,当两个客户端同时发送相同的请求时,Redis采用单线程模型来处理所有的客户端请求,会依次处理这些请求,每个请求都会按照先后顺序被执行,不会同时处理多个请求。使得Redis能够避免多线程并发访问数据…

大语言模型应用指南:以ChatGPT为起点,从入门到精通的AI实践教程

目录 前言ChatGPT问世和发展展望未来大语言模型应用指南 特点大语言模型应用指南 主要内容 前言 在20世纪末和21世纪初,人类经历了两次信息革命的浪潮。 第一次是互联网时代的兴起,将世界各地连接在一起,改变了人们获取信息和交流的方式。 …

Nobe.js的安装与配置

1. **下载**:访问Node.js官网,选择适合自己操作系统的安装包进行下载。 2. **安装**:双击下载好的安装包并按照提示进行安装。在安装过程中,可以选择自定义安装路径,并确保勾选接受许可协议。 3. **环境变量配置**&…

函数式接口及Stream流式计算

一、什么是函数式接口 只有一个方法的接口,例如 FunctionalInterface public interface Runnable { public abstract void run(); }二、Function函数式接口:有一个输入参数,有一个输出 三、断定型接口:有一个输入参数&#xf…

YOLO如何入门?

入门 YOLO 目标检测算法,你可以遵循以下步骤: 1. 理解目标检测的基本概念:了解目标检测在计算机视觉中的作用,以及它如何帮助识别和定位图像中的对象。 2. 学习基础的机器学习和深度学习知识:熟悉基础的机器学习算法…

使用rsync建立MySQL从节点

使用场景:MySQL主节点存储较大,使用xtrabackup会遇到异常的情况 前置条件:node-01 与 node-02 做过ssh互信,rsync客户端均已安装,主节点开启binlog node-01 原主节点,数据存放目录为 /var/lib/mysql node-0…

Bin-什么是wafer sorting及相关方案

在半导体行业中,"wafer分bin"(或称为wafer sorting)是指根据晶圆上的芯片在测试过程中的性能参数,将它们分类到不同的性能等级或"bin"中。这个过程对于确保最终产品的性能和质量至关重要。以下是wafer分bin业务的介绍和相关方案: 01、业务介绍: 1. …

语音驱动AI人脸动画

目录 audio2face FaceFormer 语音驱动 3D人脸动画 MODA 基于人脸关键点的语音驱动单张图数字人生成(ICCV2023) sadTalker 从音频中生成3DMM的头部姿势和表情 Media2Face 还没开源 audio2face https://github.com/FACEGOOD/FACEGOOD-Audio2Face/tr…

《ElementPlus 与 ElementUI 差异集合》el-select 显示下拉列表在 Cesium 场景中无法监听关闭

前言 仅在 Element UI 时有此问题,Element Plus 由于内部结构差异较大,不存在此问题。详见《el-select 差异点,如:高、宽、body插入等》; 问题 点击空白处,下拉列表可监听并关闭;但在 Cesium…

【js】解决自动生成颜色时相邻颜色视觉相似问题的技术方案

解决自动生成颜色时相邻颜色视觉相似问题的技术方案 在进行大规模颜色生成时,特别是在数据可视化、用户界面设计等应用领域,一个常见的挑战是确保相邻颜色在视觉上具有足够的区分度。本文介绍的方法通过结合黄金分割比与饱和度、亮度的周期性变化&#…

数据分析_时间维度对比及变化可视化分析(Pandas和Matplotlib)

数据分析_时间维度对比及变化可视化分析(Pandas和Matplotlib) 分析维度包括: 各年度合计销量 各年度合计销售额 各年度平均每公斤销售额 各月度销量对比 各月度销售额变化 构建测试数据 这里你可以了解到: 如何生成时间相关的数据。 如何从列表(可迭代对象…

Linux多进程(二)进程通信方式一 管道

管道的是进程间通信(IPC - InterProcess Communication)的一种方式,管道的本质其实就是内核中的一块内存(或者叫内核缓冲区),这块缓冲区中的数据存储在一个环形队列中,因为管道在内核里边,因此我们不能直接…

Vue 双向绑定、diff和nextTick原理

前言 什么是虚拟dom virtual DOM 虚拟DOM,用普通js对象来描述DOM结构,因为不是真实DOM,所以称之为虚拟DOM。 虚拟 dom 是相对于浏览器所渲染出来的真实 dom而言的,在react,vue等技术出现之前,我们要改变页面…

LabVIEW专栏八、类

该章目的是可以开发仪器类。 一、类的概述 一般来说类有三大特性,封装,继承和多态。 在实际项目中,最主要是继承和多态,要搞清楚这两者的概念和在LabVIEW中是怎样应用的。在LabVIEW中,面向对象编程用到的就是LabVIE…