Microsoft DNS and DNS-SD
Addresses with spaces in the names
If you’re configuring DNS-SD and your content contains spaces in the names, be aware that Microsoft’s Active Directory DNS server software can’t handle names with spaces in them. Instead of making the domain enumeration pointers be self-referential loops pointing back at the same domain, you can point them at a different domain, like this:
b._dns-sd._udp IN PTR dns-sd-services
lb._dns-sd._udp IN PTR dns-sd-services
dns-sd-services IN NS your-computer-running-BIND-9
These three lines in the zone file for example.com do two things. First, they tell devices they should browse in subdomain
dns-sd-services.example.com. Second, they delegate the
dns-sd-services.example.com subdomain to some other computer running some other authoritative name server software (such as BIND 9) that isn’t restricted by Microsoft’s character set limitations.
Parent domains on non-Microsoft DNS servers
Another scenario is where the parent domain is run on some other computer, but the _tcp and _udp subdomains have been delegated to a Microsoft Active Directory DNS server. In this case the solution is to add the following two records on the Microsoft Active Directory DNS server for the “_udp.example.com.” domain so it directs devices back to the parent server for DNS-SD browsing:
b._dns-sd IN PTR dns-sd-services.example.com
lb._dns-sd IN PTR dns-sd-services.example.com.
As in the previous example, devices are directed to browse
dns-sd-services.example.com. However, unlike the last example, it’s not necessary to delegate
dns-sd-services.example.com to a different authoritative server, since the “example.com” authoritative server is already handling these queries. Delegating subdomains to a different machine is an option in DNS, not a requirement. You can choose to let the example.com authoritative server answer
dns-sd-services.example.com queries too, or you can choose to delegate those to a different machine. If you choose to take the simple route of just adding them to the existing example.com zone file, remember to add the
_http._tcp.dns-sd-services PTR New\ Employee\ Page._http._tcp.dns-sd-services
New\ User\ Information\ Page._http._tcp.dns-sd-services SRV 0 0 80 nu-info.example.com.