Linux安装frp实现内网穿透

Linux运维工具-ywtool

目录

  • 一. 简介
  • 二.代理类型
  • 三.frp支持的Linux的架构
  • 四.安装
    • 1.准备工作
    • 2.配置frp服务器端
      • (a)下载安装包
      • (b)解压安装包
      • (c)修改配置文件
      • (d)启动服务端
    • 3.配置frp客户端
      • (a)下载安装包并修改配置文件
      • (b)启动客户端
    • 4.测试连接
  • 五.其他
    • 1.多端口穿透
      • (a)服务端
      • (b)客户端
    • 2.报错:无法执行二进制文件


一. 简介

frp是一款开源、简用、高性能内网穿透和反向代理神器,采用Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖,支持TCP、UDP、HTTP、HTTPS等协议,使用丝滑流畅,通过在具有公网IP的节点上部署frp服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性

支持P2P穿透(搭建最少需要一台服务端两台客户端),使用的协议为XTCP,仅少量占用服务器带宽,占用的带宽可忽略不计,不管是远程桌面操控还是传输大文件,都是一大利器。

二.代理类型

frp支持多种代理类型来适配不同的使用场景

  1. TCP:单纯的 TCP 端口映射,服务端会根据不同的端口路由到不同的内网服务
  2. UDP:单纯的 UDP 端口映射,服务端会根据不同的端口路由到不同的内网服务
  3. HTTP:针对 HTTP 应用定制了一些额外的功能,例如修改 Host Header,增加鉴权
  4. HTTPS:针对 HTTPS 应用定制了一些额外的功能
  5. STCP:安全的 TCP 内网代理,需要在被访问者和访问者的机器上都部署frpc,不需要在服务端暴露端口
  6. SUDP:安全的 UDP 内网代理,需要在被访问者和访问者的机器上都部署frpc,不需要在服务端暴露端口
  7. XTCP:点对点内网穿透代理,功能同STCP,但是流量不需要经过服务器中转
  8. TCPMUX:支持服务端 TCP 端口的多路复用,通过同一个端口访问不同的内网服务

三.frp支持的Linux的架构

386X86架构
amd64amd架构
armarm架构
arm6464位arm架构
mipsmips架构
mips6464位mips架构
mipslemipsle架构
mips64le64位mipsle架构

四.安装

1.准备工作

(1)拥有一台有公网IP的服务器(系统可以是windows/macos/linux),服务器可以使用云厂商购买的服务器
(2)从下面链接下载最新版本的frp安装包,客户端和服务端是同一个tar包
https://github.com/fatedier/frp/releases
在这里插入图片描述

2.配置frp服务器端

(a)下载安装包

wget https://github.com/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_linux_amd64.tar.gz

在这里插入图片描述

(b)解压安装包

tar -zxvf frp_0.58.1_linux_amd64.tar.gz

在这里插入图片描述

©修改配置文件

cd frp_0.58.1_linux_amd64/
vim frps.toml
#或vim frps.ini

#bindPort = 7000
[common]
bind_port = 7000
#frp服务端口,frpc的配置会调用
dashboard_user = admin
#frp的web控制台端口账号
dashboard_pwd = admin
#frp的web控制台端口密码
dashboard_port = 7500
#frp的web控制台端口

admin_password = admin
#设置密码验证

在这里插入图片描述

(d)启动服务端

./frps -c ./frps.toml
#如果后台启动
#nohub frps -c frps.toml frp.log 2>&1 &
#nohup /root/frp/frps -c /root/frp/frps.toml >/root/frp/frp.log 2>&1 &
#tail -f frp.log

在这里插入图片描述

3.配置frp客户端

(a)下载安装包并修改配置文件

wget https://github.com/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_linux_amd64.tar.gz
tar -zxvf frp_0.58.1_linux_amd64.tar.gz
cd frp_0.58.1_linux_amd64/
vim frpc.toml
#这里以SSH服务为例,将本地的22端口映射到云服务器的6000端口

serverAddr = "公网IP"
serverPort = 7000

[[proxies]]
#上面这条不能修改,不然会报错
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

在这里插入图片描述

(b)启动客户端

#Linux启动
./frpc -c ./frps.toml
#windows启动
frpc.exe -c frps.toml

在这里插入图片描述

4.测试连接

ssh root@公网IP -p 6000

在这里插入图片描述

五.其他

1.多端口穿透

