frp实现内网穿透(超详细!)

news2024/11/27 8:44:09

一、 frp简介

FRP是Fast Reverse Proxy的缩写,它是一款开源、高性能、跨平台的内网穿透工具。FRP允许您通过安全地穿透NAT和防火墙来访问您的本地服务器,以便您可以从任何地方访问您的应用程序和服务。它的工作方式是将来自互联网的请求转发给本地网络中的应用程序,从而使应用程序看起来好像直接在互联网上运行。

二、基本环境

1 可以有公网IP的实体机(比如vps等)

2 目标设备(就是你内网中的机器)

三、服务端部署

1 下载frp安装包 登录公网服务(vps) 查看相应的架构型号,按照不同型号下载不同版本
https://github.com/fatedier/frp/releases/tag/v0.51.2
2 修改配置 将解压后的文件目录frp_0.22.0_linux_amd64 改名为 frp cd 进入frp, ls 查看会出现下图中的文件
在这里插入图片描述
关注下面几个文件

frps
frps.ini
frpc
frpc.ini
前两文件,s结尾代表server,分别是服务端程序和服务端配置文件
后两个文件,c结尾代表client。分别是客户端程序和客户端配置文件。
我们当前操作的是服务端(也就说,公网服务作为部署frp的服务端)

编辑 服务端配置文件frps.ini,(按照下面配置修改)

[common]
bind_port = 7000 #客户端和服务端连接的端口
authentication_timeout = 0 
dashboard_port = 7500 #服务端web页面的端口,如7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为公网服务的IP)查看frp服务运行信息
token = 12121212 # 服务端加了 客户端必须添加,也可以都不设置
dashboard_user = admin 
dashboard_pwd = admin_1122
vhost_http_port = 10080 #代理HTTP主机
vhost_https_port = 10443 #代理HTTPs主机
#subdomain_host = frp.com # 子域名
#custom_404_page = /frp/404.html # 自定义404 页面,绝对路径

保存退出 ,启动服务端命令
./frps -c frps.ini
在这里插入图片描述

登录服务web页面(ip:7500 用户名dashboard_user, 密码dashboard_pwd)
在这里插入图片描述

四、客户端部署

客户端是目标设备 (也就是你本地内网的机器)
1下载frp安装包

与服务操作是相同,就是修改frp客户端文件(frpc.ini文件),下载安装版上传到本地服务,解压等步骤不再过多描述

2 修改配置 我们当前操作的是客户端(也就说,内网服务作为部署frp的客户端)

编辑服务端配置文件frpc.ini

下列配置是代理http/https 协议的配置demo

 #一、没有域名情况下
[common]
server_addr = #公网ip地址,vps
server_port = 7000 服务的bind_port
token = 12121212 
[httpname]
type = tcp # 没有域名情况下使用 tcp
local_ip = 127.0.0.1 
local_port = 8000 #本地服务端口
remote_port = 8080 # 远程访问端口,x.x.x.x:8080 x.x.x.x(vps等公网ip)

 #2、有域名配置
[httpname]
type = http
local_port = 80
local_ip = 127.0.0.1
custom_domains = www.demo1.com
[httpsname]
type = https
local_port = 443
local_ip = 127.0.0.1
custom_domains = www.demo2.com

配置完成启动
./frpc -c frpc.ini
在这里插入图片描述

五、效果

在客户端可以检测代理端口的情况可以看到已经成功代理一个 访问端口为8080
在这里插入图片描述

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

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

相关文章

Linux命令200例:stat用于显示文件或文件系统的状态信息

🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 &…

Flutter:简单搞一个内容高亮

内容高亮并不陌生,特别是在搜索内容页面,可以说四处可见,就拿掘金这个应用而言,针对某一个关键字,我们搜索之后,与关键字相同的内容,则会高亮展示,如下图所示: 如上的效果…

2004-2021年全国31省市场分割指数数据(原始数据+计算过程+最终结果+方法说明)

2004-2021年全国31省市场分割指数数据(原始数据计算过程最终结果方法说明) 1、时间:2004-2021年 2、来源:统计年鉴和国家统计局 3、指标:市场分割指数、食品类商品零售价格指数(上年100)、饮料、…

Java基础(十一)快速排序

4. 快速排序 >> 快速排序的思想 快速排序(QuickSort)是一种高效的排序算法,基于分治策略。它的原理可以概括为以下步骤: 选择一个基准元素(pivot),通常选择数组中的一个元素作为基准。…

Linux知识点 -- 进程概念(补充)

Linux知识点 – 进程概念(补充) 文章目录 Linux知识点 -- 进程概念(补充)一、进程地址空间的堆区二、虚拟地址到物理地址之间的转化三、虚拟地址到物理地址之间的映射 一、进程地址空间的堆区 在用户每次使用malloc等函数在进程的…

