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

使用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.kler.cn/news/367018.html

相关文章:

  • 2024高等代数【南昌大学】
  • w~自动驾驶合集6
  • 基于信号分解和多种深度学习结合的上证指数预测模型
  • C++游戏开发
  • 【Vulnhub靶场】DC-4
  • WEBRTC教程:局域网怎么调试,http://172.19.18.101:8080 ,无法访问摄像头和麦克风,请检查权限
  • 【跨平台】ReactNative 入门初探
  • 「Qt Widget中文示例指南」如何实现半透明背景?
  • Android跨进程通信
  • Python中,lambda函数的用法是什么?
  • 基于Python+Django的气象数据分析与可视化系统
  • hive修改表操作与array类型
  • 详解Apache版本、新功能和技术前景
  • 【Nas】X-DOC:在Mac OS X 中使用 WOL 命令唤醒局域网内 PVE 主机
  • SQLI LABS | Less-11 POST-Error Based-Single quotes-String
  • 机器学习认知包
  • 【Linux系统】进程的创建与程序计数器(PC指针)
  • windows DLL技术-DLL的更新和安全性
  • C++研发笔记8——C语言程序设计初阶学习笔记6
  • 028_Comma_Separated_List_in_Matlab中的逗号分割列表
  • electron 中 app 的 getName、setName 方法
  • react hook应用详解+diff 理解 + 父子组件渲染
  • 【论文阅读】2022 TChecker Precise Static Inter-Procedural Analysis for Detecting
  • Git_GitLab
  • 如何评估Mechanize和Poltergeist爬虫的效率和可靠性?
  • 解决 Spring Boot项目 CPU 尖刺问题