玻璃钢
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 隧道,使用真实客户端连接到配置的远程端口。健康的控制端口并不能保证后端应用程序或远程端口映射正常工作。
玻璃钢常见故障处理案例
如果端口 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 日志。