fatedier/frp内网穿透详细安装及使用教程

news2024/11/25 12:27:25

《参考地址》
fatedier/frp是一款开源的主要使用Go语言开发的内网穿透工具。主要分为服务端(frps)和客户端(frpc)。
简单理解:服务端(frps)就是部署到公网ip服务器提供给客户端(frpc)调用的,服务端(frps)可以理解为我们微服务当中的注册与服务发现中心,即:Eureka、Nacos、ZooKeeper。客户端(frpc)就是我们需要注册到注册与服务发现中心的SpringBoot项目或者其它项目等。
作用:通过公网IP:PORT调用我们内网的项目、远程桌面、代理服务器、通过代理服务器把数据存储到本地服务器等。
条件:需要一台公网IP的云服务器。

以下命令默认以root用户执行,如果不是root用户,请在前面加sudo再执行命令。

官网地址

《fatedier/frp GitHub官网地址》

公网服务器安装服务端(frps)

《下载对应操作系统的压缩包》
如:centos76位操作系统,则下载:frp_0.51.3_linux_amd64.tar.gz
不确定是多少位操作系统的,用以下命令查看

uname -a

Linux VM-8-4-centos 3.10.0.1.el7.x64 #1 SMP Tue Mar 7 15:41:52 UTC 2023 x64 GNU/Linux

在这里插入图片描述

Linux服务器通过wget命令直接下载

如果Linux服务器下载速度慢,也可以先下载到本地,通过文件上传到Linux服务器。
命令

wget [URL] -P [路径]

创建/data/download并把文件下载到目录下

mkdir -p /data/download
wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz -P /data/download

解压

命令

tar -xvf 文件名.tar -C 目标路径

解压到data目录下并改名位frp

tar -zxvf /data/download/frp_0.51.3_linux_amd64.tar.gz -C /data/
mv /data/download/frp_0.51.3_linux_amd64 /data/frp
cd /data/frp/ && ll

只保留以下几个文件,其它可以删掉。
在这里插入图片描述

修改frps配置文件

vi /data/frp/frps.ini
[common]
# frp监听的端口,默认是7000(无特殊要求可以不改,这个必须开放对应端口。云服务器一般在对应的云控制台开放端口,默认的Linux服务器的防火墙是关闭的,如果有防火墙,那么防火墙也要开放相应的端口。)
bind_port = 7000
# 临时凭证,越复杂越好。推荐使用2个去除-的UUID。
token = UUID

# frp管理后台端口,默认7500(无特殊要求可以不改,这个可以不用开放端口。)
dashboard_port = 7500
# frp管理后台用户名和密码
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true

# frp日志配置
log_file = /var/log/frps.log
# 日志级别
log_level = error
# 日志保存天数
log_max_days = 2

启动frps

因为frps没用后台启动命令,因此我们自己编写一个。

