Comment on How do people handle authoritative DNS redundancy for their self-hosted workloads?
dave@lemmy.pootis.network 3 hours ago Basically my internal DNS zonefile is configured like this (it should be easier to read than my explanation):
coredns_config: zoneFiles: - filename: int.pootis.network.zone domain: int.pootis.network contents: | $ORIGIN int.pootis.network. $TTL 300 @ SOA ns.int.pootis.network. admin.pootis.network. ( 2026082001 1200 300 1209600 300 ) @ NS ns.int.pootis.network. ns AAAA {{ k8s_dns_ipv6 }} ns A {{ k8s_dns_ipv4 }} vault CNAME internaltraefik.internaltraefik.svc.{{ k8s_cluster_domain }}. cinny CNAME internaltraefik.internaltraefik.svc.{{ k8s_cluster_domain }}. grafana CNAME internaltraefik.internaltraefik.svc.{{ k8s_cluster_domain }}. stalwart CNAME internaltraefik.internaltraefik.svc.{{ k8s_cluster_domain }}. lemmy CNAME internaltraefik.internaltraefik.svc.{{ k8s_cluster_domain }}. mail CNAME stalwart.stalwart.svc.{{ k8s_cluster_domain }}. webmail CNAME internaltraefik.internaltraefik.svc.{{ k8s_cluster_domain }}. ; ACME challenges ; int.pootis.network + *.int.pootis.network _acme-challenge CNAME 1ca12d2c-8034-4a09-a940-dc59bd4f38d8.acme-dns.pootis.network. ; mail.int.pootis.network _acme-challenge.mail CNAME d175b66d-909f-46ba-8572-636ebc235d4c.acme-dns.pootis.network.
mschae@discuss.mschae23.de 3 hours ago
Interesting, that’s much more sophisticated than my setup (though to be fair, I host my services on a rented VPS instead of home)!
Could still set up a recursive resolver for external DNS, but I guess that wouldn’t help other people who use a bad resolver. Tricky situation.
Yeah, the issue is that people’s resolvers are wildly different and I guess some of them do not cater to weird and wacky self-hosting setups (most people just use anycast highly-available DNS, usually provided by a registrar or by some other company).
I had a hunch that resolvers break because one of my nodes does not have a public IPv6 address: meaning,
178.44.116.85, acts as NSns1. It has IPv6 connectivity but no external IPv6;91.219.150.30and IPv62a06:dd00:1:4::4189, acts as NSns2.If node4 decides to break, then
ns2becomes unavailable - but since resolvers can see thatns1does not have an IPv4 address, and since everyone knows that IPv6 is better because 6 is greater than 4, then these resolvers would always preferns2, even though it’s clearly down.This could be solved by asking my ISP to set up a static IPv6 prefix for me (they already provide static IPv4), except my ISP does not do that, unfortunately. I could also rent another VPS (so I would have two VPS’es, giving me some resilience from downtimes) but that means extra $$$… anyway, I guess I should probably test the IPv6-preference hypothesis first and then act on the results.