If all of foo.org is on one droplet, do I need one A record, or one per hostname?

January 25, 2019 282 views
DNS Email

Suppose foo.org lives on a single droplet.
It’s using digitalocean’s DNS servers

It has an A record for foo.org, with the droplet IP
It has an MX record pointing to mail.foo.org

Do I need an A record for mail.foo.org?
Is this true for all DNS, or specific to digital ocean?

Is the same thing true for other pseudo-hosts (www.foo.org)?

Is the usual answer to run some kind of mini-nameserver on the main foo.org host, which happily says that it’s all of mail.foo.org, www.foo.org, foo.org, etc.?

—-simplified description of what I saw–
What I’m seeing right now is that without the A record for mail.foo.org, mail is bouncing. Specifically it claims that mail.foo.org cannot be found.

But AFAICT, my previous DNS provider did not have an A record for mail.foo.org(*). And when I switched back to my old DNS provider, mail was once again received on the droplet

Much the same story with www.foo.org, except that it looked as if http://www.foo.org was successfully pointing to the nginx server on the droplet. (But maybe I was confused by DNS propagation delays.)

FWIW, the hostname I gave to the droplet is neither mail nor www.

And all the config files for postfix and nginx know about all the hosts they are supposed to be pretending to be - the only variable is DNS.

(*) note the AFAICT - I’m not sure precisely what I’d see if it did or didn’t have an A record, even with “dig foo.org all” Would that or would it not include mail.foo.org?

I’ve been making liberal use of commands like “dig @ns1.digitalocean.com mail.foo.org all” to try to compare what the two are saying, but what I see doesn’t make sense given the pattern of bouncing mail etc.

1 Answer
jarland MOD January 25, 2019
Accepted Answer

Hey friend,

Great question! You need to create an A record or CNAME for all hostnames that need to resolve. This is default DNS functionality and will be true anywhere. However, some hosting providers provide a pre-made set of DNS records for their own purposes. A common one would be cPanel based providers. Outside of such a curated environment, you end up having just a bit more work to do.

For your purposes, A record is what you want. When I mention CNAME that is to say you can create a record without giving it a direct IP, but that record must at least be an alias to another A record that does point to an IP. Commonly, the www record is made as a CNAME to the root domain, so as to simply alias it. Like this:

digitalocean.com A 1.2.3.4
www.digitalocean.com CNAME digitalocean.com

That says “digitalocean.com can be found at 1.2.3.4, and www.digitalocean.com can be found at wherever digitalocean.com points to.”

Hope that helps :)

Jarland

Have another answer? Share your knowledge.