c高级:day4

1.思维导图 2.shell函数获取uid和gid,并用变量接 #!/bin/bashfunction fun() {read -p "输入用户名" necho uid:id -u $necho gid:id -g $n } afun echo $a3.冒泡、选择和快排代码整理 /**************************************************************…

MQTT宝典

文章目录 1.介绍2.发布和订阅3.MQTT 数据包结构4.Demo5.EMQX 1.介绍 什么是MQTT协议 MQTT(消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协…

opencv实战项目 手势识别-手势音量控制(opencv)

本项目是使用了谷歌开源的框架mediapipe,里面有非常多的模型提供给我们使用,例如面部检测,身体检测,手部检测等。 手势识别系列文章 1.opencv实现手部追踪(定位手部关键点) 2.opencv实战项目 实现手势跟踪…

探索 C++ 标准库:std::string 库函数用法示例

目录 引言 一、构造函数 1.1 string() 1.2 string (const string& str) 1.3 string (const string& str, size_t pos, size_t len npos) 1.4 string (const char* s) 1.5 string (const char* s, size_t n) 1.6 string (size_t n, char c)​ 二、容…

剑指offer11-20

文章目录 11.旋转数组的最小数字12.矩阵中的路径13.机器人的运动范围15.二进制中1的个数16.数值的整数次方17.打印从1到最大的n位数(待写)18.删除链表的节点19.正则表达式匹配(好难)20. 没意义算了 11.旋转数组的最小数字 肯定不是…

【Git】—— 标签管理

目录 (一)理解标签 1、作用 (二)创建标签 (三)操作标签 1、删除标签 2、推送标签 3、删除远程标签 (一)理解标签 标签 tag ,可以简单的理解为是对某次 commit 的…

C++11时间日期库chrono的使用

chrono是C11中新加入的时间日期操作库,可以方便地进行时间日期操作,主要包含了:duration, time_point, clock。 时钟与时间点 chrono中用time_point模板类表示时间点,其支持基本算术操作;不同时钟clock分别返回其对应…

Jenkins 监控dist.zip文件内容发生变化 触发自动部署

为Jenkins添加plugin http://xx:xx/manage 创建一个任务 构建触发器 每3分钟扫描一次,发现指定文件build.zip文件的MD5发生变化后 触发任务

脚本一键生成通用接口,一分钟实现增删改查

直接使用无需看此配置 快速生成通用接口业务配置 : https://blog.zysicyj.top/2023/08/14/快速生成通用接口业务配置 一、插件安装 二、脚本 关注绿色聊天软件【程序员朱永胜】回复:1013 下载 三、使用 拷贝到扩展目录下 修改mybatisCodehelper.vm 修改i…

【爱书不爱输的程序猿】CPOLAR+HFS,低成本搭建NAS

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流 通过HFS低成本搭建NAS,并内网穿透实现公网访问 - cpolar 极点云 前言1.下载安装cpolar1.1 设置HFS访客1.2 虚拟文件系统 2. 使用cpolar建立一条内网穿透数据隧道2.1 保留…

强化学习 PPO算法和代码

PPO 效果 字体找不到 ubuntu python findfont: Font family ‘Alibaba PuHuiTi 3.0’ not found. shell 清除缓存: rm ~/.cache/matplotlib -rf到这里下载 阿里巴巴普惠体3.0 https://fonts.alibabagroup.com/ 然后安装字体 PPO import matplotlib from mat…

​​C++多态​​

目录 1. 多态的概念 2. 多态的定义及实现 多态的构成条件 虚函数 虚函数的重写 特例 override 和 final 1. final:修饰虚函数,表示该虚函数不能再被重写 2.override: 检查派生类虚函数是否重写了基类某个虚函数,如果没有重写编译报错…

【数据结构】二叉树篇|超清晰图解和详解:二叉树的最近公共祖先

博主简介:努力学习的22级计算机科学与技术本科生一枚🌸博主主页: 是瑶瑶子啦每日一言🌼: 你不能要求一片海洋,没有风暴,那不是海洋,是泥塘——毕淑敏 目录 一、题目二、题解三、代码 一、题目 …

Stable Diffusion +EbSynth应用实践和经验分享

Ebsynth应用 1.安装ffmpeg 2.安装pip install transparent-background,下载模型https://www.mediafire.com/file/gjvux7ys4to9b4v/latest.pth/file 放到C:\Users\自己的用户名.transparent-background\加一个ckpt_base.pth文件 3.秋叶安装ebsynth插件,重启webui 填写项目基本…

线段树-模板-区间查询-区间修改

【模板】线段树 2 传送门:https://www.luogu.com.cn/problem/P3373 题单:https://www.luogu.com.cn/training/16376#problems 题目描述 如题,已知一个数列,你需要进行下面三种操作: 将某区间每一个数乘上 x x x&a…