Tailscale MagicDNS 会悄悄劫持服务器的 DNS

tailscale up 默认 --accept-dns=true。文档把 MagicDNS 描述为一个便利功能——用短名字而不是 IP 来访问 Tailscale 节点。每篇 Tailscale 安装指南都把它当作无害的。在笔记本上,确实无害。在服务器上,它会把你唯一的 DNS 解析器替换成一个用户态转发器,开机时还没就绪,公网查询还会间歇性失败。 TL;DR: MagicDNS 悄悄把 /etc/resolv.conf 改写为 100.100.100.100。在服务器上,这会导致公网域名间歇性 SERVFAIL 和重启后的崩溃循环。修复:关闭 DNS 接管,手动配置解析器。 症状 # 几台用 Tailscale 组网的 Linux 服务器出现了诡异行为: 出站请求随机超时,等 2-3 秒后返回错误 刷新一下又好了;故障反复出现,毫无规律 服务日志里散落着 SERVFAIL 和 i/o timeout 重启后,多个服务同时启动失败,全部报 DNS 解析失败 如果是网络故障,所有请求都会失败。如果是应用 bug,重启不会同时打垮多个无关服务。指向更根本的东西——DNS。 检查 resolv.conf # 在出问题的服务器上: cat /etc/resolv.conf # resolv.conf(5) file generated by tailscale # For more info, see https://tailscale.com/s/resolvconf-overwrite # DO NOT EDIT THIS FILE BY HAND -- CHANGES WILL BE OVERWRITTEN nameserver 100.100.100.100 search your-tailnet.ts.net 看到 100.100.100.100 和 Tailscale 注释头——就是它。MagicDNS 默认开启。它接管 /etc/resolv.conf,把 Tailscale 内置转发器变成整个系统唯一的 DNS 解析器。所有 DNS 查询——应用解析 api.example.com、apt 检查 security.debian.org——全部经过它。 ...

2026年2月24日 · 3 分钟 · Z Cube