DreamCompute: DNS: How to create multiple PTR records for one IP address?

Is it possible with DreamCompute to arrange for an instance’s IP address to reverse-resolve to two or more hostnames? In other words, can I or will DreamHost staff create multiple PTR records associated with a single IP address? If so, how can I make this happen?

I know that this is generally inadvisable, but within spec. In my case, I want to test how software running on another machine reacts to the situation.

I run several servers in DreamCompute (DC) and have been making many changes in DNS lately, so this question got my attention. I think the PTR record is grossly mis-implemented due to a poor RFC. There are many client utilities that handle reverse DNS differently, some old, some new. You can test what will happen with your specific client, but your experiment will be inconclusive if you’re trying to see how “the internet” sees your IP/domain relationships. In other words, you can’t make a generalization based on your isolated findings.

That leaves both of us with this decision: Is it better to have one PTR where multiple domains will not be found? Is it better to have multiple PTR records which will be processed differently by every query? Or is it better to not have a PTR record at all to avoid either of those problems?

With a single PTR for the “canonical” domain, you identify whomever is hosting the environment … aka YOU. There is a difference between who we are and what services/domains we are hosting. I have a dozen domains but there is only one “me” which is represented by just one of all of those domains.

But there are more reverse DNS queries than just those that want to find “me” and my mailserver.me.tld. There are also queries to see if my IP is hosting oneofmyotherdomains.tld. We can’t please everyone, especially with a poorly defined protocol. We don’t know how someone else will process multiple PTR records with their single IP query. Will they use the first entry as their canonical reference? Which one will they get first? We don’t know. Will they search through the list to verify a domain they are interested in? We don’t know. What if they want to verify oneofmyotherdomains.tld, and we send back multiple PTR records, and they don’t loop through them, they just take the first one? We have no control over that.

Do PTR records really matter? I dunno. Why is PTR any more authoritative than A/AAAA records that are reverse indexed? What will some random entity do if they RDNS me and don’t find a PTR record? Considering some DNS providers don’t even support PTR records, we’re not alone if we choose to do without. The bottom line is that without a better spec and consistent global implementation, it’s kinda pointless to chase after trying to get this one right. That’s the approach I’m taking - just don’t use it.

To answer your question though, “how can I make this happen?” :

You could run your own DNS. You don’t need to use DH DNS for DC. You need two systems for NS1 and NS2. These can be systems already in your network. Or you might consider NS1 on a primary system and spin up NS2 in a tiny dedicated instance. With a nice GUI or scripts you can mess with your DNS all you want and not be restricted to anything that DreamHost provides. You don’t need to do a complete change of all of your domains. You can use DH DNS for some domains/servers and not for others.

For another approach to this, you could use a non-DH registrar that provides DNS and support for multiple PTR records, and use Their DNS to point to your instances.

Here’s another approach - use the DH DNS API and try to do this on your own outside of the Panel GUI. Will it choke if we send multiple DNS ADD commands for PTR records? I dunno - try it.

I won’t get into details here, but if you are doing this you should look into creating a subnet in DreamCompute with floating IP addresses.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.