孙亮亮
返回 家庭网络

家庭网络

家庭网络内网穿透实战:用 frp 自建隧道把 NAS、摄像头与内网站点安全暴露到公网

2026年10月21日

手把手用 frp 自建内网穿透,把 NAS 与摄像头安全映射到公网。

内网穿透frp远程访问家庭网络NAS

家庭网络内网穿透实战:用 frp 自建隧道把 NAS、摄像头与内网站点安全暴露到公网

摘要:没有公网 IP 或不想配置 VPN 时,frp 这种反向代理隧道是暴露家庭内网服务最轻量的方案之一。本文从架构、服务端部署、客户端映射、安全加固到带宽取舍,给出一套可落地的配置。

一、什么时候需要内网穿透,它和 VPN 有什么区别

很多家庭宽带是运营商 NAT 或 CGNAT,拿不到独立公网 IPv4;即便有 IPv6,手机在纯 IPv4 网络下也连不进来。此时有两条路:一是 Tailscale、WireGuard 这类 VPN(组网后像在同一局域网),二是 frp 这类"反向代理隧道"。

区别很关键:VPN 是"先连进局域网再访问",适合自己用、要访问很多设备;frp 是"把某一个端口映射出去",适合对外暴露单个服务,比如让朋友访问你的 Jellyfin、让监控 App 连家里的 RTSP。本文聚焦 frp,前提是你的服务端跑在一台有公网 IP 的云服务器(哪怕最便宜的 1 核 1G 轻量云即可)。

二、frp 的架构:frps 与 frpc

frp 分两端:

  • frps(server):部署在公网服务器,监听一个控制端口(默认 7000)和你要对外开放的端口;
  • frpc(client):部署在家里,比如 NAS 的 Docker 或一台 24 小时开机的树莓派/小主机,主动连到 frps,并把本地服务"反拉"出去。

流量路径是:手机 → 公网服务器 frps → 加密隧道 → 家里 frpc → 本地 NAS:5000。家里这边不需要公网 IP,只要能出网就行。

三、服务端 frps 配置(带 TLS 与鉴权)

下载 frp 二进制(github.com/fatedier/frp),服务端只用 frps。最小安全配置:

[common]
bind_port = 7000
token = 一段足够长的随机字符串
transport.tls.force = true
# 可选:Dashboard 监控
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 另一段强密码

要点:一定要设 token,否则别人能随意注册隧道;force TLS 避免明文;dashboard 不要直接暴露公网,建议用 SSH 隧道或反代加 Basic Auth 访问。防火墙只开放 7000 和你要映射出去的端口。

四、客户端 frpc 映射多个服务

家里 frpc 的配置文件按"服务名"分段,把不同本地端口映射出去:

[common]
server_addr = 你的服务器IP
server_port = 7000
token = 同上
tls_enable = true

[NAS-web]
type = tcp
local_ip = 127.0.0.1
local_port = 5000
remote_port = 5000

[Camera-RTSP]
type = tcp
local_ip = 192.168.1.64
local_port = 554
remote_port = 8554

访问时就是 服务器IP:5000 进 NAS、服务器IP:8554 进摄像头。注意 RTSP over TCP 穿透后延迟取决于服务器带宽,外网看监控建议用 sub stream(子码流)降低码率。

五、用 stcp 做"私密代理"避免端口裸奔

上面的 tcp 模式等于把端口直接挂公网,任何人都能扫到。更安全的做法是 stcp(secret tcp):只有持有相同 sk(密钥)的访客端才能连。

服务端无需改,客户端两端都要配:家里 frpc 配 [xxx] type=stcp,你的笔记本上也跑一个 frpc 配 role=visitor,本地起一个端口转发。这样对外没有任何开放端口,安全性高一个量级。适合 SSH 管理、数据库这类不能暴露的服务。

六、带宽、延迟与稳定性取舍

frp 的所有流量都经过你的云服务器中转,所以瓶颈在服务器带宽。轻量云通常 3–5 Mbps,看 4K 会卡,建议只穿透管理端口或子码流;大流量需求(如远程看原画)还是回到 Tailscale/WireGuard P2P 直连更合适。

另外注意:frpc 掉线会导致服务短暂不可达,建议配 admin_addr 或进程守护(systemd / Docker restart: always),并开启 frps 的 log 排查。部分云厂商对长期大流量会限速,量力而行。

小结

frp 是家庭无公网 IP 场景下暴露单服务的利器:服务端一把 token+TLS,客户端按服务分段映射,敏感端口改用 stcp 私密代理。它和 VPN 互补——VPN 管"进网",frp 管"出服务"。但所有流量过服务器,带宽与安全都要算清楚,别把高风险端口裸奔上公网。

本模块其他文章

家庭网络故障排查实战:用 ping、traceroute 与 mtr 定位断网卡顿,tcpdump 抓包锁定 DNS 污染家庭网络智能 DNS 分流实战:用 mosdns 实现国内外域名解析加速与 DoH 防污染家庭网络 Wake-on-LAN 远程开机实战:BIOS 设置、魔术包与跨 VLAN 唤醒转发家庭网络流量监控与异常排查实战:用 vnStat + ntopng 摸清每台设备的带宽占用家庭 Wi-Fi 7 落地实测:MLO 多链路聚合、320MHz 频宽与终端兼容性避坑家庭软路由选购与部署实战:x86 迷你主机装 OpenWrt、网口直通与功耗控制家庭网络双线负载均衡与故障切换实战:OpenWrt MWAN3 配置两条宽带叠加与智能分流家庭 VPN 远程安全接入实战:WireGuard 部署、客户端配置与智能分流家庭宽带 QoS 与 SQM 抗缓冲膨胀实战:用 OpenWrt CAKE 解决视频会议卡顿与游戏延迟家庭网络 VLAN 划分实战:用 OpenWrt 把 IoT、监控、访客与办公网络隔离家庭 Wi-Fi 无缝漫游实战:802.11k/v/r 快速切换与 AP 布点优化家庭 DNS 优化与去广告实战:AdGuard Home 旁路由部署与缓存加速家用 2.5G 内网实战升级:从千兆瓶颈到 NAS 直连提速的完整落地家庭网络 IPv6 公网访问实战:光猫桥接、路由器前缀下发与内网服务安全暴露家庭 Wi-Fi 卡顿怎么查:信道、漫游与 iperf3 实测定位用 AdGuard Home 在 NAS 自建全家去广告 DNS:部署、规则与排错Mesh 组网实践:让全屋 WiFi 没有死角IoT VLAN 隔离:把摄像头关进"笼子"里家庭网络拓扑:从光猫到全屋覆盖的一次落地
家庭网络内网穿透实战:用 frp 自建隧道把 NAS、摄像头与内网站点安全暴露到公网 · 孙亮亮