frp搭建内网穿透教程

frp搭建内网穿透教程

步骤1:准备工作

  • 公网服务器:需要一台具有公网IP的服务器作为中转服务器,安装frp服务器端(frps)。
  • 内网设备:需要暴露服务的内网设备,安装frp客户端(frpc)。

步骤2:下载与安装

访问frp的GitHub页面(https://github.com/fatedier/frp)下载对应平台的压缩包,解压后分别获得frps(服务器端)和frpc(客户端)。

可下载的部分版本如下:

名称
frp_0.62.0_android_arm64.targz
frp_0.62.0_darwin_amd64.tar.gz
frp_0.62.0_darwin_arm64.tar.gz
frp_0.62.0_freebsd_amd64.tar.gz
frp_0.62.0_linux_amd64.tar.gz(linux版本)
frp_0.62.0_linux_arm.tar.gz
frp_0.62.0_linux_arm64.tar.gz
frp_0.62.0_linux_arm_hf.tar.gz(一般情况下,用于内网穿透的服务器是linux系统)
frp_0.62.0_linux_loong64.tar.gz
frp_0.62.0_linux_mips.tar.gz
frp_0.62.0_linux_mips64.tar.gz
frp_0.62.0_linux_mips64le.tar.gz
frp_0.62.0_linux_mipsle.targz
frp_0.62.0_linux_riscv64.tar.gz
frp_0.62.0_windows_amd64.zip(windows版本,如果被内网穿透的客户端是windows系统,则需要在客户端下载此版本)
frp_0.62.0_windows_arm64.zip
frp_sha256_checksums.txt
Source_code (zip)
Source_code (tar.gz)

步骤3:搭建服务端frps

  1. 下载后重命名为frp.tar.gz(可忽略),将linux压缩包上传至服务器/opt/frp目录并解压。
    解压命令:
tar -zxvf frp.tar.gz

解压后,服务端主要用frps、frps.toml文件,frpc和frpc.toml是客户端要用的。

  1. 配置frp服务器端(frps)
    • 在公网服务器上修改配置文件frps.toml,内容示例如下:
      vim frps.toml命令,按i进入编辑模式,粘贴下面的内容稍作修改,按esc,输入:wq回车保存退出。
# 基础服务配置
bindAddr = "0.0.0.0"  # 监听所有网络接口(IPv4)
bindPort = 7000        # 主服务端口(TCP)
kcpBindPort = 7000     # KCP 协议端口(UDP)
# Web 控制台配置
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"          # 建议修改为复杂用户名
webServer.password = "admin123"  # 建议修改为强密码
# 日志配置
log.to = "/frpslog/frps.log"
log.level = "info"
log.maxDays = 3
# 安全认证
auth.method = "token"
auth.token = "tocken123"  # 必须修改为复杂 Token
# 允许客户端使用的端口范围
allowPorts = [{ start = 3000, end = 4000 }
]
# 可选高级配置(可根据需要添加)
# transport.tls.force = true  # 强制 TLS 加密
# vhostHTTPPort = 80         # HTTP 反向代理端口
# vhostHTTPSPort = 443       # HTTPS 反向代理端口
  • 在Linux系统下,使用systemd可以方便地控制frps服务端的启动、停止、配置后台运行以及开机自启动。
    使用文本编辑器(如vim)在/etc/systemd/system目录下创建一个frps.service文件,用于配置frps服务。
    命令:vim /etc/systemd/system/frps.service
    粘贴下面内容:
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /opt/frp/frps/frps -c /opt/frp/frps/frps.toml
[Install]
WantedBy = multi-user.target
  • 重载frps服务:
systemctl daemon-reload
  • 启动frp:
sudo systemctl start frps
systemctl status frps
  • 设置frps开机自启动:
systemctl enable frps

至此,在浏览器中输入<公网ip>:7500,进入web端,frps就搭建好了。

步骤4:搭建客户端frpc

服务端frps搭建好后,就可以进行客户端frpc的搭建。以内网中公司的git代码仓库为例,公司有一条公网ip网络110.23.22.145,公司的所有设备通过这个ip接入到公共网络,所有设备的ip可能是10.10.1.XXX,172.15.23.XXX等局域网ip,公司的git代码仓库安装在一台ip为10.10.5.123的服务器上,通过搭建内网穿透,可实现出差等情况下对该git仓库的访问。

  1. 在要搭建的内网穿透客户端上传frp.tar.gz压缩包并解压(步骤几乎和服务端一样,配置文件略改一下),若内网穿透的客户端是windows,请使用对应版本的frp。
    将frp压缩包上传至客户端/opt/frp目录(客户端也是linux系统的),解压命令:
tar -zxvf frp.tar.gz

客户端只用到frpc和frpc.toml。

  1. 修改配置文件frpc.toml
serverAddr = "130.127.35.28"
serverPort = 7000
auth.method = "token"
auth.token = "tocken123"
# 日志配置
log.to = "/frpclog/frpc.log"
log.level = "info"
log.maxDays = 3
[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8080
remotePort = 3100

其中,serverAddr对应公网服务器ip,serverPort对应frps配置的端口,auth.token为frps配置的tocken密码,localIP为本地ip,默认127.0.0.1,remotePort是映射到frps服务端的端口,即要进行内网穿透的应用端口。

例如:内网客户端安装了一个gitlib应用,内网ip是10.10.5.101,端口号是8080,在其他网络环境要访问10.10.5.101:8080,是访问不通的。在配置好内网穿透后,访问130.127.35.28:3100就可以代理到内网的gitlib应用。

若还有其他应用进行内网穿透,在frpc.toml复制一份proxies进行修改即可:

[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8080
remotePort = 3100
  1. 编写frpc.service
    和上面frps.service配置差不多,略微修改一下:
[Unit]
# 服务名称,可自定义
Description = frp clent
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /opt/frp/frpc/frpc -c /opt/frp/frpc/frpc.toml
[Install]
WantedBy = multi-user.target
  1. 重载frps服务:
systemctl daemon-reload
  1. 启动frp:
sudo systemctl start frps
systemctl status frps
  1. 设置frps开机自启动:
systemctl enable frps

至此,内网穿透算是搭建完毕!浏览器访问130.127.35.28:3100即可打开对应的内网应用。

补充内容

查看日志

  • 查看frps运行日志:
cat /frpslog/frps.log
  • 查看frpc运行日志:
cat /frpclog/frpc.log

服务器端口设置

  • 服务器安全组要放行对应的端口号,如:7500、7000、3100。
  • 若还是无法访问,检查服务器网络的默认区域:
firewall-cmd --zone=public --list-all
  • 若输出的结果没有要用的端口号,则进行添加:
sudo firewall-cmd --zone=public --add-port=3100/tcp --permanent
sudo firewall-cmd --reload

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

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

相关文章

【JavaEE进阶】图书管理系统(未完待续)

目录 用户登录 添加图书 图书列表 修改图书 删除图书 批量删除 拦截器 &#x1f343;前言 什么是拦截器? 拦截器的基本使用 自定义拦截器 注册配置拦截器 拦截路径 拦截器执行流程 项目实现统一拦截 定义拦截器 注册配置拦截器 前⾯图书管理系统, 咱们只完成了⽤⼾登录和图书列…

基于同花顺API的熊市与牛市识别模型开发及因子分析

基于同花顺API的熊市与牛市识别模型开发及因子分析 1. 引言 1.1 研究背景与意义 金融市场中的牛市与熊市识别一直是投资者和研究人员关注的重点问题。牛市(Bull Market)通常指价格持续上涨的市场环境,投资者信心充足,交易活跃;而熊市(Bear Market)则指价格持续下跌的市场…

AMD 锐龙 AI MAX+ 395 处理器与端侧 AI 部署的行业实践

2025 年 7 月 10 日&#xff0c;AMD 在深圳召开 Mini AI 工作站行业解决方案峰会&#xff0c;正式发布基于锐龙 AI MAX 395 处理器的端侧 AI 部署方案&#xff0c;与 200 余家生态伙伴共同探讨 AI 技术在千行百业的落地路径。这一硬件平台通过异构计算架构与开放生态设计&#…

期权盘位是什么意思?

本文主要介绍期权盘位是什么意思&#xff1f;“期权盘位”并非金融交易中的标准术语&#xff0c;可能是口语化表达或对某些概念的简化描述。期权盘位是什么意思&#xff1f;1. 期权盘口的“价位”&#xff08;买卖报价位置&#xff09;在期权交易中&#xff0c;“盘口”通常指实…

【Trea】Trea国内版|国际版|海外版下载|Mac版|Windows版|Linux下载配置教程

【Trea】Trea国内版&#xff5c;国际版&#xff5c;海外版下载&#xff5c;Mac版&#xff5c;Windows版下载配置教程 本文适用读者&#xff1a; 想要第一次安装 Trea需要在 Windows 或 macOS 上完成环境配置想深入了解 Doubao、DeepSeek、ChatGPT、Claude 等模型在 Trea 中的接…

MyBatis实现分页查询-苍穹外卖笔记

首先分页查询的原理是SQL的limit关键字。LIMIT 子句用于限制 SQL 查询返回的记录数。它接受一个或两个整数参数&#xff0c;第一个参数表示偏移量&#xff0c;第二个参数表示返回的最大记录数。我们完全可以使用前端传给我们的page,pageSize,自己去计算limit的参数&#xff0c;…

系统性能评估方法深度解析:从经典到现代

评估本质&#xff1a;系统性能评估是通过量化分析衡量计算机系统在特定工作负载下的表现能力&#xff0c;核心目标是建立可比较的性能基准&#xff0c;为系统设计、选型和优化提供科学依据。一、评估方法分类体系 #mermaid-svg-0ceD4AA2KDwzwtb6 {font-family:"trebuchet …

WebSocket实现多人实时在线聊天

最近公司在做一个婚恋app&#xff0c;需要增加一个功能&#xff0c;实现多人实时在线聊天。基于WebSocket在Springboot中的使用&#xff0c;前端使用vue开发。 一&#xff1a;后端 1. 引入 websocket 的 maven 依赖 <dependency><groupId>org.springframework.bo…

学习笔记随记-FPGA/硬件加速

一、FPGA&#xff1a;Field Programmable Gate Array 现场可编程门阵列 可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核。 可编程输入/输出单元&#xff08;I/O&#xff09;单元 输入/输出&#xff08;Input/Ouput&…

docker宿主机修改ip后起不来问题解决

确保容器已经连接到了正确的网络。如果没有&#xff0c;你可以使用以下命令将容器连接到网络&#xff1a; 1、停止docker网络 ifconfig docker0 down1. 停止 Docker 服务 sudo systemctl stop docker2. 删除 docker0 接口 sudo ip link delete docker03、删除旧的网桥 docker n…

G1 垃圾回收算法详解

目录 简介 G1 GC 的设计目标 内存结构 回收过程 初始标记&#xff08;Initial Mark&#xff09;并发标记&#xff08;Concurrent Mark&#xff09;最终标记&#xff08;Final Mark / Remark&#xff09;筛选回收&#xff08;Cleanup / Evacuation&#xff09; 混合回收&…

JavaEE多线程——锁策略 CAS synchronized优化

目录前言1.锁策略1.1 乐观锁和悲观锁1.2 重量级锁和轻量级锁1.3 挂起等待锁和自旋锁1.4 公平锁和非公平锁1.5 可重入锁和不可重入锁1.6 读写锁2.CAS2.1 CAS的应用2.2 CAS的ABA问题3.synchronized优化3.1锁升级3.2锁消除3.3锁粗化总结前言 本篇文章主要介绍多线程中锁策略、CAS…

Windows符号链接解决vscode和pycharm占用C盘空间太大的问题

Windows符号链接解决vscode和pycharm占用C盘空间太大的问题 参考文章&#xff1a;Windows符号链接 1、找到vscode和pycharm在C盘的缓存文件夹。 C:\Users\用户名\AppData\Roaming\Code C:\Users\用户名\.vscode\extensionsC:\Users\用户名\AppData\Local\JetBrains C:\Users…

赋能家庭、行业与工业场景,智微智能新一代Twin Lake 全栈智能终端发布

在数字化浪潮席卷全球的今天&#xff0c;智能终端已成为连接物理世界与数字世界的核心枢纽。智微智能基于Intel Twin Lake平台&#xff0c;推出覆盖家庭/行业应用及工业物联网的全场景产品矩阵&#xff0c;为不同场景下的用户提供高效、可靠的产品和解决方案。Intel Twin Lake架…

复习笔记 31

前言 好好复习。今天距离考研初试还剩一百六十一天。我的时间其实没剩多少了呀。我得好好加油。 归并排序 #include<algorithm> #include<iostream>using namespace std;const int N 100010; int n; int a[N], tmp[N];void merge ( int a[], int l, int r ) {if (…

el-tree 懒加载 loadNode

el-tree 是 Element UI 提供的树形组件&#xff0c;其懒加载功能通过 loadNode 方法实现&#xff0c;可以在用户展开节点时动态加载子节点数据&#xff0c;避免一次性加载大量数据。下面介绍 loadNode 的具体用法和示例。基本用法loadNode 是 el-tree 的一个重要属性&#xff0…

【机器学习入门巨详细】(研0版)二创OPEN MLSYS

自学机器学习&#xff0c;从入门到精通导论机器学习的基本框架设计目标机器学习框架基本组成原理机器学习生态机器学习工作流环境配置数据处理模型定义损失函数和优化器训练及保存模型测试及验证模型定义深度神经网络以层为核心定义神经网络神经网络层实现原理自定义神经网络层…

Excel 转 JSON by WTSolutions API 文档

Excel 转 JSON by WTSolutions API 文档 简介 Excel 转 JSON API 提供了一种简单的方式将 Excel 和 CSV 数据转换为 JSON 格式。该 API 接受制表符分隔或逗号分隔的文本数据&#xff0c;并返回结构化的 JSON。 接口端点 POST https://mcp.wtsolutions.cn/excel-to-json-api 请求…

git版本发布

cvs和svn都是集中式版本控制系统,而git是分布式版本控制系统。 1、集中式版本控制系统必须联网才能工作&#xff0c;如果在局域网内还好&#xff0c;带宽够大&#xff0c;速度够快&#xff0c;可如果在互联网上&#xff0c;遇到网速慢的话&#xff0c;呵呵。分布式版本控制系统…

138-EMD-KPCA-CPO-CNN-BiGRU-Attention模型!

138-EMD-KPCA-CPO-CNN-BiGRU-Attention基于经验模态分解和核主成分分析的长短期记忆网络改进多维时间序列预测MATLAB代码&#xff01;其中&#xff08;含CPO-CNN-BiGRU-attention、EMD-CPO-CNN-BiGRU-Attention、EMD-KPCA-CPO-CNN-BiGRU-Attention三个模型的对比&#xff09; 可…