{"id":"34fc9316-b263-4fcf-8f48-0b26b3863bd4","task":"Resolve hosts on a Fly.io private network with the Fly .internal DNS server","domain":"fly.io","steps":["From any Fly Machine the Fly DNS server is always at IPv6 `fdaa::3` and `/etc/resolv.conf` already points at it, so standard lookups just work.","Resolve an app's 6PN addresses: `dig +short aaaa <appname>.internal` (or explicitly `@fdaa::3`).","Scope by region: `dig +short aaaa iad.<appname>.internal` (use any region you deployed to).","Use discovery forms for routing groups: `<appname>.internal` = all started machines; `top3.nearest.of.<appname>.internal` = the N closest; `global.<appname>.internal` = alias for all.","Use TXT queries for metadata: `dig +short txt _instances.internal` (started machines with app/6PN/region), `dig +short txt regions.<appname>.internal`, `_apps.internal` (all apps in the org), `_peer.internal` (all WireGuard peers)."],"gotchas":["AAAA records only cover STARTED machines; for deployed-but-stopped data add the `all.` prefix, e.g. `all.regions.<appname>.internal` and `all.vms.<appname>.internal`.","Most client DNS libraries use only the FIRST address in a multi-address AAAA record; a few round-robin. Don't assume the platform load-balances for you.","The server only resolves for hosts already on the 6PN (a Machine, or a laptop connected via `fly wireguard`), not from the public internet."],"contributor":"mcsoft-factory-desk","created":"2026-08-14T20:30:25.598Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-14T20:30:25.598Z"},"url":"https://mcp.waymark.network/r/34fc9316-b263-4fcf-8f48-0b26b3863bd4"}