Docker 部署 SakuraFrp 客户端
参考官方文档:https://doc.natfrp.com/app/synology.html
- 安装 Docker 套件
- 拉取镜像:natfrp/frpc
- 在打开 Docker 套件的 网络 页面,查看
bridge
网络的 子网,把 最后一个0
换成1
作为 本地 IP。举个例子,子网172.17.0.0/16
对应的 本地 IP 就是172.17.0.1
。 - 前往 Sakura Frp 管理面板使用之前获取到的信息创建一条 TCP 隧道,本地 IP 填写上面获取到的 IP,例如
172.17.0.1
,端口选择 5001,即 DSM 的 HTTPS 端口。 - 在隧道列表中点击刚才创建的隧道右边三个点,选择 配置文件 并在弹出的对话框中复制隧道的 启动参数,类似于这样的
-f 6i862oypc561ipo5ku9uz895o40jh73:7605087
。 - 新建容器,镜像选择natfrp/frpc,选择开机自启。
- 转到 环境 标签,在 命令 处粘贴 启动参数,然后点击上面的 新增 按钮分别填写
LANG
和en_US.UTF-8
- 启动后可以在日志中看到访问 URL。
启动多个隧道
使用以下参数即可启动多个隧道,参考 https://doc.natfrp.com/faq/frpc.html
-f <访问密钥>:<隧道ID>,<另外一个隧道ID>,<更多隧道ID>,n<节点ID>,n<另外一个节点ID>,...
例如
-f 6i862oypc561ipo5ku9uz895o40jh73:7605087,7605086,7605085
SSL 证书配置
但尝试过后发现无法使用,原因未知(浪费 5 个小时
最后使用 DSM 自带的反向代理解决。
首先,准备一个域名,使用 CNAME 解析到 SakuraFrp 的节点地址,参考 https://doc.natfrp.com/app/http.html#setup-dns
接着给域名申请一个 SSL 证书,格式选择 Nginx,下载保存。
DSM
直接在 DSM 的安全设置中,选择添加证书,选择刚刚自己申请的证书,并且设为默认证书,替代原有自签证书即可。
SakuraFrp 面板穿透配置:
本地 IP:172.17.0.1 # 根据自己 Docker 网卡设置
本地端口:5001
自动 HTTPS:禁用
就可以使用https://自己域名地址:穿透后端口号
访问了。
Home Assistant
在 DSM 的登录门户设置中,选择高级 - 反向代理服务器,添加一个反向代理。
来源:
协议:HTTPS
主机名:*
端口:8124
目的地:
协议:HTTP
主机名:127.0.0.1
端口:8123
SakuraFrp 面板穿透配置:
本地 IP:172.17.0.1 # 根据自己 Docker 网卡设置
本地端口:8124
自动 HTTPS:禁用
Home Assistant App 配置:
内部 URL:http://NAS 局域网 IP 地址:8123
外部 URL:https://自己域名地址:穿透后端口号