frp 内网穿透 linux部署版

frp 内网穿透 linux部署版

    • 前提
    • 安装 frp
    • 阿里云服务器配置
    • 测试服务器配置
    • 访问公网

前提

使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过访问公网 IP 直接可以访问到内网的测试环境。准备如下:

  • 公网 IP
  • 已部署好的测试服务 IP:端口号
  • 阿里云服务器

安装 frp

下载:https://github.com/fatedier/frp/releases
在这里插入图片描述
将 frp_0.54.0_linux_amd64.tar.gz 分别上传到【阿里云服务器】和【测试服务器】。分别解压:

tar -zxvf frp_0.54.0_linux_amd64.tar.gz

【阿里云服务器】只需要这2个文件

  • frps
  • frps.toml

【测试服务器】只需要这2个文件

  • frpc
  • frpc.toml

阿里云服务器配置

  1. 配置参数
    vim frps.toml
# frp监听的端口,默认是7000,可修改
#bindAddr = ""
bindPort = 7000

# 开启Dashboard用于管理和查看服务状态。Dashboard端口、用户名和密码,请改成更复杂的。
webServer.addr = "" # 0.0.0.0代表任何人都可以访问 FRP 管理端
webServer.port = 7500
# dashboard 用户名密码,可选,默认为空
webServer.user = ""
webServer.password = ""

# 授权码,请改成更复杂的,这个token之后在客户端会用到
auth.token = ""

log.to = "./frps.log"
log.level = "info"
log.maxDays = 3
  1. 开放端口号
    登录“阿里云”,找到对应的云服务器 ECS / 安全组,在“入方向”内添加 7000 7500 端口,授权策略是“允许”。

  2. 配置自启动
    把 frps 添加为系统服务。

cd /etc/systemd/system
vim frps.service

内容如下:

