使用 resolvectl 解决 Tailscale MagicDNS

前言

Debian 12.5,已安装 systemd-resolvedtailscale 也已经正常运行。
Tailscale 的 MagicDNS 会覆盖系统的 DNS 配置,而且其 DNS 控制面板不能为单独某个服务设置 DNS,导致服务器更新时无法使用内网 DNS。

解决

  1. 关闭 Tailscale 的 MagicDNS
    1
    tailscale up --accept-dns=false
  2. 使用 resolvectl 设置 DNS
    1
    2
    3
    sudo resolvectl dns tailscale0 100.100.100.100
    # 这里的 `xxx-xx.ts.net` 是你的 Tailscale Magic NameServer 地址
    sudo resolvectl domain tailscale0 xxx-xx.ts.net
  3. 检查是否生效
    1
    resolvectl status tailscale0
  4. 测试
    1
    2
    # 用 `xxx.com` 替换为你的内网域名
    resolvectl query xxx.com