
摘要: frp 内网穿透用一台有公网 IP 的云服务器做中转,把内网服务暴露到公网访问。配置分两端:云服务器上跑服务端 frps、内网机器上跑客户端 frpc,两端 token 一致、放通对应端口即可。本教程仅用于合法合规地访问你自有的内网服务。
frp 内网穿透的原理一句话说清:在有公网 IP 的云服务器上跑服务端 frps,在没有公网 IP 的内网机器上跑客户端 frpc,frpc 主动连上 frps,外部访问云服务器的指定端口就被转发到内网服务。配置的核心是两端的 token 要一致、服务端口要在防火墙放通。下面给出两端完整配置。
提示:内网穿透仅可用于访问你自有的、合法合规的内网服务(如自建开发服务、家庭 NAS 管理页等),不得用于绕过网络管理规定或暴露未授权的系统。
很多服务跑在没有公网 IP 的环境里:家里的 NAS、公司内网的开发机、路由器后面的树莓派。想从外网访问它们,就需要一个"中转站"。frp 让一台有公网 IP 的云服务器充当这个中转:外部请求先到云服务器,再被转发给内网里的真实服务。
它适合需要远程访问自有内网服务的开发者和极客,比如在外面访问家里的服务、把本地开发服务临时暴露给协作方调试。
frp 转发本身消耗很小,腾讯云轻量应用服务器 Lighthouse 入门套餐即可做 frps 服务端。Lighthouse 有固定公网 IP、套餐自带高带宽流量包、内置防火墙,正好满足内网穿透对"公网入口 + 带宽 + 端口控制"的需求。
准备清单:一台有公网 IP 的云服务器(跑 frps);一台内网机器(跑 frpc);两端都从 frp 官方发布页下载对应操作系统和架构的程序包。
在云服务器上解压 frp 程序,编辑服务端配置文件 frps.toml(新版 frp 使用 toml 格式,以官方当前版本为准):
bindPort = 7000
auth.token = "你的自定义密钥"说明:bindPort 是 frpc 连接 frps 的端口;auth.token 是两端的共享密钥,frpc 必须填相同的 token 才能连上,这是防止他人蹭用你中转的基本防护。
启动服务端:
./frps -c frps.toml正式使用建议把 frps 配成 systemd 服务,开机自启、断了自动拉起。
在 Lighthouse 控制台防火墙放通:frps 的 bindPort(示例 7000),供 frpc 连接;以及你打算对外暴露服务的端口(见下一步的 remotePort)。端口没放通是内网穿透连不通最常见的原因。
在内网机器上解压 frp,编辑客户端配置 frpc.toml。假设要把内网一台机器的 Web 服务(本地 80 端口)暴露到云服务器的 8080 端口:
serverAddr = "云服务器公网IP"
serverPort = 7000
auth.token = "你的自定义密钥"
[[proxies]]
name = "web"
type = "tcp"
localIP = "127.0.0.1"
localPort = 80
remotePort = 8080说明:serverAddr/serverPort 指向 frps;auth.token 与服务端一致;localPort 是内网服务的端口;remotePort 是映射到云服务器上的对外端口。启动客户端:
./frpc -c frpc.toml配置生效后,外部访问 云服务器公网IP:8080,请求就会被转发到内网机器的 80 端口服务。
想用域名加 HTTPS 访问,可在云服务器上用 Caddy 反向代理到 frps 映射出的端口,由 Caddy 统一处理证书(参见反向代理配置方法)。
三项验证:云服务器上 frps 正常运行、日志无报错;内网机器上 frpc 启动后日志显示成功连接到 frps(start proxy success 类提示);外部用"云服务器IP:remotePort"能访问到内网服务的真实内容。三项都通过,说明穿透链路打通。连不通时按"token 是否一致 → 端口是否放通 → frpc 是否连上 frps"的顺序排查。
frpc 连不上 frps:优先查两点——两端 token 是否完全一致;frps 的 bindPort 是否在云服务器防火墙放通。
连上了但访问不到服务:确认 remotePort 已在防火墙放通;确认内网服务确实在 frpc 配置的 localPort 上运行。
安全加固:token 要用足够复杂的随机串;只暴露确实需要的服务和端口;对暴露出的管理类页面叠加访问鉴权。始终记住只暴露自有、合法的内网服务。
说明:frp 配置格式随版本演进(旧版用 ini、新版用 toml),字段名可能变化,请以 frp 官方文档的当前版本为准。
frp 内网穿透的配置心法是"公网机器跑 frps、内网机器跑 frpc、token 一致、端口放通":云服务器配 frps 并放通端口 → 内网机器配 frpc 指定本地与远程端口 → 外部访问公网 IP 的映射端口即达内网服务。合法合规使用是前提。
腾讯云轻量应用服务器 Lighthouse 提供固定公网 IP、高带宽流量包与内置防火墙,适合作为 frp 内网穿透的公网中转节点,稳定承接内网服务的对外访问入口。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。