家里没有公网IP、公司内网的服务器只能在局域网里访问、NAS只能在连了家里WiFi时用——这些问题用一台便宜VPS搭个frp内网穿透就能解决。原理很简单:VPS作为公网入口,在VPS和你的内网设备之间建立一条加密隧道,外网用户访问VPS的某个端口就等于访问你家里的设备。
frp是什么、和VPN有什么区别
frp(Fast Reverse Proxy)是一个开源的内网穿透工具。它的工作方式:在你的VPS上运行frp服务端(frps),在你家里的电脑或NAS上运行frp客户端(frpc),客户端主动连接服务端并注册你要穿透的服务。之后外部访问VPS的指定端口,流量就会通过加密隧道转发到你家里的设备。
和VPN的区别:VPN把你整个设备接入一个虚拟网络,所有流量都走VPN通道。frp只穿透你指定的端口——比如你只穿透了家里的3389端口(远程桌面),那只有远程桌面流量走frp,其他上网流量不变。frp更轻量、更精准。
第一步:VPS上部署frp服务端
在VPS上下载frp的最新版本:
# 下载frp(以0.61.0为例,去GitHub查最新版本号)
wget https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz
tar -xzf frp_0.61.0_linux_amd64.tar.gz
cd frp_0.61.0_linux_amd64
# 编辑服务端配置文件
nano frps.tomlfrps.toml 最简配置:
bindPort = 7000 # frp通信端口
auth.token = "设一个强密码" # 客户端连接需要这个token启动服务端:
./frps -c frps.toml
# 确认运行后,设为systemd服务方便管理雨云入门VPS 1核1G就能跑frp——它只是个转发通道不吃资源。优惠码 admin01 首月五折,最低几块钱就能搭一个永久的内网穿透服务。
第二步:家里电脑配置frp客户端
在家里的Windows电脑上下载同版本号的frp(Windows版),编辑 frpc.toml:
serverAddr = "你的VPS公网IP"
serverPort = 7000
auth.token = "和frps.toml里一样的密码"
# 穿透远程桌面(RDP)
[[proxies]]
name = "rdp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 33890 # 外网访问VPS的33890端口就=连到家里电脑的3389在Windows上打开CMD,cd到frp目录,运行 frpc.exe -c frpc.toml。如果能连上服务端,控制台会输出 “start proxy success”。
现在从外网用远程桌面连 你的VPS公网IP:33890,实际上连到的是你家里的那台电脑。VPS只负责转发数据,看不到你的远程桌面内容——因为frp隧道是加密的。
第三步:穿透更多服务
frp能穿透任意TCP/UDP服务,在frpc.toml里加一段就行:
# 穿透家里的NAS管理页面
[[proxies]]
name = "nas-web"
type = "tcp"
localIP = "192.168.1.100" # NAS的局域网IP
localPort = 5000
remotePort = 50000
# 穿透家里的Jellyfin/Plex媒体服务器
[[proxies]]
name = "media"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8096
remotePort = 8096
# 穿透SSH(连到家里的Linux机器)
[[proxies]]
name = "home-ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 22222每加一段就跑一次 frpc.exe -c frpc.toml 重新加载。或者把frpc注册为Windows服务,开机自动启动。
第四步:安全加固
frp只做转发不做过滤,你开了33890端口就等于把你家电脑的远程桌面暴露在公网上了。必须做安全加固:
- 强密码:被穿透的服务(RDP、NAS、SSH)必须有强密码。RDP弱密码被爆破是家常便饭。
- 换个端口号:别用33890这种明显的端口。换成随机五位数,自动扫描器扫不到。
- VPS端用防火墙限制:如果只有固定IP或固定地区的人需要访问,用iptables限制来源IP。或者用stcp/xtcp模式(点对点穿透)代替直接端口映射——外网无法直接扫到这个服务。
- 绑定本地Dashboard:frp Dashboard只监听127.0.0.1,用SSH隧道访问,避免暴露在公网。
frp和Cloudflare Tunnel怎么选
Cloudflare Tunnel(原Argo Tunnel)是免费的内网穿透方案,在安全性和易用性上比自建frp好——自带DDoS防护、不需要自己维护VPS。但两个限制:必须用自己的域名且DNS托管在Cloudflare;不适合大流量传输(视频流会被CDN缓存策略干扰)。
frp的优势是自主可控——VPS在你手里,带宽不限、不依赖第三方服务。需要大流量穿透(比如远程看NAS上的4K视频)或非HTTP服务(RDP、SSH、游戏服务器),frp更合适。
常见问题
frp连接上了但外网访问不到怎么办?
三个检查点:VPS的安全组/防火墙是否开放了remotePort对应的端口;frpc日志里有没有报连接超时(解决:检查token是否一致、7000端口是否通);被穿透的服务本身在本地能正常访问吗(先关了frp再确认本机访问正常)。
frp稳定性怎么样,会断连吗?
长期运行偶尔会断。frpc支持自动重连(默认开启),断了一分钟内会重新连上。如果经常断,可能是VPS到家里的网络不稳定——换一个离你家更近的VPS机房改善。
frp免费版够用吗?
frp完全开源免费,没有”付费版”的区别。你唯一的成本是那台VPS的月费——几块钱一个月。






