frp服务器和客户端怎么配置?frp内网穿透详细配置教程

FRP的核心原理是通过公网服务器中转内网流量,实现内网穿透,配置关键在于正确设置frps服务端与frpc客户端的配置文件,确保端口映射与认证令牌一致。

FRP服务器与客户端配置实战指南

在数字化转型的浪潮中,许多企业和个人开发者都面临着将内网服务暴露给公网的需求,无论是远程桌面控制、内网Web服务发布,还是IoT设备的数据回传,FRP(Fast Reverse Proxy)凭借其高性能和易用性,成为了业内共识认为的首选工具之一,配置FRP并非复杂的代码编写,而是一场关于网络拓扑与端口管理的精密配合。

frp内网穿透最新实践教程 从零开始详细步骤
加载中
frp内网穿透最新实践教程 从零开始详细步骤

服务端(frps)环境部署

服务端是FRP架构的大脑,负责接收来自客户端的连接请求并转发数据,选择一台拥有公网IP的云服务器(如简米云、酷番云或AWS)作为服务端是基础前提。

下载与解压

访问FRP的官方GitHub仓库,根据服务器操作系统(Linux/Windows)和架构(amd64/arm64)下载对应版本,以Linux为例,执行以下命令:


wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz
tar -xzvf frp_0.52.3_linux_amd64.tar.gz
cd frp_0.52.3_linux_amd64
核心配置文件frps.ini

配置文件是服务端行为的定义书,创建一个名为frps.ini的文件,填入以下基础配置:


[common]
# 绑定端口,默认7000,建议修改为非标准端口以增加安全性
bind_port = 7000
# 绑定地址,0.0.0.0表示监听所有网卡
bind_addr = 0.0.0.0
# 身份验证令牌,必须与客户端保持一致
token = your_strong_password
# Dashboard监控面板端口
dashboard_port = 7500
# 监控面板用户名和密码
dashboard_user = admin
dashboard_pwd = admin_password

业内专家指出,设置强密码的token是防止未授权访问的第一道防线,切勿使用默认值或简单字符串。

启动服务端

使用nohup命令后台运行,确保服务在终端关闭后依然存活:

frp服务器和客户端怎么配置?frp内网穿透详细配置教程


nohup ./frps -c ./frps.ini > frps.log 2>&1 &

你可以通过浏览器访问http://<服务器IP>:7500,输入预设的用户名和密码,查看实时连接状态和流量统计。

客户端(frpc)内网穿透配置

客户端部署在内网机器上,它负责监听本地服务,并通过加密隧道将流量转发给服务端。

下载与解压

在需要穿透的内网机器上下载相同版本的FRP客户端,解压后进入目录。

核心配置文件frpc.ini

创建frpc.ini文件,配置内容如下:


[common]
# 服务端地址
server_addr = <你的公网服务器IP>
# 服务端端口
server_port = 7000
# 身份验证令牌,必须与服务端一致
token = your_strong_password

示例1:远程桌面(RDP)穿透

[rdp]type = tcplocal_ip = 127.0.0.1local_port = 3389remote_port = 6000

示例2:Web服务穿透

[web]type = httplocal_ip = 127.0.0.1local_port = 80custom_domains = <你的域名>

这里需要特别注意,remote_port是公网访问时使用的端口,而local_port是内网服务实际监听的端口,对于Web服务,推荐使用HTTP类型,并绑定自定义域名,这样可以利用FRP的HTTP路由功能,实现基于域名的多服务分发。

启动客户端

同样使用后台运行命令:


nohup ./frpc -c ./frpc.ini > frpc.log 2>&1 &

FRP服务器和客户端配置常见问题排查

在实际操作中,连接失败是最常见的问题,以下是几种典型场景的解决方案。

连接被拒绝或超时

如果客户端启动后日志显示连接失败,首先检查防火墙,云服务器厂商(如简米云安全组、酷番云安全组)默认会拦截非标准端口,务必在控制台放行bind_port(如7000)和dashboard_port(如7500)对应的入方向规则。

Token认证失败

日志中出现authentication failed

frp服务器和客户端怎么配置?frp内网穿透详细配置教程

错误,通常是因为frps.inifrpc.ini中的token字段不一致,请仔细比对,注意大小写和空格,建议将此字段设置为长随机字符串,避免使用特殊字符。

