手把手教你用Frp搭建内网穿透:我的Web后台远程管理方案
大家好,今天想分享一个我最近折腾成功的实用方案 – 用Frp实现内网穿透,搭建自己的远程Web管理后台。这个方案特别适合像我这样需要远程管理家里NAS、树莓派等设备的用户。
为什么选择Frp?
在尝试过花生壳、Ngrok等方案后,我最终选择了Frp。原因很简单:
- 开源免费(这点太重要了)
- 配置灵活,支持TCP/UDP/HTTP/HTTPS
- 性能稳定,我用了半年基本没出过问题
- 社区活跃,遇到问题容易找到解决方案
准备工作
你需要准备:
- 一台有公网IP的VPS(我用的腾讯云轻量服务器)
- 内网需要穿透的设备(我的是群晖NAS)
- 一个域名(可选,但强烈推荐)
安装Frp服务端
首先在VPS上安装Frp服务端:
# 下载最新版
wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
# 解压
tar -zxvf frp_0.44.0_linux_amd64.tar.gz
# 进入目录
cd frp_0.44.0_linux_amd64
修改服务端配置文件frps.ini:
[common]
bind_port = 7000
vhost_http_port = 8080
token = your_secure_token_here
启动服务端:
./frps -c ./frps.ini
配置客户端
在内网设备上安装Frp客户端,配置frpc.ini:
[common]
server_addr = your_vps_ip
server_port = 7000
token = your_secure_token_here
[web]
type = http
local_port = 5000
custom_domains = nas.yourdomain.com
启动客户端:
./frpc -c ./frpc.ini
踩坑记录
这里分享几个我遇到的坑:
- 防火墙问题:第一次配置完死活连不上,原来是VPS的安全组没放行7000和8080端口
- Token配置:服务端和客户端的token必须一致,否则会连接失败
- 域名解析:记得把域名A记录解析到VPS IP,否则自定义域名无法生效
进阶配置
为了让服务更稳定,我做了这些优化:
- 使用systemd管理Frp服务
- 配置HTTPS(用Let’s Encrypt免费证书)
- 设置开机自启
- 添加日志轮转
使用体验
这套方案我已经稳定运行了6个月,通过它我可以:
- 随时随地访问家里的NAS管理界面
- 远程管理树莓派上的Home Assistant
- 分享给家人使用,不用再教他们配置VPN
如果你也在寻找内网穿透方案,Frp绝对值得一试。刚开始配置可能会遇到些小问题,但一旦跑通就会发现它真的很香!
Frp确实好用,我也是用它管理家里的群晖,再也不用担心外网访问问题了