[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/home/frp/frps -c /home/frp/frps.toml
Restart=always
RestartSec=15s

[Install]
WantedBy=multi-user.target

允许自启动:

systemctl enable frps
  1. 启动与停止

单独启动:

nohup ./frps -c frps.toml &
systemctl start frps
systemctl stop frps

测试服务器配置

  1. 配置
    vim frpc.toml
#公网IP
serverAddr = ""
serverPort = 7000

transport.tls.force = true

# 授权码
auth.token = ""

# 设置心跳
#auth.additionalScopes = ["HeartBeats"]
# 去除访问限速
#transport.tcpMux = false

# frp日志配置
log.to = "/home/frpc/frpc.log"
log.level = "info"
log.maxDays = 3

[[proxies]]
#测试服务的代号,英文不重复
name = ""
type = "tcp"
#测试服务的IP
localIP = ""
#测试服务的端口号
localPort = 12
#阿里云服务器暴露的端口号
remotePort = 12

[[proxies]]
name = ""
type = "tcp"
localIP = ""
localPort = 13
remotePort = 13
  1. 阿里云开放端口
    登录“阿里云”,找到对应的云服务器 ECS / 安全组,在“入方向”内添加 12 13 端口,授权策略是“允许”。

  2. 启动
    仿照服务端配置。

单独启动:

nohup ./frpc -c frpc.toml &

访问公网

http://xxx.xxx.xxx.xxx:12/xxx
http://xxx.xxx.xxx.xxx:13/xxx

参考资料
[1] 内网穿透之FRP,域名访问本地服务【只看这篇就够了,收藏必备】

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

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

相关文章

v68.指针

1.取地址运算 1.1 1.2 打印出变量的地址,需要使用 %p,注意后面加运算符 & 。注意输出地址的代码格式。%p会把这个值作地址来输出,输出的结果前面会加0x,并且以16进制的方式来输出地址 注意int 的大小是否和地址大小相同取决…

嵌入式 Linux 下的 LVGL 移植

目录 准备创建工程修改配置修改 lv_drv_conf.h修改 lv_conf.h修改 main.c修改 Makefile 编译运行更多内容 LVGL(Light and Versatile Graphics Library,轻量级通用图形库)是一个轻量化的、开源的、在嵌入式系统中广泛使用的图形库&#xff0c…

算法:动态规划全解(上)

一、动态规划初识 1.介绍 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的。 例如:有N件物品…

逆向案例三:动态xhr包中AES解密的一般步骤,以精灵数据为例

补充知识:进行AES解密需要知道四个关键字,即密钥key,向量iv,模式mode,填充方式pad 一般网页AES都是16位的,m3u8视频加密一般是AES-128格式 网页链接:https://www.jinglingshuju.com/articles 进行抓包结果返回的是密文: 一般思…

软考48-上午题-【数据库】-数据查询语言DQL3-表的连接查询

一、表的连接查询 数据查询中,经常需要提取两个或者多个表的数据,需要用表的连接来实现若干个表数据的联合查询。格式如下: select 列名1, 列名2, 列名3, ...... from 表1, 表2, ...... where 连接条件 在SQL SERVER中,连接分为…

Apipost自动化测试持续集成配置方法

安装 Apipost-cli npm install -g apipost-cli 运行脚本 安装好Apipost-cli后,在命令行输入生成的命令,即可执行测试用例,运行完成后会展示测试进度并生成测试报告。 Jenkins配置 Apipost cli基于Node js运行 需要在jenkins上配置NodeJs依…

Python中re(正则)模块的使用

re 是 Python 标准库中的一个模块,用于支持正则表达式操作。通过 re 模块,可以使用各种正则表达式来搜索、匹配和操作字符串数据。 使用 re 模块可以帮助在处理字符串时进行高效的搜索和替换操作,特别适用于需要处理文本数据的情况。 # 导入…

【MySQL】MySQL复合查询--多表查询自连接子查询 - 副本

文章目录 1.基本查询回顾2.多表查询3.自连接4.子查询 4.1单行子查询4.2多行子查询4.3多列子查询4.4在from子句中使用子查询4.5合并查询 4.5.1 union4.5.2 union all 1.基本查询回顾 表的内容如下: mysql> select * from emp; ----------------------------…

ubuntu安装新版本的CMake

来到cmake官网选择版本 我需要在嵌入式板子上的Ubuntu18安装使用 故我选择aarch64版本。 按F12进入检查模式得到下载链接。 在板子上运行以下命令,获取安装脚本 wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3-linux-aarch64.s…

Django模板(四)

一、include标签 加载一个模板,并在当前上下文中进行渲染。这是一种在模板中 “包含” 其他模板的方式 简单的理解:在当前模板中引入另外一个模板内容 1.1、使用方法 模板名称可以是变量,也可以是单引号或双引号的硬编码(带引号)的字符串 {% include "foo/bar.ht…

接口自动化测试之HTTP协议详解

协议 简单理解,计算机与计算机之间的通讯语言就叫做协议,不同的计算机之间只有使用相同的协议才能通信。所以网络协议就是为计算机网络中进行数据交换而建立的规则,标准或约定的集合。 OSI模型 1978年国际化标准组织提出了“开放系统互联网…

BerDiff: Conditional Bernoulli Diffusion Modelfor Medical Image Segmentation

BerDiff:用于医学图像分割的条件伯努利扩散模型 摘要: 医学图像分割是一项具有挑战性的任务,具有固有的模糊性和高度的不确定性,这主要是由于肿瘤边界不明确和多个似是而非的注释等因素。分割口罩的准确性和多样性对于在临床实践中为放射科…

【UVM_Introduction Factory_2024.02.28】

Introduction 通用验证方法学UVM(2014年1.2版本延续至今) 作用: 降低验证工程复杂度,保证验证可靠性,提升验证效率 提供一套标准的类库,减轻环境构建的负担,更多的投入制定验证计划和创建测试场…

springboot228高校教师电子名片系统

高校教师电子名片系统的设计与实现 摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,名片信息因为其管理内容繁杂,管理数…

【数据结构】数组

第一章、为什么数组的下标一般从0开始编号 提到数组,读者肯定不陌生,甚至还会很自信地说,数组很简单。编程语言中一般会有数组这种数据类型。不过,它不仅是编程语言中的一种数据类型,还是基础的数据结构。尽管数组看起…

代码随想录算法训练营29期|day64 任务以及具体安排

第十章 单调栈part03 有了之前单调栈的铺垫&#xff0c;这道题目就不难了。 84.柱状图中最大的矩形class Solution {int largestRectangleArea(int[] heights) {Stack<Integer> st new Stack<Integer>();// 数组扩容&#xff0c;在头和尾各加入一个元素int [] ne…

半小时到秒级,京东零售定时任务优化怎么做的?

导言&#xff1a; 京东零售技术团队通过真实线上案例总结了针对海量数据批处理任务的一些通用优化方法&#xff0c;除了供大家借鉴参考之外&#xff0c;也更希望通过这篇文章呼吁大家在平时开发程序时能够更加注意程序的性能和所消耗的资源&#xff0c;避免在流量突增时给系统…

【web APIs】3、(学习笔记)有案例!

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、概念其他事件页面加载事件元素滚动事件页面尺寸事件 元素尺寸与位置 二、案例举例电梯导航 前言 掌握阻止事件冒泡的方法理解事件委托的实现原理 一、概念…

【MATLAB源码-第151期】基于matlab的开普勒化算法(KOA)无人机三维路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 开普勒优化算法&#xff08;Kepler Optimization Algorithm, KOA&#xff09;是一个虚构的、灵感来自天文学的优化算法&#xff0c;它借鉴了开普勒行星运动定律的概念来设计。在这个构想中&#xff0c;算法模仿行星围绕太阳的…

免费网站搭建

免费网站搭建 一.领取一个免费域名和SSL证书&#xff0c;和CDN 特点&#xff1a;支持Cloudflare CDN Cloudflare是全球知名的CDN提供商&#xff0c;如果你不想暴露你的源站&#xff0c;又想使用我们的二级域名&#xff0c;不需要前往Cloudflare添加域名&#xff0c;修改NS记录…