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

使用FRP搭建内网穿透服务(新版toml配置文件,搭配反向代理方便内网网站访问)【使用frp搭建内网穿透】

FRP(Fast Reverse Proxy)是一个高性能的反向代理应用程序,主要用于内网穿透。它允许用户将内部网络服务暴露到外部网络,适用于 NAT 或防火墙环境下的服务访问。
他是一个开源的 服务
如果大家不想用 花生壳 软件,可以尝试使用一下免费开源的这款 软件

源码地址:https://github.com/fatedier/frp

需求场景
1、有一台云服务器,Linux系统
2、云服务器有公网ip,公网可以访问
3、本地电脑是家用笔记本,Windows操作系统
4、本地电脑没有公网ip,公网无法访问
需求:将云服务器搭建为一台内网穿透服务器,实现通过外网访问家用电脑(网页)的功能。且即使没有域名也可通过公网ip访问。

文档地址高级参数配置可以用查阅
https://gofrp.org/zh-cn/docs/reference/client-configures/

工作原理
frp 主要由两个组件组成:客户端(frpc) 和 服务端(frps)。通常情况下,服务端部署在具有公网 IP 地址的机器上,而客户端部署在需要穿透的内网服务所在的机器上。

由于内网服务缺乏公网 IP 地址,因此无法直接被非局域网内的用户访问。用户通过访问服务端的 frps,frp 负责根据请求的端口或其他信息将请求路由到相应的内网机器,从而实现通信。

1 服务端下载安装 一般linux
使用的是 0.52.3 这个版本的
下载到哪个目录 我就不写了

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

1.2 解压

tar -zxvf frp_0.52.3_linux_amd64.tar.gz -C 

1.3 配置frps.toml

vim frp_0.52.3_linux_amd64/frps.toml
bindPort = 7001[auth]
method = "token"
token = "********"#日志 
log.to = "/frp_0.52.3_linux_amd64/frps.log"

服务端监听端口,默认值为 7000。我们可以改一个自己喜欢的端口,token相当于密码。
在这里插入图片描述
1.4 使用systemd
使用 systemd 来管理 frps 服务,包括启动、停止、配置后台运行和设置开机自启动。
安装systemd

yum -y install systemd

创建 frps.service 文件

vim /etc/systemd/system/frps.service
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /自己的路径/frp_0.52.3_linux_amd64/frps -c /自己的路径/frp_0.52.3_linux_amd64/frps.toml[Install]
WantedBy = multi-user.target

设置 frps 开机自启动

sudo systemctl enable frps

使用 systemd 命令管理 frps 服务

# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps

客户端

https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_windows_amd64.zip

2.2 编写 frpc.toml

serverAddr = "服务端的ip"
serverPort = 7001[auth]
method = "token"
token = "********"[[proxies]]
name = "Minecraft"
type = "tcp"
localIP = "127.0.0.1"
localPort = 25565
remotePort = 25575

localIP 和 localPort 可以访问的内网的ip和端口

remotePort 表示在 frp 服务端监听的端口 通过这个端口 可以访问内网的 端口

举例:

localIP :192.168.30.31
localPort  :8080
remotePort :18000

那就是 外网ip:18000 就会访问到 内网的 192.168.30.31:8080

2.3 启动frpc.exe
cmd 里

.\frpc.exe -c frpc.toml

如果端口不通,请检查防火墙

windows下 出现 start proxy success 说明成功 就可以访问一下试试了

使用nginx 再做一个反向代理 我就不多说了 就可以用https了


http://www.mrgr.cn/news/59314.html

相关文章:

  • 流媒体协议.之(RTP,RTCP,RTSP,RTMP,HTTP)(二)
  • Web组态软件
  • 蓝桥杯题目理解
  • 87.【C语言】数据结构之链表的头插和尾插
  • 【TFR-Net】基于transformer的鲁棒多模态情感分析特征重构网络
  • 了解elasticsearch
  • 索引的使用和优化
  • 基于SSM“毛毛宠物店”宠物信息交流平台的设计与实现
  • Linux中C/C++程序编译过程与动静态链接库概述
  • LeetCode438.找到字符串中所有字母异位词
  • Macos系统使用wine安装window的exe软件
  • Redis 线程控制 总结
  • 图片懒加载
  • lodash 库作用
  • python的装饰器
  • 好/坏代码实例解读:图文并茂说明
  • 在MySQL中存储IP地址的最佳实践
  • C#判断带数字的字符串数组连续性的两种方式
  • 【JavaSE】认识String类,了解,进阶到熟练掌握
  • 使用 Resilience4j 实现重试
  • PHP模拟多继承的方式:traits
  • 数据结构 - 散列表,初探
  • Java篇图书管理系统
  • 深度图像和距离图像
  • 2024年如何学好JS
  • 多层感知机的从零实现与softmax的从零实现(真·0000零基础)