SakuraFRP 的基本概念

  • FRP(Fast Reverse Proxy)是一种常用的内网穿透技术,主要用于将内网服务映射到公网,使外部用户能通过公网访问内网资源。

  • SakuraFRP(樱花 FRP) 是一款基于 FRP 开源项目开发的内网穿透工具,由GitHub 用户和社区成员为维护,其核心功能是帮助用户在无需公网 IP 的情况下,将本地服务(如网站、游戏服务器、远程桌面等)暴露到公网,实现远程访问。

  • SakuraFrp账号注册需要实名认证,费用¥1。内置服务如下图所示:

服务1.png

服务2.png

从使用到现在已有一年半,个人感觉还是不错的,稳定。根据个人需求,是否开通服务,本人家里宽带下行1000M,上行40M左右,有台旧战神笔记本改了黑群,折腾起Docker,原来的普通款就不够用了,偷偷的升级到了青铜VIP,顿时感觉花钱就是不一样,VIP隧道的质量更好,使用普通款的隧道的卡顿感没有了。

SakuraFRP的帮助文档写的非常详细,看不懂的就多看几遍,折腾的过程才是最有意思的。下面就说一下我使用到的方式。

SakuraFRP的配置

一、远程桌面(RDP)

SakuraFRP远程桌面(RDP)穿透指南

我需要远程桌面穿透的是黑群晖里的Win10虚拟机

  • 第一步:打开Win10的远程桌面,设置好用户的登录密码;

RDP1.png

  • 第二步:创建隧道,选择TCP隧道、填写隧道名、本地虚拟机IP、本地端口、访问密码;

RDP2_1.png

  • 第三步:创建启动器,这里的启动器我是使用的是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:******   #复制隧道配置文件

docker镜像仓库新增可用源.png

RDP3.png

docker文件夹.png

RDP新增项目.png

  • 第四步:在容器里可以看到详细信息,查看日志,有错里面会有提示方便排错。此时就可以使用给的域名:端口(建议)或者IP:端口进行远程桌面访问。(Winsows自带RDP远程桌面工具:mstsc)

RDP日志.png

😎 提示

帮助文档里使用的Windows启动器,下载地址:https://www.natfrp.com/tunnel/download。

使用平台下的 用户信息 ➡️ 账户信息 ➡️ 访问密钥 进行登录,详细操作请查看帮助文档 SakuraFrp启动器安装/使用指南

二、群晖(Synology)NAS

群晖(Synology)NAS穿透指南

群晖DSM7穿透指南(frpc)

帮助文档里介绍的是使用DSM套件中心的启动器,本文还是使用Docker下的natfrp.com/frpc镜像进行优雅的安装。

  • 第一步:查看本地端口。启动控制面板应用,转到系统➡️登录门户➡️DSM➡️网页服务,查看HTTPS的端口号,一般默认5001。

DSM1.png

  • 第二步:创建隧道。选择TCP隧道、填写隧道名、这里IP填写的是容器的Bridge的网关、本地端口默认([5001]群晖 DSM HTTPS)、访问密码(可选)。

DSM_bridge.png

DSM2.png

  • 第三步: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)

Web应用穿透指南

个人博客、Emby、Navidrome等在自己NAS里搭建的web应用都可以在无公网IPv4的情况下使用SakuraFrp进行内网穿透。

Sakura Frp 提供三种 隧道类型 供您穿透 Web 应用:

隧道类型

支持的协议

带端口访问

用自己的域名

访问形式

TCP

HTTP / HTTPS

必须

可选

http://frp-xxx.com:12345

https://frp-xxx.com:12345

HTTP

HTTP

不需要

必须

http://自己的域名

HTTPS

HTTPS

不需要

必须

https://自己的域名

习惯上,我们把HTTPHTTPS两种 隧道类型 统称为HTTP(S)隧道。

😎 提示

使用TCP隧道时,如果您穿透的协议是HTTP,必须使用非内地节点。HTTPS协议不受影响。

使用HTTP(S)隧道时,如果使用内地节点进行穿透,必须使用有备案的域名

部分节点可能有特殊的建站限制,请留意选择节点时显示的备注中是否有相关说明

SakuraFrp穿透节点区别如下:

节点

隧道类型

实名认证

ICP备案

访问认证

内地

HTTP(S)

必须

必须

不需要

内地

TCP

必须

不需要

不需要

其他

HTTP(S)

必须

不需要

不需要

其他

TCP

必须

不需要

不需要

根据个人的需求选择隧道类型。本人的Web应用内网穿透如下:

1、Emby+HTTPS

需求:本地已经部署好了Emby服务器,无公网IPv4,需要通过自己的域名进行访问。

节点选择

隧道类型

支持的协议

带端口访问

用自己的域名

ICP备案

访问认证

其他

HTTPS

HTTP(S)

不需要

必须

不需要

不需要

  • ① 创建隧道:

frpc_emby_1.png

  • ② 创建frpc文件夹存放域名证书:

frpc_emby1.png

  • ③ 创建启动器项目:填写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,简单点使用给的域名+端口号访问。

节点选择

隧道类型

支持的协议

带端口访问

用自己的域名

ICP备案

访问认证

内地

HTTPS

HTTP(S)

需要

可以,使用DNS域名解析

不需要

不需要

  • ① 创建隧道:

frpc_navidrome.png

  • ② 创建文件夹,新增项目,填写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_navidrome1.png

四、域名证书导入

配置frpc使用的SSL证书

帮助文档:在以下两个典型场景中,您可能会需要 为 frpc 配置 SSL 证书,以避免证书错误提示:

  • 隧道启用了自动 HTTPS,但服务访问者不支持(或不愿)忽略证书错误提示
  • 隧道启用了访问认证,但需要避免认证页面的证书错误提示以增强安全性

本文档将指导您为 frpc 配置 SSL 证书来避免 自动 HTTPS 和 访问认证 功能造成的证书错误提示。

如果您没有使用上述功能,则 不适用 于本文档的内容,请参考您使用的 Web 服务器文档进行配置。

本文使用的都是Docker安装方式,Docker工作目录默认为 /run/frpc,但是该目录中的文件会在容器销毁时丢失,所以需要配置证书的域名,一般在新建项目时将此目录挂载出来,以便后续证书的导入。

1、获取SSL证书

在自己域名的平台申请证书,我的是阿里云的。登录阿里平台进入数字证书管理服务➡️证书管理➡️SSL证书管理➡️个人测试证书(原免费证书)➡️创建证书,申请证书通过后即可下载服务类型为Nginx的证书。

SSL1.png

SSL2.png

SSL3.png

2、配置frpc的SSL证书

Docker下启动器容器存放证书的路径/run/frpc,你自己对应挂载的路径例如:/volume1/docker/sakurfrp/sakura_emby/frpc。首先关闭隧道,再将上面下载的证书解压得到一个.pem和一个.key,将.pem文件重命名为.crt文件,将.crt文件和.key文件放入你挂载的路径里。重新启动隧道并尝试访问。如果您的配置步骤、申请的证书没有问题,那么将不再出现证书错误提示。

SSL4.png

😎 提示

后面想到了再补充吧~

文章作者: BTMMD
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 BTMMD
内网穿透 黑群 SarkuraFRP Docker
喜欢就支持一下吧