Web服务无法访问

对于HTTP类型的穿透,如果绑定域名后无法访问,需确保:

  1. 域名已解析到公网服务器IP。
  2. 服务器防火墙放行了80/443端口(如果使用默认HTTP端口)。
  3. frpc.ini中正确配置了custom_domains

FRP与Ngrok对比及选型建议

许多用户在开始时会纠结于选择FRP还是Ngrok,这两种工具各有优劣,适用于不同场景。

特性 FRP Ngrok
部署方式 需自建服务端,完全掌控 主要使用官方公共服务器,也可自建
安全性 高,数据完全私有 中等,使用公共服务器时数据经过第三方
成本 仅需服务器费用,无额外订阅费 免费额度有限,高级功能需付费订阅
稳定性 取决于自建服务器性能 官方服务稳定,但国内访问速度可能受限
适用人群 有服务器资源、注重隐私和长期稳定性的开发者 快速测试、临时分享、无服务器资源的用户

据工信部数据,近年来国内对数据安全的监管日益严格,自建FRP服务因其数据不经过第三方平台,成为企业内网穿透的主流选择,对于个人开发者而言,如果仅用于临时调试,Ngrok的便捷性无可替代;但若涉及生产环境或敏感数据,FRP是更稳妥的方案。

FRP服务器和客户端配置进阶优化

当基础配置完成后,可以通过以下优化提升体验。

使用HTTPS加密

frpc.ini的HTTP代理配置中,可以指定

frp服务器和客户端怎么配置?frp内网穿透详细配置教程

tls_enable = true,FRP会自动处理TLS握手,但这需要服务端配置SSL证书,或者使用支持SNI的域名解析。

多服务复用端口

通过HTTP类型的custom_domains,你可以在同一个remote_port(如80)下映射多个不同的内网服务,只需为每个服务绑定不同的域名即可,这大大节省了公网端口资源。

日志轮转与监控

建议配置日志轮转策略,避免日志文件无限增长占用磁盘空间,可以使用log_max_days参数限制日志保留天数,定期监控Dashboard的流量使用情况,及时发现异常连接。

Q&A:FRP服务器和客户端配置常见疑问

FRP支持UDP协议穿透吗?

支持,在frpc.ini中,将type设置为udp即可,穿透DNS服务或某些游戏服务器,配置方式与TCP类似,只需指定local_portremote_port,需要注意的是,UDP是无连接的,因此不适合需要保持长连接的场景,且防火墙对UDP的拦截策略可能与TCP不同,需单独检查。

FRP配置中local_port和remote_port有什么区别?

local_port是内网机器上实际运行服务的端口,例如你本地搭建的Web服务监听在8080端口,那么local_port就是8080。remote_port是公网访问时使用的端口,例如你希望公网用户通过http://<IP>:8080访问,那么remote_port就是8080,两者可以相同,也可以不同,取决于你的网络规划和端口占用情况。

FRP客户端掉线后如何自动重连?

FRP客户端默认支持断线重连,在frpc.ini中,server_portserver_addr保持不变的情况下,客户端会在后台尝试重新连接服务端,如果配置了start参数,可以指定启动时自动连接,对于生产环境,建议使用systemd或supervisor等进程管理工具托管frpc进程,确保服务在崩溃或重启后能自动拉起。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/473532.html

(0)
如何搭建股票数据仓库?股票数据仓库搭建步骤详解
上一篇 2026年7月8日 21:56
CDN加速原理是什么,CDN加速
下一篇 2026年7月8日 21:58

