雨云内网穿透实战:frp搭建与安全加固指南

雨云公网机器跑 frps、内网设备跑 frpc,把 NAS/树莓派/开发机安全暴露到公网
发布于
3

家里有台 NAS 想在外面访问、本地开发机跑了调试接口想给客户看、公司的测试环境没公网 IP——这些场景有一个共同解法:内网穿透。拿一台有公网 IP 的雨云云服务器跑 frp 服务端,内网机器跑 frp 客户端,安全地把内部服务映射到公网端口。

一、为什么用雨云做 frp 服务端

frp 服务端需要固定公网 IP 和稳定带宽。雨云云服务器正好满足,最低配就够了——frp 本身是转发流量,不怎么吃 CPU,主要吃带宽。新购用优惠码 admin01 走专属入口 https://www.jiyueip.com/link/5617 五折,专门开一台小机器当穿透网关成本极低。

二、frp 服务端安装

wget https://github.com/fatedier/frp/releases/download/v0.58.0/frp_0.58.0_linux_amd64.tar.gz
tar xzf frp_*.tar.gz
cd frp_*

编辑 frps.toml

bindPort = 7000
auth.token = "你的强密码至少32位"
vhostHTTPPort = 80
vhostHTTPSPort = 443

关键:token 必须设,否则任何人扫到 7000 端口都能用你的 frp 转发,等于把内网门钥匙扔大街上。

三、frp 客户端(内网机器)配置

在需要被穿透的内网机器上装同样的 frp,编辑 frpc.toml

serverAddr = "雨云公网IP"
serverPort = 7000
auth.token = "你的强密码至少32位"

[[proxies]]
name = "web"
type = "http"
localIP = "127.0.0.1"
localPort = 8080
customDomains = ["nas.yourdomain.com"]

customDomains 指向的域名 A 记录解析到雨云 IP。访问 nas.yourdomain.com,frp 服务端根据域名识别代理条目,转发到内网 8080 端口。

四、协议类型选择

类型 场景 说明
tcp SSH、MySQL、自定义 TCP 端口映射,最通用
http 网站、Web 面板 按域名路由,一个 80 端口跑多个服务
https HTTPS 站点 证书在服务端统一管理
udp DNS、游戏 不常用但支持

五、安全加固

  • token 用 openssl rand -hex 32 生成,设到 32 位以上;
  • frp 服务端的 dashboard 端口(默认 7500)不要开公网,只看内网;
  • 用 Nginx 反代 frp 的 HTTP/HTTPS 流量,加一层限流(limit_req)和日志;
  • 被穿透的端口通过 frp 后就暴露在公网了,内网服务自己也要做好鉴权(密码、密钥)。

六、HTTPS 穿透与证书

frp 服务端可以配置统一的 TLS 证书,所有穿透出来的 HTTPS 服务共用一张证:

# frps.toml 追加
vhostHTTPSPort = 443
# 证书路径
tls.certFile = "/etc/ssl/yourdomain.crt"
tls.keyFile = "/etc/ssl/yourdomain.key"

这样内网所有 HTTP 服务外面都通过 HTTPS 访问,不用每台内网机器自己管 SSL。配合本站 HTTPS 证书自动续期那篇,acme.sh 自动续即可。

七、内网穿透 vs 端口映射 vs DDNS

有公网 IP 的内网机器直接用端口映射 + DDNS 最省事;没有公网 IP(运营商大内网)只能用内网穿透。frp 是这几种方案里灵活性最高的,代价是需要一台公网中转机。

八、常见踩坑

  • token 忘设或太弱,被人扫到拿来当免费代理;
  • frpc 和 frps 版本不一致,协议不兼容;
  • frps.ini(老版本)和 frps.toml(0.52+)格式不同,别照搬旧教程;
  • 穿透出去的 HTTP 服务如果没做鉴权(NAS 管理页、本地面板),等同于把家里后门打开。

常见问题

关于用雨云做内网穿透的常见疑问,下面一并解答。

常见问题(FAQ)

frp 和端口映射有什么区别?
端口映射需要你有公网 IP 且在路由器上配置——很多家庭宽带没有公网 IP。frp 通过一台有公网 IP 的中转机(雨云服务器)转发流量,适应运营商大内网环境。
frp 安全吗?会不会被人盗用?
设强 token(至少32位随机字符)就不会。没有 token 的 frp 服务端等于公网开放代理,扫到就能用。token + 服务端端口不对外暴露非必要功能(dashboard只绑内网),安全性足够。
穿透出去的 HTTP 服务怎么加 HTTPS?
在 frp 服务端配统一 TLS 证书,所有穿透的 HTTP 服务访问时自动走 HTTPS,不用每台内网机器单独管 SSL。证书配合 acme.sh 自动续。
frp 客户端支持哪些系统?
支持 Linux、Windows、macOS、ARM(树莓派/OpenWrt路由器)、FreeBSD 等,几乎覆盖所有主流设备。下载对应平台的 frpc 二进制即可。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600