SRV DNS Record with Custom Ports. Am I misunderstanding what SRV is supposed to do?

Solution 1:

Protocols (well the applications that implement them) have to be designed to take advantage of SRV records.

Take Outlook for example. When it tries to automatically look up your Exchange server, it will look for an SRV record based on the domain part of the email address (_autodiscover._tcp.{domain}). If found, it will connect to the server and port specified in the SRV record (so SRV records can be used to allow SRV aware applications to run on non-standard ports, transparent to the user).

Most protocols (such as RDP, HTTP, various email protocols, etc) have not been designed to take advantage of SRV records (and it doesn't look like most of them ever will either).

When you RDP to newhostname.bbb.com, the RDP client is just trying to get the A record for newhostname.bbb.com, and connecting to that on the default port, unless you manually specify a different port.

What you would need is the RDP client to look for an SRV record for the hostname that you enter (which would most likely be something like _rdp._tcp.example.com, as all SRV records follow a _service._protocol.aaa.bbb format), and then connect to the host/port specified in that SRV record. This obviously would require changes to the RDP client application.