相关推荐

  • i9300网络注册注册为什么失败,网络注册问题怎么解决

    i9300网络注册失败通常与SIM卡接触不良、网络模式设置错误、基带版本不匹配或运营商兼容性有关,手动注册网络或调整APN即可解决大多数问题,i9300网络注册失败原因排查SIM卡与运营商因素你的i9300如果突然无法注册网络,第一步就是检查SIM卡,金属触点氧化或卡槽松动会导致间歇性无服务,把SIM卡取出,用……

    2026年8月4日
    800
  • 英语培训AI大模型好用吗?2026最新英语培训AI大模型推荐

    英语培训AI大模型并非简单的翻译工具,而是能根据你的水平定制课程、实时纠音并提供沉浸式对话的私人外教,它通过自然语言处理技术解决了传统培训中师资不均和练习场景匮乏的核心痛点,过去我们学英语,最大的障碍不是没书看,而是没人陪练,AI大模型彻底改变了这一局面,它不再只是冷冰冰的词典,而是一个懂语境、知情绪、能互动的……

    2026年6月13日
    3600
  • IT流程管理软件应该如何选择,哪个牌子好?

    IT流程管理软件是帮助企业自动化IT服务请求、事件管理和变更流程的工具,而管理软件中心则是统一监控、配置和优化这些软件运行环境的核心平台,二者结合能显著提升IT运维效率与业务连续性,it流程管理软件哪个好?选型关键要素与价格参考功能完整性:覆盖ITIL核心流程选型时首先要看软件是否覆盖了IT服务管理的关键环节……

    2026年8月18日
    200
  • IE9网站后台编辑器如何设置?,怎么设置网站后台

    如果你还在用IE9浏览器登录网站后台编辑器,那么必须明确一个结论:IE9早已被微软停止技术支持,用它维护网站后台不仅功能残缺、兼容性极差,而且存在明显安全隐患,建议立即升级浏览器或更换编辑器方案,为什么IE9网站后台编辑器问题频发很多老站长和中小企业维护者至今仍在使用IE9,原因不外乎两点:一是公司内部系统强制……

    2026年8月11日
    800
  • 福建云数据库哪家好?2026年福建云数据库价格及对比

    福建云数据库是本地企业实现数据资产化、业务数字化的核心基础设施,它通过提供高可用、低延迟且符合合规要求的存储方案,直接解决了传统服务器维护成本高、数据安全风险大的痛点,在数字化转型的深水区,数据不再仅仅是记录,而是驱动业务增长的核心燃料,对于身处福建的企业而言,选择一款合适的云数据库,意味着选择了更高效的生产力……

    2026年7月6日
    16600
  • 安装IIS时如何设置空主机头?,安装步骤是什么?

    IIS空主机头是在IIS中创建不指定主机名的网站绑定,安装IIS后通过配置即可实现,最常见于服务器默认页面或测试环境,也用于泛域名解析,IIS空主机头安装步骤详解部署前的环境确认- 操作系统要求:Windows Server 2008 R2及以上版本,Windows 10/11专业版或企业版,- 硬件建议:至少……

    2026年8月21日
    200
  • idea连接mysql数据库连接_上传MySQL数据库连接驱动

    在IntelliJ IDEA中连接MySQL数据库,核心在于下载并上传对应版本的JDBC驱动jar包,通过项目结构或Maven依赖正确引入,再配置完整的连接URL、用户名和密码,绝大多数连接失败都是驱动版本不匹配、时区设置遗漏或URL格式错误造成的,为什么你的idea连接mysql数据库连接不上?常见原因与解决……

    2026年8月21日
    300
  • InnoSetup安装包制作工具怎么用?,怎么安装

    Inno Setup 是一款免费开源的 Windows 安装程序制作工具,通过脚本可以精确控制安装流程,非常适合开发者快速生成专业安装包,Inno Setup 安装包制作入门:从下载到生成第一个安装包对于初次接触 Inno Setup 的用户,最关心的是如何快速上手,下面从下载、编写脚本到编译,一步步走通,In……

    2026年8月11日
    1200
  • 嘉腾AI大模型

    嘉腾AI大模型并非单纯的聊天机器人,而是专为制造业设计的工业级智能决策中枢,它通过深度整合生产数据与行业知识,直接解决设备运维、工艺优化及供应链协同中的实际痛点,在2026年的工业4.0下半场,通用大模型虽然能写诗作画,但在面对复杂的工厂车间时往往显得“水土不服”,嘉腾AI大模型的出现,正是为了填补这一鸿沟,它……

    2026年6月13日
    3300
  • 如何修改服务器地址?服务器地址修改教程

    修改服务器地址的核心在于更新DNS解析记录、重新配置本地网络适配器或修改应用配置文件,具体操作取决于你是在管理域名解析、切换宽带接入还是调整软件后端连接,域名解析层面的服务器地址修改实操当你的网站访问变慢或需要迁移主机时,首先想到的是修改服务器IP,这通常涉及DNS(域名系统)的更新,很多站长误以为改完后台IP……

    2026年7月8日
    18100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注