vi /lib/systemd/system/frps.service
[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
#ExecStartf分别对应frps的安装路径和配置文件路径
ExecStart=/data/frp/frps -c /data/frp/frps.ini

[Install]
WantedBy=multi-user.target

启动并设置开机启动

systemctl start frps && systemctl enable frps

停止

systemctl stop frps

重启

systemctl restart frps

查看是否启动成功

systemctl status frps

在这里插入图片描述

如果无法连接到服务端,请检查防火墙是否开启。

Window安装客户端(frpc)

下载前面图片上的Windows压缩包即可。
如:Windows10 64位操作系统,则下载:frp_0.51.3_windows_amd64.zip进行解压。如果下载速度慢,可以使用第三方下载工具,如:迅雷、IDM等。

解压

解压到D:/software/frp,也可以是其它位置。保留frpc相关文件,删除frps相关文件。
在这里插入图片描述

修改frpc配置文件

[common]
# 公网IP地址
server_addr = x.x.x.x
# 默认是7000
server_port = 7000
# 临时凭证(必须跟上面frps服务端token一致)
token = UUID

#自定义客户端服务别名
[springboot]
# 请求类型
type = tcp
#本地ip地址
local_ip = 127.0.0.1
#本地映射端口号
local_port = 8081
#服务端映射端口号(这里只是演示,所以用80,而且80也是默认是开放的。)
remote_port = 80

启动frpc

在frp目录下新建frpc.bat启动脚本
在这里插入图片描述

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
@rem 把cd 后面的frpc路径改成你的路径
cd D:/software/frp
frpc -c frpc.ini
exit

双击frpc.bat启动客户端frpc,然后打开任务管理器查看用户对应的应用列表,看看是否有frpc.exe
在这里插入图片描述

设置开机启动客户端frpc

WIN + R输入

shell:startup

把frpc.bat文件复制到Start Menu\Programs\Startup目录下(注意:不要复制快捷方式!否则可能会无法启动!)
在这里插入图片描述

通过公网IP:代理port访问一个本地启动的Port为8081的SpringBoot项目

在这里插入图片描述
在这里插入图片描述
浏览器访问:公网IP:port/hi
在这里插入图片描述

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

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

相关文章

MySQL中的字符集和排序规则

关键字: 字符集,utf8mb4,emoj 众所周知,mysql的utf8是假的utf8,没法存emoj等字符。要设置为utf8mb4... 问题 同事给了一段Update语句,更新某张表idxxx的某个字段; CREATE TABLE table_name ( id int(11) NOT NULL AUT…

OLED透明屏厚度:引领未来显示技术的革命

OLED透明屏作为一种未来显示技术,其薄度在整个行业中具有重要意义。 在这篇文章中,尼伽将详细介绍OLED透明屏厚度的优势、技术挑战以及应用案例,旨在为读者全面了解OLED透明屏的发展前景。 一、OLED透明屏厚度的优势 OLED透明屏采用柔性基板…

在FPGA上快速搭建以太网

在本文中,我们将介绍如何在FPGA上快速搭建以太网 (LWIP )。为此,我们将使用 MicroBlaze 作为主 CPU 运行其应用程序。 LWIP 是使用裸机设计以太网的良好起点,在此基础上我们可以轻松调整软件应用程序以提供更详细的应用…

zemax多重结构仿真分光板

光路中的分光板需要使用多重结构来仿真 首先做一个倾斜的分光板,然后用多重结构表现两个光路 基础设置: 效果: 设置平板倾斜45度: 1、表面设置为倾斜面 2、y方向正切设置为1 效果: 设置多重结构,这里是…

【100天精通Python】Day56:Python 数据分析_Pandas数据清洗和处理(删除填充插值,数据类型转换,去重,连接与合并)

目录 数据清洗和处理 1.处理缺失值 1.1 删除缺失值: 1.2 填充缺失值: 1.3 插值: 2 数据类型转换 2.1 数据类型转换 2.2 日期和时间的转换: 2.3 分类数据的转换: 2.4 自定义数据类型的转换: 3 数…

数学分析:势场

首先从散度的物理解释开始。首先,在球内的向量场的散度的积分,等于它在球边界上的流量的积分。所以根据积分中值定理,我们可以这么理解散度,它就是这个体积内的速度场的平均密度。而速度场只和源有关,所以它表示的某个…

Prometheus+Grafana 搭建应用监控系统

一、背景 完善的监控系统可以提高应用的可用性和可靠性,在提供更优质服务的前提下,降低运维的投入和工作量,为用户带来更多的商业利益和客户体验。下面就带大家彻底搞懂监控系统,使用Prometheus Grafana搭建完整的应用监控系统。 …

Leetcode---361周赛

题目列表 2843. 统计对称整数的数目 2844. 生成特殊数字的最少操作 2845. 统计趣味子数组的数目 2846. 边权重均等查询 一、统计对称整数的数目 这题看一眼数据范围,直接就可以开始暴力求解了,按照题目要求模拟就行,代码如下 class Solu…

使用纯C语言定义通用型数据结构的方法和示例

文章目录 前言以实现优先队列来描述实现思想基本类型的包装类型比较函数演示总结 前言 最近一段时间在复习数据结构和算法,用的C语言,不得不说,不学个高级语言再回头看C语言根本不知道C语言的强大和完美,不过相比之下也有许多不便…

Linux内核分析与应用

Linux 内核分析与应用[1] 蜻蜓点水,可作抛砖引玉 1.概述 用到的几个命令: insmod dmesg[2] lsmod[3] 章节测试: 部分可参考[4] <1>. Linux得以流行&#xff0c;是因为遵循了GPL协议&#xff0c;并不是因为遵循POSIX标准 (错) linux操作系统概述[5] linux概述[6] <2>…

建站系列(三)--- 网络协议

目录 相关系列文章前言一、定义二、术语简介三、协议的组成要素四、网络层次划分五、常见网络协议划分六、常用协议介绍&#xff08;一&#xff09;TCP/IP&#xff08;二&#xff09;HTTP协议&#xff08;超文本传输协议&#xff09;&#xff08;三&#xff09;SSH协议 相关系列…

robotframework 获取当前时间

1、获取年月日时分秒格式的数据 命令&#xff1a;${time} Get Current Date result_format%Y%m%d%H%M%S 日期时间显示结果显示形式&#xff1a;20230908102553 2、获取时间戳形式的数据 命令&#xff1a; ${time} Get Current Date result_formattimestamp …

私有gitlab的搭建和配置教程

文章目录 1. 说明2. 安装操作2.1 依赖项2.2 gitlab-ce2.3 简要配置2.4 网页操作2.5 中文配置2.6 其他操作 3. 配置https3.1 配置证书3.2 url配置3.3 网页访问3.4 认证错误 4. ssh操作4.1 生成文件4.2 web配置4.3 额外操作 1. 说明 此教程基于Ubuntu22.04进行阐述&#xff0c;只…

# Spring MVC与RESTful API:如何设计高效的Web接口

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

【MySQL】详解聚合查询、多表查询

MySQL 增删查改&#xff08;进阶&#xff09; 文章目录 MySQL 增删查改&#xff08;进阶&#xff09;01 表的设计表的三大范式 02 查询操作进阶新增聚合查询countsumavgmaxmin 分组查询 GROUP BYHAVING 联合查询/多表查询关键思路引入内连接外连接左外连接&#xff1a;left joi…

WAMP服务器对python进行配置

WAMP服务器中安装python WAMP服务器中安装python 步骤 D:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf // 打开找到Wamp安装目录下&#xff0c;apache的配置文件 将该配置文件备份一份 LoadModule cgi_module modules/mod_cgi.so // 找到配置文件中该行&#xff0c;把行前面…

探索OLED透明屏触摸技术:创新引领智能生活的未来

OLED透明屏触摸技术作为一项创新技术&#xff0c;正在引领智能生活的未来。’ 通过将透明屏和触摸技术相结合&#xff0c;OLED透明屏触摸设备不仅具备了OLED显示屏的优势&#xff0c;还具备了触摸操作的便利性&#xff0c; 在这里&#xff0c;尼伽将介绍OLED透明屏触摸技术的…

Linux教程||Linux 系统启动过程

Linux 系统启动过程 linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂&#xff0c;其过程可以分为5个阶段&#xff1a; 内核的引导。运行init。系统初始化。建立终端 。用户登录系统。 内核引导 当计算机打开电源后&#xff0c;首先是B…

Apache Hive之数据查询

文章目录 版权声明数据查询环境准备基本查询准备数据select基础查询分组、聚合JOINRLIKE正则匹配UNION联合Sampling采用Virtual Columns虚拟列 版权声明 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明&#xff0c;所有版权属于黑马程序员或相关权利…

Linux指令二【进程,权限,文件】

进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程&#xff0c;是操作系统进行 资源分配和调度的一个独立单位&#xff0c;是应用程序运行的载体。 一、进程基本指令 1.ps&#xff1a;当前的用户进程 ps 只显示隶属于自己的进程状态ps -aux 显示所有进程…