(a)服务端

vim frps.ini配
#修改frps.ini配置文件
[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin

[tcp_22]
#链接的名称
type = tcp
#代理的连接类型
local_port = 6000
#本地映射的端口
listen_port = 22
#监听的端口

[tcp_9000]
type = tcp
local_port = 9000
listen_port = 9000

(b)客户端

公网IP:6000=内网IP:22
公网IP:9000=内网IP:9000

vim frps.ini配
#修改frps.ini配置文件
[common] 
server_addr = 服务器公网IP 
server_port = 7000

[tcp_22]
type = tcp
local_ip = 127.0.0.1
#代理IP
local_port = 22
#代理端口
remote_port = 6000
#代理映射端口

[tcp_9000]
type = tcp
local_ip = 127.0.0.1
local_port = 9000
remote_port = 9000

2.报错:无法执行二进制文件

原因:下载的frp安装包的系统架构和安装环境的系统架构不匹配,系统是x86_64的,下载成arm64的安装包了
在这里插入图片描述

End

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

wireshark工具获取设备IP地址

背景: 一个网口抓包工具,主要是升级XX设备时候不知道网口的ip地址。每次需要一个一个试,比较麻烦。 使用步骤: 1、连接好XX设备与笔记本,在网络连接里面找到以太网,没有出现红色X号,表示网线连…

【道合顺展会预告】2024国际传感器仪器仪表物联网长沙展览会!

传感器技术作为万物互联的基石,正以前所未有的速度驱动着全球各行各业的转型升级。在此背景下,2024国际传感器&仪器仪表&物联网展览会将于6月28日至30日在长沙盛大启幕,道合顺传感将携公司最新技术及科研成果参加展览会,并…

数据库自动备份到gitee上,实现数据自动化备份

本人有个不太好的习惯,每次项目的数据库都是在线上创建,Navicat 连接线上数据库进行处理,最近有一个项目需要二次升级,发现老项目部署的服务器到期了,完蛋,数据库咩了!!!…

开源模型应用落地-FastAPI-助力模型交互-WebSocket篇(一)

一、前言 使用 FastAPI 可以帮助我们更简单高效地部署 AI 交互业务。FastAPI 提供了快速构建 API 的能力,开发者可以轻松地定义模型需要的输入和输出格式,并编写好相应的业务逻辑。 FastAPI 的异步高性能架构,可以有效支持大量并发的预测请求,为用户提供流畅的交互体验。此外,F…

在Qt中,直接include <moc_xxxxx.cpp> 为什么不会出现符号冲突的错误?

在逛Qt官方社区的时候看到这样一个帖子: https://forum.qt.io/topic/117973/how-does-include-moc_-cpp-work 大概的意思是moc_xxx.cpp如果已经被编译器编译,那么在另一个cpp文件中include同一个moc_xxx.cpp应该出现符号冲突才对,但是Qt却能正…

关于如何更好管理好数据库的一点思考

本文尝试从数据库设计理论、ER图简介、性能优化、避免过度设计及权限管理方面进行思考阐述。 一、数据库范式 以下通过详细的示例说明数据库范式的概念,将逐步规范化一个例子,逐级说明每个范式的要求和变换过程。 示例:学生课程登记系统 初始…

提效优化:企业IT人员视角下的SD-WAN经验分享

我是公司IT支持人员,主要职责是确保公司的网络系统运行顺畅,让同事们能够顺利地完成他们的工作。随着公司业务的扩展和远程办公的普及,我工作中面临的挑战也日益严峻。 永无止境的问题流是我们IT人员日常工作中最为常见的现象。从“网络怎么这…

Spring Boot启动报错Lombok supports: sun/apple javac 1.6, ECJ

版本 idea 2023.3.4 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.32</version></dependency> 解决方式 File->Settings->Build, Execution, Deployment->Com…

录音转文字app哪个最好?5款实用的录音转文字软件下载

随着录音记录的普及&#xff0c;录音转文字功能已成为日常工作和学习中不可或缺的助手。 无论是会议记录、课堂笔记还是采访录音&#xff0c;这项技术都能快速、准确地将语音内容转换为文字。面对市场上众多的转文字软件&#xff0c;你知道录音转文字app哪个最好吗&#xff1f…

H5实现第三方分享功能,(WhatsApp,Facebook,Messenger,Instagram,Telegram,Zalo,Twitter/X)

1. H5实现第三方分享功能 1. WhatsApp 分享 https://api.whatsapp.com/send/?phone&app_absent0&text${codeUrl}2. Facebook 分享 https://www.facebook.com/sharer/sharer.php?u${codeUrl}3. Messenger 分享 https://www.messenger.com/?${codeUrl}4. Instagra…

Redis集群-计算key的插槽值等命令

文章目录 1、集群方式登录主机63792、计算key应该保存在那个插槽3、计算某个插槽中保存的key的数量4、返回指定槽中的键 1、集群方式登录主机6379 [rootlocalhost redis]# /usr/local/redis/bin/redis-cli -c -h 192.168.74.148 -p 6379 192.168.74.148:6379> keys * 1) &q…

2024年麒麟操作系统运维工程师(KYCP)培训介绍(培训费用+培训方式)

麒麟操作系统运维工程师&#xff08;KYCP&#xff09;培训是一个专注于提升学员在麒麟操作系统运维技能方面的综合性课程。以下是关于该培训课程的清晰概述&#xff1a; 1. 培训课程概述 内容涵盖&#xff1a;安全管理、日志管理、系统监控、服务部署等多个方面的知识内容。目…

Qt-Advanced-Docking-System示例程序

写了一些简单的示例程序&#xff0c;帮助我更好地使用和了解Qt-Advanced-Docking-System 1.写一个如图页面布局的程序 m_pDockMangernew ads::CDockManager(this);this->setCentralWidget(m_pDockManger);ads::CDockWidget* centerDockWidgetnew ads::CDockWidget("中…

麦克风哪个品牌音质最好,领夹麦克风十大品牌排行榜

​随着科技的不断进步&#xff0c;无线领夹麦克风在各类场合都展现出强大实力。无论是直播、采访还是教学&#xff0c;无线领夹麦克风都成为媒体人创作的重要工具。对于追求作品质量的媒体人来说&#xff0c;选择一款性能优异、价格合理的无线领夹麦克风至关重要。因此&#xf…

中小学校共用电脑通过安当SLA产品配置实现开机控制

中小学校公用电脑实现电脑开机控制的必要性主要体现在以下几个方面&#xff1a; 1. 增强安全性&#xff1a; 公用电脑由于使用频繁&#xff0c;容易被未经授权的用户访问&#xff0c;可能存在数据泄露或恶意软件植入的风险。通过实现电脑开机控制&#xff0c;学校可以确保只有…

如何利用自助式商业智能(BI)打破组织中的数据孤岛?

前言 许多组织都存在数据问题。当许多员工远程工作&#xff08;或在混合环境中&#xff09;并在多个位置使用多个设备访问公司数据时&#xff0c;他们正在处理信息过载问题。这只会加剧数据孤岛的问题。 数据孤岛正是它听起来的样子&#xff1a;孤立在一个孤立的用户/环境中的…

2024年无线领夹麦克风选购指南,领夹麦克风哪个品牌好

"领夹麦克风"这个名词对于大多数人可能还比较陌生&#xff0c;但在互联网专业人士和短视频制作者的世界里&#xff0c;它却是一个不可或缺的工具。如果你有志于成为短视频领域的创作者&#xff0c;或者想要参与视频拍摄、直播等多媒体内容的制作&#xff0c;那么了解…

如何选择和优化谷歌外贸关键词?

长尾关键词是关键&#xff0c;长尾关键词是指由三个或更多词组成的更具体、更详细的搜索词组。与单个关键词相比&#xff0c;长尾关键词虽然搜索量较低&#xff0c;但往往能带来更高的转化率&#xff0c;因为它们更能精准地反映用户的搜索意图和需求 使用长尾关键词有几个优势…

Go语言之控制结构

个人网站&#xff1a; http://hardyfish.top/ 免费书籍分享&#xff1a; 资料链接&#xff1a;https://url81.ctfile.com/d/57345181-61545511-81795b?p3899 访问密码&#xff1a;3899 免费专栏分享&#xff1a; 资料链接&#xff1a;https://url81.ctfile.com/d/57345181-6…

原生js实现图片预览控件,支持丝滑拖拽,滚轮放缩,放缩聚焦

手撸源代码如下&#xff1a;注释应该很详细了&#xff0c;拿去直用 可以放到在线编辑器测试&#xff0c;记得修改图片路径 菜鸟教程在线编辑器 <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" conten…