So let’s say you have a website called “visitme.example.org” and you want people to be able to type in “pleasevisitme.example.org” or “vm.example.org” to get to your site. How do you do it?
First, you have to make sure that your internal DNS server can see your server as pleasevisitme and vm. To do this, you need to add an “A” record to your “example.org” root domain. So on the internal DNS server, make sure you have 3 A records pointing to your server: visitme (already in prod), pleasevisitme and vm. These other two will be “aliases”.
Next, you want to make sure your internal DNS servers can communicate with your hosted DNS servers (public). This should already be happening or else people would not be able to hit your current website at visitme.example.org. If you have a Cisco appliance for example, you would see the following in running config:
policy-map type inspect dns preset\_dns\_map parameters message-length maximum client auto message-length maximum 512 policy-map global_policy class inspection_default inspect dns preset\_dns\_map # DNS is port 53 UDP by default. With this Cisco config, it can accept larger packets by the “client auto” command.
After you set the A records internally, you would do the same thing externally. Login to your DNS host provider and set the same records, but pointing to your external IP. For example, your website visitme.example.org is located at 22.214.171.124. You would add pleasevisitme and vm with the same IP as A records pointing to the same site.
That’s really all that’s needed. The only other thing I have done is add “pleasevisitme.example.org” under “Site Bindings” in IIS, but I’m not sure that is entirely mandatory.