没有公网IP?通过免费Sakurafrp访问家中群晖nas同时开启https


sakurafrp提供免费的内网穿透服务,它们的服务器大多都在国内,延迟十分优秀,免费用户最多拥有5条10mbps的隧道,每月流量有5Gb上限,但是可以通过签到获取大量流量(每天获得3Gb左右),流量超出后不会停用隧道而是进入限速4mbps的限速模式。作为个人使用访问家中设备的隧道,免费用户已经完全能满足需求了,更详细的流量规则请去它的官网看看吧

首先呢你要有

  • 一个sakurafrp的账号,去这里注册
  • 一个已备案的域名,或未备案的域名(使用高延迟的非中国大陆节点)
  • 你的群晖nas

    获取frpc配置文件

    登录Sakurafrp控制台转到创建隧道

    上面的穿透节点按需选择,我们需要选择可建站的节点来进行穿透,隧道选择https隧道,如果使用tcp协议代理,那么访问域名的时候需要加上端口,不方便也不美观。本地端口请填写你的群晖nas中设置的https访问端口,默认端口是5001(如果你没有改过的话),绑定域名处填写你自己的域名就好了

回到隧道列表,点击刚才创建隧道的配置文件

这个框里面的就是我们要的配置文件了,暂时搁置,后面会用到,还有别忘了将你的域名CNAME到这个节点域名上

安装frpc

ssh连上群晖nas后首先切换为root用户

1
sudo -i

进入/usr/local/bin/目录下载解压frp本体
我的机器是猫盘,采用arm架构的cpu,和群晖DS119J和DS120J一样,请去https://github.com/fatedier/frp/releases找到对应自己机器型号版本的下载地址,用wget <下载地址>来下载,如果连接性不佳,开启群晖上的代理设置,用电脑上的代理软件来连接,或者先把文件通过代理下载到本机,然后上传到群晖nas的/usr/local/bin目录下

1
2
3
4
5
cd /usr/local/bin
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_arm.tar.gz
tar -zxf frp_0.36.2_linux_arm.tar.gz
cp ./frp_0.36.2_linux_arm/frpc ./
chmod 755 frpc

编辑frp配置文件,在上一步完成后输入vim /usr/local/bin/frpc.ini后按”i”开启编辑模式填入上面获取到的配置文件后按ESC键退出编辑,接着输入:wq保存退出

接着要设置开机启动

1
vim /etc/init/frpc.conf

如果您按照本文档进行配置并使用了下面的内容,frpc 会在系统启动时自启并在出错时自动重启,无需额外配置

1
2
3
4
5
6
7
8
9
10
11
description "SakuraFrp synology frpc service"

author "FENGberd"

start on syno.network.ready
stop on runlevel [016]

respawn
respawn limit 0 5

exec /usr/local/bin/frpc -c /usr/local/bin/frpc.ini

保存退出
最后删除一下多余的文件(rm -rf警告!!!)

1
rm -f /usr/local/bin/frp_0.36.2_linux_arm.tar.gz && rm -rf /usr/local/bin/frp_0.36.2_linux_arm

测试frp连接

执行下面的命令测试 frpc 是否能正常运行

1
2
start frpc
tail /var/log/upstart/frpc.log

看到succeed字样就表示连接成功了,除此之外在sakurafrp控制面板的隧道列表里节点前面也会显示[在线]标识

上传证书开启https

进入群晖控制面板-安全性-证书将你的域名证书导入,证书是哪里来的这里不再赘述了,阿里腾讯都有申请免费ssl证书的渠道。如果这里的域名将作为群晖后台的登录域名,就将它设置为默认证书

这样就可以通过https://<你的域名>访问你的群晖nas了

群晖反代nas内其他应用

群晖提供这么方便的证书管理真实不用白不用啊,有些应用例如jellyfin有自己的证书管理,但有些应用提供的证书管理不是那么人性化,于是将证书统一交给群晖管理,还能通过反代加上sakurafrp来实现不用加上端口的访问。
这里拿qbittorrent来做例子,它的访问端口是9080,现在我想通过一个域名来访问,回到上面的新建节点的步骤,选择与前一隧道相同的服务器来建立隧道,本地端口填写9080

创建后打开隧道配置文件,结构应该如下

1
2
3
4
5
6
[common]
......省略......
[你的隧道名称]

......省略......
末尾

这里仅需要将[你的隧道名称]以及后面部分的配置文件添加到群晖nas的frpc配置文件的末尾就行了
通过vim /usr/local/bin/frpc.ini编辑文件后保存退出,重启frpc并查看启动日志

1
2
3
stop frpc
start frpc
tail /var/log/upstart/frpc.log

回到群晖控制面板-应用程序门户-反向代理服务器新增按照如下配置

主机名处填你的域名,保存,再回到控制面板-安全性-证书导入此域名的证书

点击配置,将你的服务切换成对应的证书即可。还是要记得将域名CNAME到sakurafrp的节点域名上,待解析生效后就能通过https://<你的域名>直接访问群晖中qbittorrent的webUI了

加上了ssl后的小锁看的真舒服,不是吗🍋


没有公网IP?通过免费Sakurafrp访问家中群晖nas同时开启https
https://ice.icemilk.cc/archives/a1635f0b.html
作者
Ryza
发布于
2021年4月13日
许可协议