frp内网穿透部署及使用

frp是什么

frp 是一款开源的高性能的反向代理应用,专注于内网穿透,它采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。
在此基础上,frp 支持 TCP、UDP、HTTP、HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。
详细信息可以参考官网:https://gofrp.org/zh-cn/
github地址:https://github.com/fatedier/frp

ftp部署配置

上面提到ftp是采用 C/S 模式,所以这里需要分别部署服务端和客户端使用,ftp的服务端叫做ftps,客户端叫做frpc,这里使用的是目前的最新版本,老版本的配置文件可能是ini结尾的,新版都是toml

fprs部署

frps是frp的服务端,通常是部署在具有公网IP的服务器上,作为端口转发的中转站,这里介绍三种部署方式:docker部署、安装包部署、软路由插件

docker部署

有docker环境的情况下个人比较喜欢docker部署比较简单,一行命令部署完成

docker run --restart=always --network host -d \
-v /etc/frp/frps.toml:/etc/frp/frps.toml \
--name frps snowdreamtech/frps

其中把服务端配置文件/etc/frp/frps.toml映射到宿主机,方便后续修改

安装包部署

安装包的话可以去github上下载(https://github.com/fatedier/frp/releases),根据你的环境不同下载不同的安装包,比如x86架构的linux安装包frp_0.61.1_linux_amd64.tar.gz
下载后放到服务器上的/opt文件夹下解压,里面有4个文件分别是服务端和客户端的配置文件及命令,要启动服务端直接运行./frps -c ./frps.toml即可

软路由插件

如果你在用软路由一般会有软路由插件就叫frps
在这里插入图片描述

配置文件

这里给一个实例的配置文件

# 服务端绑定的地址及端口
bindAddr = "0.0.0.0"
bindPort = 7000
# web控制台的地址和端口
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "root"
webServer.password = "xxxxxxx"
enablePrometheus = true# console or real logFile path like ./frps.log,日志相关
log.to = "./frps.log"
# trace, debug, info, warn, error
log.level = "info"
log.maxDays = 3
# disable log colors when log.to is console, default is false
log.disablePrintColor = false
# auth token,最好配置一个用于客户端连接时鉴权
auth.token = "xxxxxxxxxxxxxxxxxxxxxx"# 允许代理绑定的服务端端口. 不填不限制.
allowPorts = [{ start = 2000, end = 3000 },{ single = 3001 },{ single = 3003 },{ start = 4000, end = 50000 }
]

还有很多其他的配置参数,具体请参考官方文档服务端配置说明

frpc部署

frpc是frp的客户端,通常是部署在内网的机器上,暴露端口给服务端,让其帮忙转发暴露的端口,这里介绍三种部署方式:docker部署、安装包部署、软路由插件

docker部署

docker run --restart=always --network host -d \
-v /etc/frp/frpc.toml:/etc/frp/frpc.toml \
--name frpc snowdreamtech/frpc

安装包部署

跟上面的服务端安装包在一起,根据你的环境不同下载不同的安装包,比如x86架构的linux安装包frp_0.61.1_linux_amd64.tar.gz
解压后直接运行./frpc -c ./frpc.toml即可

软路由插件

插件名称叫Frp 内网穿透

配置文件

这里给一个实例的配置文件

# 服务端的地址及端口
serverAddr = "xxxxxxx"
serverPort = 7000# STUN server to help penetrate NAT hole.
# natHoleStunServer = "stun.easyvoip.com:3478"# console or real logFile path like ./frpc.log,日志相关
log.to = "./frpc.log"
# trace, debug, info, warn, error
log.level = "info"
log.maxDays = 3
# disable log colors when log.to is console, default is false
log.disablePrintColor = false# auth token,填客户端
auth.token = "xxxxxxxxxxxxx"# 客户端的web管理页面配置
webServer.addr = "0.0.0.0"
webServer.port = 7400
webServer.user = "root"
webServer.password = "xxxxxxx"# 以下的proxies配置每个代表一个本地端口的映射
[[proxies]]
# 名字必填
name = "ssh"
# 代理类型,可选值为 tcp, udp, http, https, tcpmux, stcp, sudp, xtcp
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
# frps服务端监听的远程端口
remotePort = 2288

还有很多其他的配置参数,具体请参考官方文档客户端配置说明

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

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

相关文章

基于MATLAB的图像增强

目录 一、背景及意义介绍背景图像采集过程中的局限性 意义 二、概述三、代码结构及说明(一)整体结构(二)亮度增强部分(三)对比度增强部分(四)锐度增强部分 四、复现步骤(…

本地部署webrtc应用怎么把http协议改成https协议?

环境: WSL2 Ubuntu22.04 webrtc视频聊天应用 问题描述: 本地部署webrtc应用怎么把http协议改成https协议? http协议在安卓手机浏览器上用不了麦克风本,来地应用webrtc 本来是http协议,在安卓手机上浏览器不支持使…

重撸设计模式--代理模式

文章目录 定义UML图代理模式主要有以下几种常见类型:代理模式涉及的主要角色有:C 代码示例 定义 代理模式(Proxy Pattern)属于结构型设计模式,它为其他对象提供一种代理以控制对这个对象的访问。 通过引入代理对象&am…

重拾设计模式--组合模式

文章目录 1 、组合模式(Composite Pattern)概述2. 组合模式的结构3. C 代码示例4. C示例代码25 .应用场景 1 、组合模式(Composite Pattern)概述 定义:组合模式是一种结构型设计模式,它允许你将对象组合成…

全志H618 Android12修改doucmentsui功能菜单项

背景: 由于当前的文件管理器在我们的产品定义当中,某些界面有改动的需求,所以需要在Android12 rom中进行定制以符合当前产品定义。 需求: 在进入File文件管理器后,查看...功能菜单时,有不需要的功能菜单,需要隐藏,如:新建窗口、不显示的文件夹、故代码分析以及客制…

Mapbox-GL 的源码解读的一般步骤

Mapbox-GL 是一个非常优秀的二三维地理引擎,随着智能驾驶时代的到来,应用也会越来越广泛,关于mapbox-gl和其他地理引擎的详细对比(比如CesiumJS),后续有时间会加更。地理首先理解 Mapbox-GL 的源码是一项复…

移动网络(2,3,4,5G)设备TCP通讯调试方法

背景: 当设备是移动网络设备连接云平台的时候,如果服务器没有收到网络数据,移动物联设备发送不知道有没有有丢失数据的时候,需要一个抓取设备出来的数据和服务器下发的数据的方法。 1.服务器系统是很成熟的,一般是linu…

jmeter中的prev对象

在jmeter中通过beanshell、JSR223的各种处理器编写脚本时,都会看到页面上有这样的说明 这些ctx、vars、props、OUT、sampler、prev等等都是可以直接在脚本中使用的对象,由jmeter抛出 今天主要讲一下prev的使用 SampleResult prev jmctx.getPreviousRe…

异步BUCK二极管损耗计算

异步BUCK工作原理 Q闭合时(Ton),输入电压Vin为电感L和输出电容Cout充电,同时为负载供电;Q断开时(Toff),电感L为负载供电,电流通过续流二极管D回流到电感L; 之…

跨站脚本攻击的多种方式——以XSS-Labs为例二十关详解解题思路

一、XSS-Labs靶场环境搭建 1.1、XSS介绍 跨站脚本攻击(XSS)_跨站脚本测试-CSDN博客https://coffeemilk.blog.csdn.net/article/details/142266454 1.2、XSS-Labs XSS-Labs是一个学习XSS攻击手法的靶场,方便我们系统性的学习掌握跨站脚本攻击…

html+css网页设计 美食 蛋糕美食7个页面

htmlcss网页设计 美食 蛋糕美食7个页面 网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&#xf…

html+css网页设计 美食 爱美食1个页面

htmlcss网页设计 美食 爱美食1个页面 网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&#xff0…

机器学习探索之旅:开启智能预测的新篇章!!! 笔记 ! ! !)

目录 一 . 机器学习基础: 1. 什么是机器学习: Langley(1996)的定义: Tom Mitchell(1997)的定义: 冷雨泉(等)的观点: 2. 机器学习与人工智能…

aioice里面candidate固定UDP端口测试

环境: aioice0.9.0 问题描述: aioice里面candidate固定UDP端口测试 解决方案: /miniconda3/envs/nerfstream/lib/python3.10/site-packages/aioice import hashlib import ipaddress import random from typing import Optional import…

Ubuntu上如何部署Nginx?

环境: Unbuntu 22.04 问题描述: Ubuntu上如何部署Nginx? 解决方案: 在Ubuntu上部署Nginx是一个相对简单的过程,以下是详细的步骤指南。我们将涵盖安装Nginx、启动服务、配置防火墙以及验证安装是否成功。 1. 更新…

【工具变量】中国数字经济发展水平面板数据DID(2012-2022)

数据来源:《中国统计年鉴》、国家统计局 时间跨度:2012-2022年 数据范围:中国各省 包含指标: 1. 地区 2. id 3. 年份 4. 互联网域名数 5. 互联网接入端口数 6. 互联网宽带接入用户数 7. 移动基站密度 8. 移动电…

SEO初学者-搜索引擎如何工作

搜索引擎基础搜索引擎是如何建立索引的搜索引擎如何对网页进行排名搜索引擎是如何个性化搜索结果的 搜索引擎的工作方式是使用网络爬虫抓取数十亿个页面。爬虫也称为蜘蛛或机器人,它们在网络上导航并跟踪链接以查找新页面。然后,这些页面会被添加到搜索引…

如何从零开始搭建公司自动化测试框架

题主的意思,搭建的自动化测试框架要包括API测试,UI测试,APP测试三类。以上三类其实可以简化为两类,那就是: 1)接口自动化测试框架搭建 2)UI自动化测试框架搭建。 没问题,安排&#x…

基于java web在线商城购物系统源码+论文

一、环境信息 开发语言:JAVA JDK版本:JDK8及以上 数据库:MySql5.6及以上 Maven版本:任意版本 操作系统:Windows、macOS 开发工具:Idea、Eclipse、MyEclipse 开发框架:SpringbootHTMLjQueryMysq…

光谱相机在农业的应用

一、作物生长监测1、营养状况评估 原理:不同的营养元素在植物体内的含量变化会导致植物叶片或其他组织的光谱反射率特性发生改变。例如,氮元素是植物叶绿素的重要组成部分,植物缺氮时,叶绿素含量下降,其在可见光波段&a…