tailscale 引发的 QNAP DNS 解析故障
2024-12-24 14:27:21
This post is also available in English and alternative languages.
今日发现位于 QNAP NAS 上的 QbitTorrent 无法抓取 RSS 订阅,本以为是 PT 站域名被污染,但 NAS 执行 dig/ping 均无法解析域名,因而断定是 DNS 问题。
less /etc/resolv.conf
查看 DNS 配置,发现被 tailscale 覆盖,如下所示:
1 | # resolv.conf(5) file generated by tailscale |
简单来说,tailscale 会劫持本地 DNS 配置,以将 VPN 子网内的计算机名解析至对应 IP。不知出于什么原因,上游挂了,但本地客户端超时未 fallback 至 local DNS,导致全部 DNS 请求失败。时间宝贵,暂时不想深究,直接禁用 MagicDNS 完事。
两个途径
- 全局禁用 MagicDNS:在 tailscale Admin Console 中关闭 MagicDNS 功能。
- 单机禁用
resolv.conf
覆盖:tailscale set --accept-dns=false
。QNAP QTS 中 tailscale 以软件包形式安装,因此对应二进制文件不在常见bin
或sbin
路径下,而是在特定存储池(安装 QPKG 时必须勾选)的.qpkg
隐藏目录下。直接使用ps
查看 tailscale 二进制文件路径。我这安装在DataVol1
下,因此执行/share/CACHEDEV1_DATA/.qpkg/Tailscale/tailscale set --accept-dns=false