How can I have uppercase letters in my domains (similar to Berkeley.EDU)

cnst asked:

I’m using NSD3, and I’m unsuccessful in trying to have capital letters in my domain names.

How is it possible to have uppercase letters in your DNS?

In various OSS documentation, it’s very common to see Berkeley.EDU capitalised, and indeed their DNS is still capitalised to this day:

% traceroute
15  t1-3.inr-201-sut.Berkeley.EDU (  168.794 ms  169.906 ms  168.714 ms
16  t5-5.inr-210-srb.Berkeley.EDU (  168.850 ms  168.912 ms t5-4.inr-210-srb.Berkeley.EDU (  168.886 ms

And in forward DNS, they, too, have various domains capitalised:

% dig
;; AUTHORITY SECTION:        86400   IN      NS        86400   IN      NS        86400   IN      NS        86400   IN      NS        86400   IN      NS        86400   IN      NS

My answer:

As noted in (an obscure place in) NSD’s documentation,

NSD normalizes names to lower case.

If you want your names to show up with mixed-case, preserving whatever you put in the zone file, you will need to use a different nameserver, such as BIND. It is, after all, the Berkeley Internet Name Daemon…

While it may be possible to hack the NSD source code to make it preserve case, you should be wary of doing this, as it may not be possible to predict what bugs or unintended consequences such a change might introduce, and your nameserver is one of the last places you want mysterious bugs showing up.

View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.