IBDNS: Intentionally Broken DNS server(afnic.fr) |
IBDNS: Intentionally Broken DNS server(afnic.fr) |
IBDNS fills a gap in the universe of DNS test tools by offering the possibility of deviating intentionally and on demand from the DNS specifications, and thus simulating incorrect behaviour of authoritative name servers.
I've had so many issues where I'd lose DNS inside pods and had to reschedule CoreDNS in order for it to start working again, hopefully I can finally trigger this on demand and find a solution for it.
Also, for the love that all that is holy, some ISP DNS servers just break if you try using ipv6 only which is just saddening.
I have a different experience - you can query each authoritative server directly to troubleshoot a problem (which makes it easier compare to systems when you have a single endpoint and cannot see beyond it).
Poorly configured by ISP recursive servers though is a common pain - it is relatively easy to create and maintain a well working recursive caching DNS but it looks like ISP just don't care.
And they happen at every level and can combine beautifully. I had a DNS server flooded with Format Error messages, because NTP Pool DNS sent an invalid response for a specific query and two (yet to be identified) clients sent (and still send) that query every second or so, because the response never reaches them. And as the upstream query failed, the DNS server would send the same query every second again to a bunch of other DNS servers, every single response generating another Format Error. Dozens of log lines per second.
Those two generate about 1GB of waste traffic per month. And that's the two buggy machines talking to a small DNS server I manage. I wonder how many junk traffic public DNS servers generate.
This is core infrastructure testing at its finest. I'm sure it will reveal bugs and behaviors noone expected.
Elixir to some extent is just syntactic sugar on top of Erlang.
Elixir is to Erlang as Kotlin is to Java. At the end of the day, it's the same thing. There are some conveniences added, like less verbose ways to deal with GenServer or other abstractions on top of it - but all-in-all it is pretty similar aside from the syntax parts.
You might consider taking it for a spin.
/s
Looked through the source briefly but couldn't understand exactly how it's working, so I'm not sure yet if it's more likely an issue on the server or "browser"...