0

I have several DNS servers configured for DNS-SD. I am able to register services without issue, however when I try to browse I get errors.

I have been testing using dig:

Browsing a local or remote server:

dig -t PTR _services._dns-sd._udp.example.com

Returns with no results.

If however I perform this:

dig -t ANY _services._dns-sd._udp.example.com

Then I discover the services types which can then be interrogated further to discover the full services.

Importantly if I then perform the first dig command again, I get the expected result, the same as performing dig with the "-t ANY". This lasts for 60 seconds (cache time) then it reverts to returning no results.

I feel there must be something missing, but the DNS configuration was copied from a working system... (Same version of bind)

Version details: CentOS 7, Bind-9.8.0

Bind configured locally and remotely with 3 zones: local zone, reverse lookup zone and srv zone.

named.conf allows quires from any, updates from any (not yet locked down and on a closed network)

I can add the configuration files if necessary.

Question: Why can I not discover services with just a dig -t PTR query?

I am using a library to write software which interacts with the DNS-SD and that searches for PTR records (library: dnssdjava)

egmackenzie
  • 101
  • 4

1 Answers1

0

Turns out that this issue was not being caused by the DNS configuration at all.

The issue started when we moved hardware and the only thing that changed was the version of Cisco IOS on the router (an ASA 5515x).

It turns out that Cisco changed the way that DNS packet inspection works between versions 8.6 and 9.1 which cause it to incorrectly handle the PTR record lookups in this case.

The solution for me was to turn off DNS inspection on the Cisco ASA.

egmackenzie
  • 101
  • 4