玻璃钢

FRP端口指南:端口7000上的反向代理隧道

了解快速反向代理如何将 frpc 客户端连接到 frps、哪些端口需要可达,以及如何避免将隧道变成不受管理的公共边缘。

默认端口
7000
协议
TCP
主要用途
反向代理隧道

什么是FRP端口?

FRP(快速反向代理)是一种隧道工具,可通过公共 frps 服务器公开 NAT 或防火墙后面的服务。默认的 frps 绑定端口通常为 TCP 7000,frpc 客户端使用该端口进行连接、身份验证和注册隧道映射。

  • 7000端口一般为frps控制端口

    frpc 客户端通常在发布 TCP、UDP、HTTP、HTTPS 或其他代理类型之前连接到 bind_port(通常为 TCP 7000)上的公共 frps 服务器。

  • 已发布的服务可能使用单独的端口

    FRP 控制端口并不总是面向用户的服务端口。 HTTP、HTTPS、TCP、UDP、仪表板和插件侦听器可能各自需要不同的防火墙规则。

玻璃钢的工作原理

FRP 有一个名为 frps 的服务器端和一个名为 frpc 的客户端。 frps 运行在具有可访问公共地址的计算机上。 frpc 在私有服务附近运行,向外连接到 frps,进行身份验证,并要求 frps 通过配置的代理公开本地服务。

当家庭实验室、分支机构、设备、测试环境或专用网络服务需要临时或受控的外部访问时,此模型非常有用。这也意味着 frps 成为面向互联网的边缘,因此令牌、TLS、ACL、日志和服务范围与端口本身一样重要。

FRP 端口:7000、虚拟主机端口、仪表板端口和代理端口

TCP 7000通常用作frps的bind_port,frpc在其中建立控制连接。 HTTP 和 HTTPS 反向代理模式可能使用 vhost_http_port 和 vhost_https_port,通常为 80 和 443。 TCP 和 UDP 代理映射可以公开用户直接连接的自定义远程端口。

FRP 还可以根据配置公开仪表板、指标端点或管理界面。这些管理端口不应被视为公共应用程序端口。将它们限制为受信任的 IP、VPN、本地主机或专用网络。

FRP 何时应打开

当受信任的 frpc 客户端需要从专用网络注册隧道时,打开 frps 绑定端口。仅针对您有意发布的服务打开面向用户的远程端口,例如 Web 应用程序预览、通过受控隧道的 SSH 访问、Webhook 接收器或游戏服务器。

不要仅仅因为 FRP 使之变得简单而公开广泛的端口范围或管理接口。每个远程端口都是隧道后面某物的公共入口点,每个映射都应具有所有者、用途、访问策略和删除日期(如果是临时的)。

打开FRP之前

在允许端口 7000 之前,请决定哪些客户端可以连接、允许哪些代理类型、可以注册哪些远程端口以及流量是否应使用 TLS。检查身份验证令牌或 OIDC 设置、客户端命名以及是否可以通过任意远程端口进行权限升级。

端口检查器可以确认frps绑定端口或已发布的远程端口是否可达,但无法证明FRP身份验证、路由所有权或后端服务安全性是否正确。验证隧道控制路径和公开的应用程序行为。

如何在Linux、Windows和云服务器上运行FRP

在云服务器上,使用固定的公共 IP 或稳定的 DNS 名称运行 frps,仅允许所需的绑定端口和已发布的服务端口,并将仪表板或管理访问权限保持私有。尽可能将 HTTP 和 HTTPS 流量置于正常 TLS 和基于主机的路由之后。

在 Linux 或 Windows 客户端上,将 frpc 作为私有应用程序附近的服务运行。仔细配置 local_ip、local_port、代理类型、remote_port 或自定义域以及凭据。避免在不相关的环境中重复使用相同的令牌。

如果FRP用于类似生产的访问,则添加流程监管、日志保留、监控、证书更新和变更控制。最初为方便起见的隧道可能会比预期更快地成为关键基础设施。

  • 控制路径:frpc 客户端必须到达配置的 bind_port 上的 frps,通常是 TCP 7000。
  • 服务路径:用户必须到达您发布的特定远程端口、HTTP 虚拟主机端口或 HTTPS 虚拟主机端口。
  • 管理路径:仪表板、指标和管理端点应保持私有或严格列入白名单。
  • 安全路径:使用强身份验证、适当的 TLS、限定范围的远程端口、日志以及每个隧道的明确所有权。

如何测试FRP端口7000

首先针对公共 frps 主机名或 IP 和端口 7000 进行外部端口检查。如果打开,frpc 客户端可能能够访问控制侦听器。然后检查frps日志和frpc日志以确认身份验证、代理注册和心跳状态。

接下来,测试已发布的服务本身。对于 HTTP 或 HTTPS 隧道,请针对公共域使用curl 或浏览器。对于 TCP 隧道,使用真实客户端连接到配置的远程端口。健康的控制端口并不能保证后端应用程序或远程端口映射正常工作。

FRP 测试端口 7000

玻璃钢常见故障处理案例

如果端口 7000 被关闭,frps 可能未运行,可能绑定到 localhost,或者可能被主机防火墙或云安全组阻止。如果 frpc 无法连接,还要检查客户端的 DNS、server_addr、bind_port、TLS 设置、令牌不匹配和网络出口规则。

如果控制连接有效,但服务无法访问,请检查remote_port冲突、vhost域路由、HTTP主机标头、本地服务侦听器、frpc端的NAT以及frps allowed_ports策略。许多 FRP 问题发生在隧道注册后,而不是在初始端口检查时。

FRP 安全检查表

将 frps 视为公共网关。使用强身份验证、轮换令牌、限制允许的端口、禁用未使用的代理类型、保护仪表板以及记录客户端连接和代理注册。如果没有额外的身份验证层,请勿通过 FRP 公开内部管理工具。

对于敏感服务,请将 FRP 放置在 VPN、身份感知代理、mTLS、防火墙白名单或具有速率限制的反向代理后面。定期检查活动隧道并删除不再具有明确所有者或业务目的的映射。

常见问题

FRP 使用什么端口?

frps通常使用TCP端口7000作为frpc控制连接的bind_port。已发布的服务可以使用其他远程端口、HTTP 虚拟主机端口、HTTPS 虚拟主机端口或 UDP 映射,具体取决于配置。

7000端口和公共服务端口一样吗?

并不总是如此。 7000端口通常是FRP控制端口。用户可以连接到 frps 为实际隧道服务公开的不同远程端口、域、HTTP 端口或 HTTPS 端口。

将 FRP 暴露到互联网上安全吗?

只有有意控制才能保证安全。使用强身份验证、适当的 TLS、范围端口、私有管理端点、日志记录和敏感服务的访问层。

为什么端口 7000 打开,但我的 FRP 隧道不起作用?

当身份验证、TLS、远程端口策略、虚拟主机路由、本地服务可达性或 frpc 配置失败时,控制侦听器可能可达。检查 frps 和 frpc 日志。