樱花内网穿透 SakuraFRP
SakuraFRP 的基本概念
FRP(Fast Reverse Proxy)是一种常用的内网穿透技术,主要用于将内网服务映射到公网,使外部用户能通过公网访问内网资源。
SakuraFRP(樱花 FRP) 是一款基于 FRP 开源项目开发的内网穿透工具,由GitHub 用户和社区成员为维护,其核心功能是帮助用户在无需公网 IP 的情况下,将本地服务(如网站、游戏服务器、远程桌面等)暴露到公网,实现远程访问。
SakuraFrp账号注册需要实名认证,费用¥1。内置服务如下图所示:

从使用到现在已有一年半,个人感觉还是不错的,稳定。根据个人需求,是否开通服务,本人家里宽带下行1000M,上行40M左右,有台旧战神笔记本改了黑群,折腾起Docker,原来的普通款就不够用了,偷偷的升级到了青铜VIP,顿时感觉花钱就是不一样,VIP隧道的质量更好,使用普通款的隧道的卡顿感没有了。
SakuraFRP的帮助文档写的非常详细,看不懂的就多看几遍,折腾的过程才是最有意思的。下面就说一下我使用到的方式。
SakuraFRP的配置
一、远程桌面(RDP)
我需要远程桌面穿透的是黑群晖里的Win10虚拟机
第一步:打开Win10的远程桌面,设置好用户的登录密码;
第二步:创建隧道,选择TCP隧道、填写隧道名、本地虚拟机IP、本地端口、访问密码;
第三步:创建启动器,这里的启动器我是使用的是Docker下的natfrp.com/frpc镜像(镜像仓库无法访问时添加可用的镜像源地址),先创建文件夹,再打开黑群Container Manager(Docker),新增项目,设置好路径,填写YAML文件。
version: "3"
services:
sakura_xianyu:
container_name: sakura_xianyu #容器名称
image: natfrp.com/frpc #使用的镜像名称
restart: on-failure:5 #当服务异常退出(非 0 返回码、被信号终止等)时重启,重启次数:5
# network_mode: host #启用host,使容器直接使用宿主机的 IP 地址和端口与宿主机共享网络命名空间,相当于运行在宿主机上的普通进程
command: --disable_log_color -f 5********************ow:****** #复制隧道配置文件第四步:在容器里可以看到详细信息,查看日志,有错里面会有提示方便排错。此时就可以使用给的域名:端口(建议)或者IP:端口进行远程桌面访问。(Winsows自带RDP远程桌面工具:mstsc)
😎 提示
帮助文档里使用的Windows启动器,下载地址:https://www.natfrp.com/tunnel/download。
使用平台下的
用户信息➡️账户信息➡️访问密钥进行登录,详细操作请查看帮助文档 SakuraFrp启动器安装/使用指南。
二、群晖(Synology)NAS
帮助文档里介绍的是使用DSM套件中心的启动器,本文还是使用Docker下的natfrp.com/frpc镜像进行优雅的安装。
第一步:查看本地端口。启动
控制面板应用,转到系统➡️登录门户➡️DSM➡️网页服务,查看HTTPS的端口号,一般默认5001。
第二步:创建隧道。选择TCP隧道、填写隧道名、这里IP填写的是容器的Bridge的网关、本地端口默认(
[5001]群晖 DSM HTTPS)、访问密码(可选)。
第三步:Docker下创建启动器,还是首先创建文件夹,然后新建项目,填写YAML文件。
version: "3"
services:
sakura_nas:
container_name: sakura_nas
image: natfrp.com/frpc
restart: on-failure:5
network_mode: bridge #网络方式为网桥,不写的话会自动创建一个默认的子网
command: --disable_log_color -f 59*******************sow:1******52第四步:在容器里查看日志。浏览器中使用给的域名或者地址访问你自己的群晖NAS。
😎 提示
还不知道写什莫🤔🤔🤔
三、Web应用(HTTP、HTTPS)
个人博客、Emby、Navidrome等在自己NAS里搭建的web应用都可以在无公网IPv4的情况下使用SakuraFrp进行内网穿透。
Sakura Frp 提供三种 隧道类型 供您穿透 Web 应用:
习惯上,我们把HTTP和HTTPS两种 隧道类型 统称为HTTP(S)隧道。
😎 提示
使用
TCP隧道时,如果您穿透的协议是HTTP,必须使用非内地节点。HTTPS协议不受影响。使用
HTTP(S)隧道时,如果使用内地节点进行穿透,必须使用有备案的域名。部分节点可能有特殊的建站限制,请留意选择节点时显示的备注中是否有相关说明
SakuraFrp穿透节点区别如下:
根据个人的需求选择隧道类型。本人的Web应用内网穿透如下:
1、Emby+HTTPS
需求:本地已经部署好了Emby服务器,无公网IPv4,需要通过自己的域名进行访问。
① 创建隧道:
② 创建
frpc文件夹存放域名证书:
③ 创建启动器项目:填写YAML
version: "3"
services:
sakura_emby:
container_name: sakura_emby
image: natfrp.com/frpc
restart: on-failure:5
volumes:
- /volume1/docker/sakurfrp/sakura_emby/frpc:/run/frpc #证书存放路径
# network_mode: host
command: --disable_log_color -f 59u**************2tsow:19******64④ 查看容器日志,无报错情况下就可以根据你自己的域名访问Emby服务器了。
🧐 提示
创建
HTTP(S)隧道时,必须选择和协议一致的隧道类型,否则无法穿透成功。
2、Navidrome+TCP
需求:本地已部署好了Navidrome音乐服务器,无公网IPv4,简单点使用给的域名+端口号访问。
① 创建隧道:
② 创建文件夹,新增项目,填写YAML文件:
version: "3"
services:
sakura_navidrome:
container_name: sakur_navidrome
image: natfrp.com/frpc
restart: on-failure:5
# network_mode: host
command: --disable_log_color -f 59*****************tsow:21****74③ 查看容器日志,无错误可以使用域名+端口正常进行访问:
四、域名证书导入
帮助文档:在以下两个典型场景中,您可能会需要 为 frpc 配置 SSL 证书,以避免证书错误提示:
- 隧道启用了自动 HTTPS,但服务访问者不支持(或不愿)忽略
证书错误提示- 隧道启用了访问认证,但需要避免认证页面的证书错误提示以增强安全性
本文档将指导您为 frpc 配置 SSL 证书来避免 自动 HTTPS 和 访问认证 功能造成的证书错误提示。
如果您没有使用上述功能,则 不适用 于本文档的内容,请参考您使用的 Web 服务器文档进行配置。
本文使用的都是Docker安装方式,Docker工作目录默认为 /run/frpc,但是该目录中的文件会在容器销毁时丢失,所以需要配置证书的域名,一般在新建项目时将此目录挂载出来,以便后续证书的导入。
1、获取SSL证书
在自己域名的平台申请证书,我的是阿里云的。登录阿里平台进入数字证书管理服务➡️证书管理➡️SSL证书管理➡️个人测试证书(原免费证书)➡️创建证书,申请证书通过后即可下载服务类型为Nginx的证书。
2、配置frpc的SSL证书
Docker下启动器容器存放证书的路径/run/frpc,你自己对应挂载的路径例如:/volume1/docker/sakurfrp/sakura_emby/frpc。首先关闭隧道,再将上面下载的证书解压得到一个.pem和一个.key,将.pem文件重命名为.crt文件,将.crt文件和.key文件放入你挂载的路径里。重新启动隧道并尝试访问。如果您的配置步骤、申请的证书没有问题,那么将不再出现证书错误提示。
😎 提示
后面想到了再补充吧~



















