top | item 11862786

DNS: Basic Concepts (2013)

162 points| rhubarbcustard | 9 years ago |petekeen.net | reply

62 comments

order
[+] callmeed|9 years ago|reply
If you want a startup/side-project idea, here it is. I can tell you from 10+ years in website hosting and maintenance that most laypeople, designers, marketers, and even some technical people will never understand DNS. (and they shouldn't have to)

A small business wants a website at SquareSpace, cloudflare CDN, email at Google Apps, landing pages on a subdomain with Unbounce, their blog on yet another subdomain, and DKIM/SPF records for the email newsletter system.

Setting this up is not easy for most people. Most people aren't even sure where to do it–let alone how to do it. (is your registrar handling your DNS? sometimes ...)

If you had a 1 or 2-click tool that setup these for people, maybe wrapped it around some domain search/affiliate tools, I think you could make some money.

My 2¢

[+] _RPM|9 years ago|reply
I actually enjoy setting up that kind of stuff. It is easy and kind of relaxing compared to the stress of developing software sometimes. I'm not trying to be a system admin, but setting up routine services is relaxing sometimes after a hard day. All those services you mentioned have no unified API to automate the process, so it seems like there would need to be a specific script for each provider.
[+] brandon272|9 years ago|reply
I agree that domain registrars should make it easier for people to simply specify what services they are signed up for and provide the option of one-click auto configuration/population of DNS records. Some registrars do this to the extent that they will fill in Google's MX and other CNAME records if you specify you are a Google apps user.

I disagree that technical people should not have to understand DNS. DNS isn't that complicated in most scenarios, and having a basic understanding of it can help alleviate many of the headaches that are introduced when people don't understand the relationship between the ownership of their domain, their domain registrar and DNS records that point to various services, basic concepts around TTLs and caching, etc.

[+] michaelbuckbee|9 years ago|reply
This is pretty much what DNSimple is doing (great service btw).
[+] aljones|9 years ago|reply
"Email is so important to the functioning of the Internet that it gets its own record type."

Well that is one way of looking at it. Probably the appropriate way if you're teaching, but if you want to be critical then it reeks of poor design for a particular service to get special treatment by a fundamental part of the internet. It isn't that MX records aren't needed. They just shouldn't only be useful for email.

[+] forgottenpass|9 years ago|reply
That's what SRV records are for. MX is just older than that convention.

Edit: And it wasn't as bad of a design decision back when changes to important network protocols was a thing that happened, not a case of the sky falling.

[+] darkr|9 years ago|reply
MX records were designed and implemented waay back when it was assumed that every new service would implement it's own super-specific (and probably binary) layer 4 protocol rather than just defaulting to JSON over HTTP(S). In Internet time, SMTP is _ancient_.
[+] cbd1984|9 years ago|reply
It made more sense when you could assume each machine was tended by a sysadmin who was responsible for running it, so having a quick way to reach that person in the Net's distributed "phone book" was a fairly obvious thing to do. Spam... existed, actually, but it was solved by social mechanisms. ("Hey, tell that loser to knock it off or AUP him off your system, wouldja?") DNS is old.

We no longer think of DNS as a "phone book" style directory system, and we no longer assume that every reachable machine is cared for individually.

[+] aarmenaa|9 years ago|reply
I assume that if email was coming along today it would look more like internet telephony, which is built on things like e164 to encode addresses into DNS using A, SRV, and NAPTR as the record types.
[+] axaxs|9 years ago|reply
'This is why you can't have a CNAME on a root domain like petekeen.net, because you generally have to have other records for that domain like MX'

While in theory that's common, the primary reason is because of the SOA record that must exist.

[+] wink|9 years ago|reply
Also, you can (sometimes/mostly) have a CNAME on a root domain and it even works (sometimes/mostly)
[+] nine_k|9 years ago|reply
A very short, beginner-level intro to DNS.
[+] xufi|9 years ago|reply
yeah exactly what I need. I need a refresher on DNS.
[+] dominotw|9 years ago|reply
Learning networking/tcp/dns has been a pain for me for years. I can never wrap my head around it properly despite many attempts.

I blame it on not having easy access to throwaway playgrounds.

I recently found this project http://mininet.org/ which promises throwaway network playgrounds. Hopefully it will help me finally learn networks for good.

[+] NetStrikeForce|9 years ago|reply
Although I appreciate that you're sharing something interesting, I can't believe you when you say the problem to tinker with networking, TCP and DNS was the lack of playgrounds.

Any home LAN is a playground. Internet is a playground. GNS3 for Cisco stuff. Linux itself is a playground (I have been playing today with StrongSwan, Quagga and SoftEther!). If you just want a network simulator, there's Packet Tracer. Of course you could also just fire up tcpdump and/or Wireshark and have a look. Many of the things I've mentioned are free :-)

