this post was submitted on 30 Dec 2023
252 points (80.9% liked)
Linux
48067 readers
908 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
When it breaks, it isn't always obvious or easy to fix, but can cause problems for anything that has to talk to anything else. The biggest thorn it puts in my side is that short names [ThisPC] are served differently than fqdn [ThisPC.MyDomain.com]. Does NotMyApp use short or FQDN to resolve other machines? I don't find out until the Wireshark.
Okey, I understand this is fundamental and when not working can cause the service to stop working. But I don't yet know how does it break or is not easy to troubleshoot?
Haven't hosted anything big yet, so I always just had to check the records via "dig" command if they are served correctly.
DNS setups can get fairly complicated with enterprise VPNs and stuff, but the main thing is probably just that DNS is built entirely around caching, so when something does go wrong or you’re trying to update something it’s easy for there to be a stale value somewhere. It’s also really fundamental, so when it breaks it can break anything.
Overall, though, DNS isn’t terribly complex. It’s mostly just a key-value store with some caching. Running your own nameservers is pretty cool and will give you a much better understanding of how it all fits together and scales.
Really annoying is when recent devices don't respect the DNS you're advertising or allow configuration (Android...)
My site is behind CGNAT on IPv4 with recently added fully routed IPv6. There are legacy control devices all over it that don't speak IPv6, with local DNS records that allow them to be readily accessed while walking around with a mobile device... Allowed them to be accessed that is, until IPv6.
The Android IPv6 stack ignores the RA for my local DNS and also resolves via v6 by default, forwarding local queries upstream and returning no results. Then it doesn't bother to fall back to v4. Unrooted Android has no exposed configuration for IPv6 of any sort to modify its behaviour, no hosts file to override or any way I can see to fix this. I can't even disable IPv6 on my phone.
So to access my local devices from Android I need to use their full IPv4 address or VPN back into my own network... Oh wait, the stack is so broken that despite setting DNS in Wireguard, it still tries to resolve through upstream v6 first!
Apparently recent smart TVs are doing similar even on IPv4, hard-coded to 1.1.1.1 or 8.8.8.8 to dodge ad blocking, which is plain malicious and ignores all standards...
So anyways this is why DNS is dragon #3