























由于中日跨境网络在高峰期对 UDP 流量有严重的 QoS1,先前使用 ZeroTier 的方案在实际环境中几乎是不可用的,因此计划尝试一下 Tailscale。
对比 ZeroTier,个人任务切换到 Tailscale 有如下优势:
Warning
为尽可能保持连接稳定,本次所有的操作都在 02:00 (+09:00) 之后进行。
Caution
在完全配置成功并通过测试前,绝不能也不应该断开任何 ZeroTier 连接。
Tailscale 似乎只提供了 OAuth 登录的方式,无法通过邮箱注册,不过无妨。

设备连接的流程和 ZeroTier 基本一致,主要讲讲 Nas 侧的操作。
同样使用 Docker,这次使用 Docker Compose 安装 tailscale/tailscale 镜像。
Compose 文件的编写可以参考官方的安装指南以及示例仓库,我依旧打算使用 host 作为网络模式,以下是目前使用的配置:
---
version: "3.7"
services:
tailscale:
image: tailscale/tailscale:latest
container_name: tailscale
hostname: # 主机名将被 Tailscale 自动识别作为设备及路由名称
network_mode: host
restart: always # 始终保持自动重启
privileged: true
environment:
# - TS_AUTHKEY= # Auth Key 仅用与第一次激活,不是非常推荐使用
- TS_STATE_DIR=/var/lib/tailscale
- TS_USERSPACE=false
volumes:
- ${PWD}/tailscale/state:/var/lib/tailscale
devices:
- /dev/net/tun:/dev/net/tun保存后运行 Compose,可以在日志中看到如下输出:

在浏览器中访问该链接,使用同一账号授权登录,确认连接设备:

如果配置无误,应当可以顺利成功连接:

为了避免远程失联,建议进入设备面板后,点击 Disable key expiry,将设备永远保持在线,防止在 180 天后需要再次授权登录。

另外,MagicDNS 劫持了本地 DNS,以实现通过设备名称直接访问,而无需输入 IP。
官方提供了将设备作为流量出口的功能,即本地的互联网流量将被转发至目标设备再访问互联网。
这需要修改 Compose 文件,在环境变量中添加一项:
environment:
- TS_EXTRA_ARGS=--advertise-exit-node --reset --accept-dns=false--advertise-exit-node - 声明为出口节点,后续需要批准--reset - 重置状态配置,防止旧缓存存在而导致新配置不生效的情况--accept-dns=false - 拒绝接管本地 DNS,保护宿主机网络稳定性在设备面板的 Routing Settings 下,批准 Exit Node 设置:

接着就可以在本地设备上开启流量转发:

Footnotes
Quality of Service,服务质量;运营商通过对流量进行识别、优先级调度及流量整形,在带宽受限或拥塞的环境下,确保特定业务流获得预期的延迟、抖动和吞吐量保障。 ↩
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。