Tailscale在DSM7的群晖ISCSI及同步修复
Synology DSM7 对允许的套件进行了更严格的限制。默认情况下,带有 DSM7的NAS上的Tailscale 仅允许到 NAS设备的入站连接,但未启用来自 NAS上运行的其他应用程序的出站 Tailscale 访问。例如,以文件同步而言,在默认情况下,别的客户端能将该NAS作为服务器进行同步操作,但是该NAS无法同步到其他NAS。这给有NAS间同步需求的小伙伴们带来了不小的困惑。
通过查阅Tailscale官方文档,我们可以找到解决方案。
- 限制原因:原因是 Tailscale 包没有创建 TUN 设备的权限。
- 解决方案:要启用 TUN,以允许来自 Synology 设备上运行的其他设备的出站连接,需要按下列步骤进行操作:
- 1.Tailscale版本确认:确保您运行的是 Tailscale v1.22.2 或更高版本
- 2.增加开机任务:
- 在群晖中,进入控制面板> 任务计划,选择“新增”,然后选择“触发的任务”——“用户定义的脚本”。
- 当创建任务窗口出现时,选择“常规”选项卡。然后先输入任务名称,选择 root 作为任务将为其运行的用户,然后选择开机作为触发任务的事件。确保任务已启用。
- 选择“任务设置”选项卡,在“运行命令”——“用户定义的脚本”区输入以下内容:
- /var/packages/Tailscale/target/bin/tailscale configure-host; synosystemctl restart pkgctl-Tailscale.service
- 点击“确认”保存设置。
- 3.调整群晖防火墙设置:(如果未设置防火墙,此处无需修改)
- 启用 TUN 后,Tailscale 流量将受到 Synology 内置防火墙的约束。默认情况下,防火墙处于禁用状态。但是,如果您启用了它,请为 Tailscale 子网 100.64.0.0/10 添加例外。
- 在“控制面板”>“安全性>防火墙”>主菜单中,点击“防火墙配置文件”——“default”后面的“编辑规则”,在弹出来的页面的“防火墙规则”点击“新增”,在新弹出来的编辑防火墙规则页的“来源IP”选中“特定IP地址”,点击“选择”,在新弹出的来源IP页面点击“子网”,IP地址项填“100.64.0.0 ”,子网掩码长度项填“255.192.0.0 ”,点击确定,然后逐级确定,最后在确保该项规则首页是选“允许”且“已启用”后应用修改。
- 4.重启Tailscale:
- 重新启动 Synology 设备。或者,为避免重启,请在设备上以 root 身份运行上述用户定义的脚本,以重启 Tailscale 软件包。
- 注意:升级 Tailscale 包将需要再次运行上述脚本。升级 Tailscale 时,请以 root 身份运行上述脚本,或重新启动 Synology 设备。
- 总结:
- 通过上述开机任务的添加,可以保证TUN 设置在设备重新启动后保留,从而实现了Tailscale的出站连接功能,从而该NAS可以正常同步到其他的NAS,实现了两台群晖NAS间的同步。