Tailscale MagicDNS companion that injects custom A, CNAME, and SRV records into the tailnet DNS resolver
Tailscale MagicDNS auto-resolves node hostnames inside a tailnet but refuses to let users add arbitrary DNS records (custom A/AAAA/CNAME/SRV/TXT). The feature request has 1138 GitHub reactions dating from 2021. A Tailscale engineer explicitly declined shipping it in January 2022 citing 'product and security considerations' and the 'support burden' of DNS stack interactions across platforms. The only escape valve is Headscale (self-hosted open-source alternative) which does support custom records, or a per-machine DNS sidecar (e.g. Pi-hole pointed as a nameserver) that must be kept in sync manually. The product opportunity is a companion daemon that syncs a user-maintained records file (YAML/TOML) to the Tailscale API's ExtraRecords field (already partially implemented client-side by Tailscale, just not exposed) or runs a split-horizon DNS on each node inside the tailnet.
A CLI proxy that serves custom DNS records into a Tailscale MagicDNS tailnet
1.2k โฒScore Breakdown
Social Proof 1 sources
Gap Assessment
Tailscale engineer bradfitz explicitly stated in Jan 2022: 'Exposing more of it has a ton of product and security considerations and interacts often surprisingly with various DNS stacks on different platforms, which will increase our support burden if we ship it.' Issue still open as of June 2026 with active community frustration. No credible third-party companion tool exists; the hs-cf-dns-sync approach only syncs node IPs to Cloudflare, not arbitrary records to the tailnet resolver.