当前位置: 首页 > news >正文

使用frp配置内网机器访问

frp简介

frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。frp 项目官网是 https://github.com/fatedier/frp,软件下载地址为https://github.com/fatedier/frp/releases

frp工作原理

  • 服务端运行,监听一个主端口,等待客户端的连接;
  • 客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
  • 服务端fork新的进程监听客户端指定的端口;
  • 外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
  • 客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。

简单来说,就是可以随时随地通过有公网 IP的服务器 中转连接到运行 frpc 程序的任意机器的任意端口

安装包结构

下载linux安装包:frp_0.47.0_linux_amd64.tar.gz,解压后文件如下:
在这里插入图片描述

服务端相关文件

frps 、frps_full.init 、frps.ini

  • frps服务端运行程序
  • frps.ini:服务端配置文件(简化版)
  • frps_full.ini:服务端配置文件(完整版配置模板)

客户端相关文件

frpc 、frpc_full.init 、frpc.ini

  • frpc:客户端运行程序
  • frpc.ini:客户端配置文件(简化版)
  • frpc_full.ini:客户端配置文件(完整版配置模板)

frp配置

服务端配置

服务端配置文件为 frps.init,配置如下图:

[common]
#bind_port是服务端与客户端之间通信使用的端口号
bind_port = 7000
#与客户端的token必须设置成一致,token用于验证连接,只有服务端和客户端token相同的时候才能正常访问。如果不使用token,那么所有人都可以直接连接上
token = 123456
#开启仪表板
dashboard_port = 6556
dashboard_user = admin
dashboard_pwd = admin

服务端启动

./frps -c ./frps.ini

客户端配置

客户端配置文件为 frpc.init,配置如下图:

[common]
#服务端ip
server_addr = xxx.xxx.xxx.xxx  # frp服务端所在的IP(公网IP)
#服务端与客户端之间通信使用的端口号
server_port = 7000
#与服务端的token必须设置成一致
token = 123456[ssh]
type = tcp
local_ip = 127.0.0.1 # 部署客户端的机器的IP,默认写127.0.0.1即可
local_port = 22 # 本地的ssh端口
remote_port = 6000 # 通过frp服务端IP的6000端口即可访问本机的22端口#本地服务1
[web1]
type = http
local_ip = 127.0.0.1 # 部署客户端的机器的IP,默认写127.0.0.1即可
local_port = 8090  # 本地web1应用的端口
remote_port = 9090 # 通过frp服务端IP的9090端口即可访问本机的8090端口应用#本地服务2
[web2]
type = http
local_ip = 127.0.0.1 # 部署客户端的机器的IP,默认写127.0.0.1即可
local_port = 8091  # 本地web1应用的端口
remote_port = 9091 # 通过frp服务端IP的9091端口即可访问本机的8091端口应用
http://www.lryc.cn/news/13643.html

相关文章:

  • 简述7个流行的强化学习算法及代码实现!
  • 朗润国际期货招商:地方政府工作报告中对于促进消费
  • 前端性能优化的一些技巧(90% chatGpt生成)
  • [软件工程导论(第六版)]第8章 维护(复习笔记)
  • Python - 绘制人体生物节律
  • 【NVMEM子系统】二、NVMEM驱动框架
  • 小波神经网络(WNN)的实现(Python,附源码及数据集)
  • 商标干货!所有企业都值得收藏!
  • 4次迭代,让我的 Client 优化 100倍!泄漏一个 人人可用的极品方案!
  • 并查集(高级数据结构)-蓝桥杯
  • 你是真的“C”——C语言详解求两个正数最小公倍数的3种境界
  • 【java】Spring Cloud --Feign Client超时时间配置以及单独给某接口设置超时时间方法
  • spark代码
  • 利用OpenCV的函数equalizeHist()对图像作直方图均衡化处理
  • 星河智联Android开发
  • 【C++】关联式容器——map和set的使用
  • Promise的实现原理
  • 【MFC】数据库操作——ODBC(20)
  • 旺店通与金蝶云星空对接集成采购入库单接口
  • Linux基础-学会使用命令帮助
  • MyBatis 之四(动态SQL之 if、trim、where、set、foreach 标签)
  • PAT (Advanced Level) Practice 1006 Sign In and Sign Out
  • Android入门第64天-MVVM下瀑布流界面的完美实现-使用RecyclerView
  • Windows PowerShell中成功进入conda虚拟环境
  • 【C++】类与对象理解和学习(中)
  • 每日英语学习(11)大英复习单词和翻译
  • x79主板M.2无法识别固态硬盘
  • 配置Tomcat性能优化
  • Hive3 安装方式详解,datagrid自定义驱动连接hive
  • 约束优化:约束优化的三种序列无约束优化方法(罚函数法)