[+] emilburzo|9 years ago|reply
Is there anything in particular you're having trouble with?
[+] Abundnce10|9 years ago|reply
Almost always you'll want to redirect a bare domain like iskettlemanstillopen.com to www.iskettlemanstillopen.com. Registrars like Namecheap and DNSimple call this a URL Redirect. In Namecheap you would set up a URL Redirect like this...

I prefer my domains to be naked (as opposed to www.), but I typically redirect all www-traffic in my web server (NGINX). Is this the wrong approach?

[+] snuxoll|9 years ago|reply
I prefer naked domains, but the problem I always have is that you can only use A records which makes using them with a bunch of things a pain in the butt. I host my personal website as just a tumblr blog (yes, go ahead and laugh, but I find it less of a chore to deal with than wordpress) so I need a CNAME to make that work, so I just have a very basic redirect on the naked domain to my blog subdomain.
[+] quacker|9 years ago|reply
If it were me, I would set the ip (A record) on the root, and then use a CNAME to alias www to the root. Then you don't need any redirects, and you don't need to worry about server doing the redirects going down and taking your site with it.
[+] rubiquity|9 years ago|reply
I've always done what you do. I feel like `www` is a subdomain that nobody ever wanted.
[+] Siilwyn|9 years ago|reply
I prefer naked domains as well since 'www' is a relic from the past.
[+] known|9 years ago|reply
OpenNIC is a user controlled Network Information Center offering a democratic and non-national alternative to the traditional Top-Level Domain registries. http://wiki.opennicproject.org/HomePage
[+] tombrossman|9 years ago|reply
I used OpenNIC for a while and it mostly worked. I started to notice some problems resolving .today URLs and had to ask for help in their IRC, and the response was not reassuring. At least one operator do not regularly update or even monitor their servers - I saw down time lasting weeks for one server (fortunately I had configured my router to use two and the second kept working throughout). The .today TLD had existed for several years but had not been added to the DNS servers I used. This isn't a complaint, just an observation after a year of regular use.

I like the idea behind the project, but from personal experience I decided that I had to switch to another provider that had more robust infrastructure and regularly patched their machines. DNS is too critical and I felt the risk of having my DNS requests hijacked by a compromised machine was too great.

(Also, who down-voted the parent comment? Bizarre, maybe that was accidental?)

[+] wineisfine|9 years ago|reply
Anyone tried the "new" namecheap custom dns settings? Like glueing nameservers?

Its one of the poorest interfaces ever created in the history of mankind.

[+] gist|9 years ago|reply
Anyone old enough to remember movie.edu and the grasshopper O'Reilly 1st Edition DNS&Bind book?
[+] peatfreak|9 years ago|reply
What a great book! I wish they'd publish a new edition (the latest was ten years ago).

Has anything as good been released since? What is the current "standard reference" on DNS and BIND?

[+] _RPM|9 years ago|reply
I thought they were going to get into the binary protocol.
[+] zrail|9 years ago|reply
The binary protocol is a good part? :)
[+] riobard|9 years ago|reply
So, which are the good parts?
[+] riobard|9 years ago|reply
For the downvoters: the original submission was titled "DNS: the Good Parts", which doesn't fit the content.
[+] dang|9 years ago|reply
We replaced that with the phrase "basic concepts" from the intro, in the title above.