TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Why is DNS still hard to learn?

507 pointsby TangerineDreamalmost 2 years ago

58 comments

tristoralmost 2 years ago
I don&#x27;t agree with this article. I think DNS is something few people take the time to learn, but it&#x27;s not actually hard to learn. One of the great things about DNS is that the system itself will tell you about it&#x27;s internal state in response to queries. It&#x27;s very easy to inspect a DNS server for a known zone and understand how it works, and there&#x27;s very good tooling that&#x27;s free and widely available to do this (like dig).<p>It&#x27;s always been a big surprise to me that my DNS expertise is what seems to be most memorable for a lot of folks I&#x27;ve worked with through my career, when I don&#x27;t believe I know anything mystical or special. DNS is extremely well standardized, the most common server and client implementations rigorously follow the standard, and it&#x27;s very easy to inspect with free tooling. It just takes some effort and time to learn, but it&#x27;s not really hard.
评论 #36914493 未加载
评论 #36910841 未加载
评论 #36916773 未加载
评论 #36911544 未加载
评论 #36911435 未加载
评论 #36915254 未加载
评论 #36911135 未加载
评论 #36916154 未加载
评论 #36911895 未加载
评论 #36917247 未加载
评论 #36922484 未加载
评论 #36918565 未加载
评论 #36914548 未加载
评论 #36911072 未加载
oneplanealmost 2 years ago
I think the article hits the nail on the head. DNS itself isn&#x27;t hard, but learning real-world DNS is, due to the (as described) hidden nature of many parts between intending to do a lookup and getting the expected result.<p>Some of this also stems from the divergence of what used to be a &#x27;default&#x27; way to be connected to the internet (one interface, one gateway, one DNS server provider) and what is now far more common like having to figure out how to actually do the lookup in the first place (connected to multiple WANs, sometimes concurrently like LTE and WiFi) and as a user, not actually being able to tell which resolving path was used (was it the browser? the standard interface in the system C lib? was it some local resolver or recursor that sits in between the lookup? do any of them have a local cache? do any of them add special options by default?).<p>Even if everything works, you&#x27;d still not be able to blindly trust if the query and response used the same path in one application as it did in another. Three browsers might all use something different, and the OS itself might use something different yet again, only to have mDNS add a fifth option.
thunderbongalmost 2 years ago
Because the only three hard problems in computer science are cache invalidation and naming things.<p>And DNS is a caching system for names of things.<p><a href="https:&#x2F;&#x2F;reddit.com&#x2F;comments&#x2F;15c2ul2&#x2F;comment&#x2F;jtty9dy" rel="nofollow noreferrer">https:&#x2F;&#x2F;reddit.com&#x2F;comments&#x2F;15c2ul2&#x2F;comment&#x2F;jtty9dy</a>
评论 #36914671 未加载
评论 #36913808 未加载
jl6almost 2 years ago
It&#x27;s one of those things where there is a mismatch between how easy it seems to be, and how hard it turns out to be.<p>We all use DNS every day, and it <i>seems</i> really easy. The everyday language of DNS is: domain names, lookups, IP addresses. This language is exposed in browsers for all to see, and through this exposure we develop a mental model of how we think it works.<p>But under the covers there is a whole new language: zones, resolvers, delegated authority, that weird dot <i>after</i> the top-level domain...
评论 #36914520 未加载
评论 #36911771 未加载
dapalmost 2 years ago
I went through this a few years ago, deciding that I had only a piecemeal understanding of DNS based on the specific things I had run into. I knew about `dig(1)` and BIND and a CS101 idea of how recursive DNS resolution works, etc. But I was missing the working knowledge needed for designing and implementing anything non-trivial or for debugging non-working systems. So I read &quot;DNS and BIND&quot; (not quite cover-to-cover, but close, skipping over the details on some of the more exotic features). I set up a real BIND server for some unimportant personal web sites. None of it was hard, but it did involve a bunch of (time) investment. To be clear, BIND is not the right thing for many use cases, but a lot of DNS ideas and terminology still come from BIND and I found that stuff very valuable.<p>I think books are underappreciated for learning stuff like this. Most resources you find on the web are high-level theory (&quot;here&#x27;s a block diagram of how recursive lookup works&quot;), task-oriented (&quot;how do I get `dig` to do a recursive lookup&quot;), or otherwise low-level (e.g., reading the source of your local DNS client to understand its retry policy). To understand the pieces and how they fit together, from the theory (what they&#x27;re trying to achieve) down to implementation (what caches exist where), I find there&#x27;s no substitute for a holistic approach that you usually find in books, but rarely (not never) find on the web.
gunapologist99almost 2 years ago
It&#x27;s probably a good idea for all IT people to have a working knowledge of how to debug DNS issues.<p>DNS has historically been a vector for <i>significant</i> security holes and it&#x27;s likely that this will continue to be true for the indefinite future. These holes also lead to other vectors in nearly every other protocol like SMTP. Even the CA system used for HTTPS is highly dependent on a basically insecure protocol. (Would you notice if your bank bought a DV certificate instead of OV? likely not)<p>So, perhaps it&#x27;s not such a bad thing that it <i>seems</i> hard to learn to those who don&#x27;t have enough interest, since even now we see people building DNS things without taking the time to really understand the history of things like port randomization, cache poisoning, AXFR, etc.
评论 #36911019 未加载
joshcafealmost 2 years ago
Shameless side project plug: they mention a &quot;debug&quot; mode for dns resolving being nice to have. ComfyDNS has this in its web UI :3<p><a href="https:&#x2F;&#x2F;comfydns.com&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;comfydns.com&#x2F;</a><p>It&#x27;s the picture that says &quot;TRACE google.com A IN&quot; at the top.<p>ComfyDNS is partly scratching a personal itch - I was tired of hand modifying bind9 zone files. And also I was curious as to how DNS works - I knew surface level stuff but no details. So I implemented the RFC from &quot;scratch&quot; (I used netty but no DNS libs). It was a lot of fun.<p>(Also if&#x2F;when the site goes down from hugging, forgive me, it is a rails app running on the oracle cloud free tier lol)
pgrayalmost 2 years ago
the joke i&#x27;ve always heard is DNS combines 2 of the hardest problems in CS: naming things and cache invalidation
评论 #36910054 未加载
评论 #36909893 未加载
评论 #36910129 未加载
nineteen999almost 2 years ago
Another one of these articles. We learnt very easily back in the 1990&#x27;s when the Internet was smaller, and the computers were much much slower and less capable.<p>DNS, LDAP, SMTP, IMAP etc were the bread and butter of ISP&#x27;s back then and people actually referred to the official documentation (RFC&#x27;s etc). You had to learn them if you wanted to run servers on the Internet at all, and with a bit of an investment of time (ie. your paid time on your job) you learned it.<p>This generation of developers and devops people don&#x27;t have the patience or initiative and expect to be spoon fed and just cut and paste crap from StackOverflow and various low value blogs. Rather than learn the infrastructure that the Internet is built on, they grab the latest fashionable wrapper tool of the week, follow some shitty blog instructions, and then cry foul when it all falls apart and they cost their company lots of money. Just because they didn&#x27;t take the time to learn the foundations of how things <i>actually</i> work on the Internet.<p>I&#x27;ve seen it time and time again. It&#x27;s not actually that hard kids. You just need to do your homework.
评论 #36914203 未加载
shonalmost 2 years ago
It’s not. It’s one of the few things that hasn’t changed much and it’s operation is fairly straightforward.<p>dig is a little confusing. It’s more capable but less straightforward than good old nslookup (which still works fine BTW).<p>I think partly DNS and the core protocols may seem confusing to younger people in the industry because so much stuff “just works” now.<p>For example, today wifi routers “just work” right out of the box. In the early 2000s it would have taken a network engineer with knowledge of DNS, IP, Ethernet, RFC1918, actual routing protocols and whole bunch of other stuff to set something like that up and they’d have well known how it worked and why it was configured the way it was.<p>If you think DNS from a client can perspective is confusing, try configuring BIND ;-)<p>&#x2F;OldNeckBeardRant
评论 #36910361 未加载
评论 #36911630 未加载
评论 #36910132 未加载
评论 #36910210 未加载
评论 #36909897 未加载
评论 #36915046 未加载
评论 #36910392 未加载
评论 #36910731 未加载
评论 #36910182 未加载
评论 #36912154 未加载
评论 #36910343 未加载
评论 #36909992 未加载
评论 #36910619 未加载
评论 #36910469 未加载
评论 #36912062 未加载
评论 #36910582 未加载
评论 #36911943 未加载
评论 #36911449 未加载
评论 #36910611 未加载
评论 #36913209 未加载
评论 #36909924 未加载
mkeedlingeralmost 2 years ago
I found out about <a href="https:&#x2F;&#x2F;www.nslookup.io&#x2F;learning&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.nslookup.io&#x2F;learning&#x2F;</a> recently, which greatly increased my knowledge of DNS. If you look at the list of DNS record types [0], you might be surprised at how many their are. Knowing how to use those can be a bit much.<p>[0] <a href="https:&#x2F;&#x2F;www.nslookup.io&#x2F;learning&#x2F;dns-record-types&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.nslookup.io&#x2F;learning&#x2F;dns-record-types&#x2F;</a>
评论 #36909946 未加载
Spooky23almost 2 years ago
DNS is easy in the same way that chess is. The game mechanics are straightforward, and it gets more complex from there.<p>DNS bears the burden of delivering you to complex IT systems. It’s abused in various ways to enforce geographic restrictions, service levels, etc. It generally works, so long as everyone upstream knows how to configure things so that downstream things they don’t know exist work well.<p>When things don’t work… that’s not easy.
bratgpttameralmost 2 years ago
I feel like DNS is one of the more straightforward protocols, especially on a practical level, and especially given that most interfaces are a dropdown and two text boxes.<p>I have noticed a lot of developers shy away from it, probably because they don&#x27;t use it much or it&#x27;s not their job (rather than it being hard).
评论 #36910149 未加载
评论 #36928205 未加载
评论 #36911851 未加载
chapsalmost 2 years ago
One of the best, but also strangest explanation of DNS I&#x27;ve seen is from &quot;A Cat Explains DNS&quot;. It&#x27;s wonderful.<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=4ZtFk2dtqv0">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=4ZtFk2dtqv0</a>
StillBoredalmost 2 years ago
As a nslookup user since before dig, i find the default dig output to be less than ideal. The top-&gt;bottom flow, the &quot;important&quot; information is always the third option on a line, etc.<p>Basically how do I put this, uh, its obviously written by someone for themselves and people who use it everyday.<p>So, for most things I continue to use nslookup, it gives me what I want 99% of the time, and for me its easier to parse.<p>So, various other people have said something similar but it reminds me of a couple utilities in AIX that an office mate of mine wrote. The thing was a very sharp tool but the 3 cases that comprise pretty much 100% of its usage required three+ mode selection parameters, etc just to print the equivilant of &quot;its working&quot; or &quot;its not working&quot;. The result was 50 characters of typing that quickly turned into a shell script with two parameters. I sorta have the same thing to say about the &quot;ip&quot; command which showed up at the same approx time as dig. Yup it can do everything, but its a terrible UI too for all the same reasons. The defaults are ugly&#x2F;hard and the hard stuff still takes 10 mins reading the man page for the once every two years you need to do it.<p>So worst of both worlds.<p>PS: I sorta feel the same way about bind, its written for people who run big public DNS servers, the rest of us are better served with &quot;unbound&quot; or the half dozen other utilities that are more oriented towards users looking to run an in-house split dns&#x2F;caching resolver setup.
gjvcalmost 2 years ago
I remember being stymied by the BIND zone files (which are plain text) being called .db files (they may actually be called anything -- some people used the .db extension). I had just learned about sendmail, and I knew it kept alias tables in Berkeley DB files (which are binary), which in sendmail parlance were also called .db files.<p>As Alan Kay is fond of quoting Bob Barton... &quot;Systems programmers are high priests of a low art.&quot;
1vuio0pswjnm7almost 2 years ago
I&#x27;m not a &quot;developer&quot; and I learned DNS without any problems. Therefore agree with other commenter that DNS is not actually difficult to learn. I like the output from DNS utilities such as BIND and tinydns format.<p>DNS is worth learning for any internet user, IMHO. I&#x27;ve written primitive utilities that when used together can do stuff none of the popular DNS utilities can do. I use these every day.<p>Here&#x27;s DNS challenge for readers. Try to look up the domain &quot;bootable.com&quot;. Use whatever is the preferred method.<p>People writing about DNS often compare it to a telephone book. IMO the way most people use DNS is more like &quot;directory assistance&quot;.<p>IP addresses do change but by and large most stay the same for long periods. Old zone files, publicly available scans^1 and other bulk DNS data collected from web crawls and public DNS caches comprise the &quot;phone book&quot; for me. Absolutely essential.<p>1. Sadly, in recent some of these sources have changed to non-public. No phone book for you! Call directory assistance.
评论 #36914482 未加载
mqusalmost 2 years ago
For me, the issue isn&#x27;t so much DNS itself, but more that there are more things that try to resolve names on your PC, like &#x2F;etc&#x2F;hosts and all the stuff you put into resolv.conf.<p>Then you read online that you should try dig or so and those tools don&#x27;t really match up with what your tools do(=resolving via libc), because dig really only does the DNS part.
teunispetersalmost 2 years ago
One of the gotchas I encountered is that DNS is asynchronous, with possibly a long delay before reply. C apis make it look synchronous - which I think makes it harder to work with. There&#x27;s also the detail that order of replies can be any. (I found too many developers expected synchronous and instant replies)
评论 #36911708 未加载
评论 #36911121 未加载
supportengineeralmost 2 years ago
This was an outstanding writeup, and I have felt the same frustrations in many other contexts. I enjoy going the &quot;make your own, friendlier tools&quot; route.
andrewfromxalmost 2 years ago
sometimes it&#x27;s hard to even know WHERE to change the settings. Last week a friend was trying to setup heroku with api.foo.com and he needed to add a CNAME to the domain so heroku would make the cert and turn it on.<p>I used dig, i used host, I used whois, I got invited to their aws route 53 and saw all sorts of stuff in there but each change had no affect. Finally I noticed from whois that the name servers weren&#x27;t even aws they were google.<p>So they gave me access to the google account but no domains in there.<p>Finally I asked, have the CEO log in to his personal google account and sure enough, that&#x27;s where the change could be made.
评论 #36911370 未加载
laserbeamalmost 2 years ago
Here&#x27;s what&#x27;s cool about the article:<p>- Presents some nice theories which make things hard to learn (infrequent use, poor tools...)<p>- Describes how DNS tools could be improved.<p>- Gives you a few gotchas for how one may shoot themselves in a foot with DNS.<p>Here&#x27;s what&#x27;s a bit (not much) less cool:<p>- I really have no clue if those things ACTUALLY make things hard to learn (because it&#x27;s not a research paper on learning).<p>- It&#x27;s a plug for other content on the side which actually describes the DNS protocol. I&#x27;ll admit the sold content looks cool. I haven&#x27;t purchased and can&#x27;t vouch for the actual quality.
评论 #36910758 未加载
neilvalmost 2 years ago
At one point, I had to make and maintain my own DNS zone text file, knowing only a little. Today, cheap providers give me various Web forms interfaces, but that doesn&#x27;t mean it will always &quot;just work&quot;, so knowing a little can still help.<p>I still had to break out `dig` the other day, when a DNS provider started answering records days past TTL, breaking email and Web.<p>To know when if&#x2F;when that happened again, I looked around for a monitoring service, but didn&#x27;t quickly find one that did what I wanted (and was overwhelmed by SEO, and very aggressive robo-sales emails from one of them), so I wrote a script that essentially runs `dig` and `diff`: <a href="https:&#x2F;&#x2F;www.neilvandyke.org&#x2F;check-my-dns&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.neilvandyke.org&#x2F;check-my-dns&#x2F;</a><p>The monitoring script discovered one of a provider&#x27;s DNS servers had ongoing problems, so I sent them a monitoring report, saying I wasn&#x27;t a DNS expert, but perhaps, if there&#x27;s a problem, the report would be helpful to their DNS experts. This seemed to immediately get past any &quot;have you tried rebooting Windows&quot; front-line flowchart response that I wouldn&#x27;t have been surprised to hear, and they said they&#x27;re working on it.
ertianalmost 2 years ago
&#x27;Still&#x27;? There&#x27;s a famous talk[1] in the network community about how DNS complexity is growing so fast that effectively <i>nobody</i> can keep up with it. There&#x27;s so many competing, overlapping, and overriding RFCs that it&#x27;s hard to make sense of it anymore.<p>[1] <a href="https:&#x2F;&#x2F;blog.apnic.net&#x2F;2018&#x2F;03&#x2F;29&#x2F;the-dns-camel&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;blog.apnic.net&#x2F;2018&#x2F;03&#x2F;29&#x2F;the-dns-camel&#x2F;</a>
m3047almost 2 years ago
In a kind of corrollary of Dunning-Kruger, there is often a chasm between what people think DNS is and all of the things it can be. The article points some of that out (stub resolvers, even different implementations of libc); recursive versus authoritative responses; the recursion process; recursive versus authoritative servers.<p>A lot of deployment implementations are &quot;bottom of the barrel&quot; and aren&#x27;t correct to begin with, although they work for the intended purpose. There is no checklist for server implementations which I am aware of (I&#x27;ve asked where people should know!). There&#x27;s a lot of folklore which persists because if it works it&#x27;s presumed correct.<p>There&#x27;s &quot;DNS&quot; and then there&#x27;s &quot;The DNS&quot;, the &quot;one true root&quot; with arbitrary restrictions on the contents of labels. There&#x27;s political interference with implementations in terms of the &quot;one true root&quot; doctrine, which interferes with marrying a resolver which e.g. queries a control plane and serves an application plane (where they have different roots): there are e.g. notions of forwarded zones, but there is no notion I am aware of of a &quot;always recurse and lie that you&#x27;re authoritative&quot; zone (you can hack source code to accomplish this of course).<p>Even MITRE ATT&amp;CK doesn&#x27;t always get it right. They had it listed that DNSSEC &quot;traffic&quot; had to be examined with SSL tools, until I pointed it out (I didn&#x27;t get credit). DNSSEC related records are ordinary DNS records, nothing is being encrypted.<p>I could go on: the experts were wrong on (UDP) frags, anycast...
ggmalmost 2 years ago
DNS is complicated because it&#x27;s old, and has been continuously revised in flight, to uplift to TCP, DoH, DoT, add DNSSEC, EDNS0, TSIG, notify, ECS, EDE. It continues in one ietf WG having outlasted another, it has cross area review. It&#x27;s political, and technical, and has its black helicopter cabals.<p>I predate the DNS, and I continue to befuddle myself about details of the DNS on a daily basis despite a life embedded in DNS.<p>If you love DNS join DNS OARC.
1bentalmost 2 years ago
djbdns is simple, easy to understand, easy to configure; it embodies a clear understanding of how DNS works.<p>Unlike BIND and dig, it was designed after DNS had been in use for a while.<p>Like sendmail, BIND suffers from being designed before anyone knew what it would need to do.
评论 #36912143 未加载
评论 #36914492 未加载
magicmicah85almost 2 years ago
&quot;(like, what if you could run dig +debug google.com and it gave you a bunch of extra debugging information?)&quot;<p>The flag they&#x27;re looking for is +trace and it provides exactly what they&#x27;re looking for which is a path of how resolution occurs from root nameservers all the way down to the domain.
roomeyalmost 2 years ago
There&#x27;s an old saying: if someone tell&#x27;s you they know how DNS works, they&#x27;re lying
eftychisalmost 2 years ago
tl;dr: suggestion: DNS is really hard to unlearn.<p>I do not agree with the implied sentiment of the article. And thus with some of the comments (from &quot;both&quot; sides) of the arguments presented here in the comments.<p>Hard is not defined, but is implied to be &quot;harder than you believe it is.&quot;<p>That is a general characteristic of perhaps most topics worth pursuing in our field: computer science&#x2F;engineering. (Defining it in this closed field space on purpose for brevity.) And especially in distributed systems, which DNS in some way falls under.<p>Further you have business interests, which have affected and will affect DNS -- we like it or not. And have added on top of it.<p>A number of individuals then use hard as &quot;it is intractable&quot; [to learn].<p>Is DNS harder to learn than BGP routing: I think not.<p>Does one need to spend a decade focusing on using and debugging DNS. I would argue not.<p>Does one need more time to dive into BGP than DNS to do state of the art work: I would argue yes.<p>DNS is simply not the hard and hot scientific problem people go around tackling from a research perspective.<p>It is a federated business (and political perhaps) problem at this point.<p>I do agree there is a lot of caching involved, which creates a ton of coherence and invalidation issues. That does not make the topic hard, it makes DNS problematic. (The other word I would use, and that I think Ms. Evans [the author] implies perhaps.) I agree totally with that.<p>I also think it is a point of approach the learning path to it for the average scientist here. A lot of people are introduced to DNS (or email to that extend) as: here is the sketch idea, we make sure it works, trusts us, and there is this single deified entity that makes sure it works, and it is not patched with other branches &quot;constantly.&quot; All of the aforementioned sentence of course is a lie. But a lot of engineers learn that. (I was lucky to not have that introduction.) And then it comes time to debug a DNS issue -- when they actually realize it is a DNS issue.<p>So I would recommend a revised blog title to: DNS is really hard to unlearn.
mparnisarialmost 2 years ago
I love the flamewar that this post has started<p>There&#x27;s the &quot;it IS hard!&quot; gang<p>and the &quot;it&#x27;s not hard, you&#x27;re just dumb&quot; gang<p>and the &quot;it&#x27;s not hard, you just haven&#x27;t spent the time required to properly learn it&quot; gang
swayvilalmost 2 years ago
Because complexity is easy. It practically generates itself. It has a natural economic advantage.<p>Making sense of complexity, otoh, takes much diligent effort.<p>So complexity tends to win and everybody tends to befuddlement.
iAm25626almost 2 years ago
I used to specialized in these service enable services. DHCP&#x2F;DNS&#x2F;AAA&#x2F;LDAP and etc; low level stuff tend to get take for granted. It&#x27;s not difficult but there are much nuances. Not typical visible to layer7&#x2F;Front end development per se. Embrace the &quot;and&quot;. If you are a FE&#x2F;BE dev AND understand system&#x2F;dns&#x2F;network. You just set yourself apart from the next person.
pavel_odintsovalmost 2 years ago
Great article. Thank you!<p>I used to develop and maintain one of the World largest DNS services and summarised my experience with DNS protocol in this blog post: <a href="https:&#x2F;&#x2F;pavel.network&#x2F;please-stop-using-dns-protocol-for-your-application&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;pavel.network&#x2F;please-stop-using-dns-protocol-for-you...</a>
rsyncalmost 2 years ago
The question I have is:<p>Why isn&#x27;t there a combined MTA&#x2F;DKIM&#x2F;DNS server ?<p>Why am I installing and configuring and running and monitoring all of these different server software packages ?<p>I&#x27;d like to have a single config file that handles everything required to run a mailserver.<p>If I have more complex needs I can split things up make them modular ... but I don&#x27;t.
评论 #36916805 未加载
Joel_Mckayalmost 2 years ago
DNS has been repurposed for everything from security validation to load balancing.<p>DNS over HTTPS and DNSSEC attempted to address some longstanding issues, but in the end everyone still has a host they know is going to get hammered harder.<p>Not too difficult to understand, but it is complicated given the number of sub-optimal use-cases that emerged. =)
cafardalmost 2 years ago
Some years ago, I had a miserable couple of days when an internal DNS server quit working. Eventually I traced it to a corrupted cache file. Once that was deleted, life returned to normal.<p>Though unpleasant, it was an enlightening experience. I had never imagined how much of the internet ran on Amazon by then (2010?).
mike31fralmost 2 years ago
DNS-noob here: For what use case is it useful to debug DNS like described in this article? I&#x27;m a programmer since 2001 and I never ever had to investigate what is going on behind name resolution, I never encountered any kind of DNS-related issue.
andrethegiantalmost 2 years ago
Julia also created this comic about DNS, which is helpful for learning: <a href="https:&#x2F;&#x2F;wizardzines.com&#x2F;zines&#x2F;dns&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;wizardzines.com&#x2F;zines&#x2F;dns&#x2F;</a>
pjungwiralmost 2 years ago
Wow, her &quot;human&quot; output for dig is wonderful. I learned nslookup first, and to this day I still use it because dig&#x27;s output is such a mess. If dig looked as she suggests, I would have switched years ago.
ks2048almost 2 years ago
I find the syntax and formatting confusing. The article mentions a desired &quot;+human&quot; flag. How about DNS tools that output everything in JSON? I want to see the structs as key+value.
评论 #36917272 未加载
chasd00almost 2 years ago
i hate to be that guy but it&#x27;s not hard to learn. The tools are just from a different era where expectations where... different. However, even in my day BIND was avoided in favor of other servers like that one by the qmail guy.. can&#x27;t remember his name.<p>this comment reminds me of one of my favorite Dilberts<p>old guy watching Dilbert at his computer: you kids today and your fancy graphical user interfaces. Back in my day all we had were ones and zeros ...and sometimes we didn&#x27;t even have ones.<p>Dilbert: you had zeros? we had to use the letter &#x27;o&#x27;
udev4096almost 2 years ago
A fun and colorful explanation of how DNS works. <a href="https:&#x2F;&#x2F;howdns.works&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;howdns.works&#x2F;</a>
readonthegoappalmost 2 years ago
i had hella trouble with it, but not just it - all the related topics - reverse dns&#x2F;proxy setups, 10 ways to configure it&#x2F;them, cname flattening and the 15 ways to configure that, the 15 ways you can do it with cloudflare or not, dis&#x2F;advantages of all those setups&#x2F;combinations&#x2F;permutations, etc.<p>doubt a course could teach me half of what i would need to know in some reasonable amount of time - say, two or three months.<p>but open to the idea.
hackboyflyalmost 2 years ago
I actually tried to learn about sockets today. I gave it around 3 hours but I never reached the end of the rabbit hole which led me to give up.
jesuspiecealmost 2 years ago
+human flag is a sick idea, would love to see that PR.<p>inb4: you do it
kabdibalmost 2 years ago
DNS itself is pretty simple. Implementing a basic DNS server or client is not a big deal.<p>The management software around it is what is generally terrible.
lorenzotentialmost 2 years ago
<a href="https:&#x2F;&#x2F;isitdns.com&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;isitdns.com&#x2F;</a>
jstx1almost 2 years ago
People who use their DNS knowledge often - what is your job and problems do you solve with your DNS knowledge?
评论 #36913166 未加载
egberts1almost 2 years ago
Doing:<p>bastion named server<p>Multizone<p>Hidden Master<p>Split-Horizon<p>IXFR&#x2F;AXFR firewalling<p>DNSSEC and local network<p>resolv.conf hijacking<p>Remote admin security<p>All of above would and should be hard.
minusfalmost 2 years ago
behold the dns camel:<p><a href="https:&#x2F;&#x2F;datatracker.ietf.org&#x2F;meeting&#x2F;101&#x2F;materials&#x2F;slides-101-dnsop-sessa-the-dns-camel-01" rel="nofollow noreferrer">https:&#x2F;&#x2F;datatracker.ietf.org&#x2F;meeting&#x2F;101&#x2F;materials&#x2F;slides-10...</a>
Croftengeaalmost 2 years ago
DNSSEC was already mentioned, but yet another dark corner of DNS are wildcard records.
mgaunardalmost 2 years ago
DNS is hard because cloud&#x2F;web companies insist on taxing you to do very basic things.
deafpolygonalmost 2 years ago
DNS is like Othello. Simple to understand, but takes a lifetime to master.
TZubirialmost 2 years ago
Non-issue
echan00almost 2 years ago
I thought you talking about aws lol
hairuialmost 2 years ago
TIL that `dig` does not have TLDR page <a href="https:&#x2F;&#x2F;github.com&#x2F;tldr-pages&#x2F;tldr">https:&#x2F;&#x2F;github.com&#x2F;tldr-pages&#x2F;tldr</a>
derrickrburnsalmost 2 years ago
Use chatGPT to understand dig output:<p>Explain this : dig +human +norecurse @8.8.8.8 google.com HEADER: opcode: QUERY status: NOERROR id: 11653 flags: qr ra records: QUESTION: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1<p>QUESTION SECTION: google.com. IN A<p>ANSWER SECTION: google.com. 21 IN A 172.217.4.206<p>ADDITIONAL SECTION: EDNS: version: 0, flags:; udp: 512<p>ChatGPT This is a result from the &quot;dig&quot; command, a DNS (Domain Name System) tool used to query DNS servers and retrieve information about domain names. Let&#x27;s break down the output:<p>dig: This is the command being executed.<p>+human: This flag is not a standard dig option. It is likely an extension that is meant to provide a more human-readable output, making it easier for people to understand the results.<p>+norecurse: This flag tells the DNS server (in this case, the server at IP address 8.8.8.8, which is a public Google DNS server) not to perform recursive lookups. Recursive lookups involve the DNS server querying other DNS servers if it doesn&#x27;t have the requested information in its cache. By using +norecurse, the server will only provide information if it has it directly available.<p>@8.8.8.8: This indicates the DNS server being queried, which is the Google Public DNS server located at IP address 8.8.8.8.<p>google.com: This is the domain name being queried.<p>Now, let&#x27;s look at the different sections of the response:<p>HEADER: This section provides general information about the response. opcode: QUERY: Indicates that the query type is a standard query. status: NOERROR: Indicates that the query was successful, and there were no errors. id: 11653: This is a unique identifier for the query, used to match queries with their respective responses. flags: qr ra: The flags indicate that this is a response (qr) and that recursion is available and allowed (ra). QUESTION SECTION: This section shows the domain name and the type of record being queried. google.com. IN A: The domain name &quot;google.com&quot; is being queried for its IPv4 address (A record). ANSWER SECTION: This section provides the answer to the query. google.com. 21 IN A 172.217.4.206: This line shows the answer. It says that the IPv4 address of &quot;google.com&quot; is 172.217.4.206. The &quot;21&quot; is the time to live (TTL) value in seconds, which indicates how long the information can be cached by other DNS servers or clients before it should be refreshed. ADDITIONAL SECTION: This section provides additional information related to the query. EDNS: version: 0, flags:; udp: 512: This line indicates the use of EDNS (Extension Mechanisms for DNS), which is a set of extensions to the DNS protocol. The version is 0, and the flags are empty. &quot;udp: 512&quot; refers to the maximum payload size that can be used for UDP communication. In summary, the query asked for the IPv4 address (A record) of &quot;google.com&quot; from the Google Public DNS server at IP address 8.8.8.8. The response confirms that the IPv4 address is 172.217.4.206, and it is valid for 21 seconds.