0

I've been following the official documentation for DNS-SD on setting up a Bonjour name server. That is, a wide-area DNS server. The instructions seem quite old, given some of the things it refers to no longer exist (like dnsextd on macOS, which seems to be incorporated into bind9 in any case).

I'm actually setting up this DNS server on a Linux installation (Raspbian), which should be possible according to that page.

You can also use Linux, Solaris, or any other Unix-style operating system that can run the BIND name server.

Here are my relevant configuration files on the server system.

/etc/bind/named.conf.options

options {
    directory "/var/cache/bind";

    forwarders {
        192.168.0.1;
        fdd4:12f8:9ad3:0:8272:15ff:fe97:6678;
    };

    dnssec-lookaside auto;

    listen-on-v6 { any; };
}

/etc/bind/named.conf.local

zone "lan." IN {
    type master;
    file "lan.zone";
};

zone "bonjour.lan." IN {
    type master;
    file "bonjour.lan.zone";
    allow-update { any; };
};

/var/cache/bind/lan.zone

@ IN SOA rpi.lan. hostmaster.lan. (
    1  ; serial
    8H ; refresh
    4H ; retry
    4W ; expire
    1D ; minimum
)

@             IN NS rpi.lan.
@             IN MX 10 rpi.lan.
localhost     IN A  127.0.0.1
router        IN A  192.168.0.1
rpi           IN A  192.168.0.10

/var/cache/bind/bonjour.lan.zone

@ IN SOA rpi.lan. hostmaster.lan. (
    1  ; serial
    3H ; refresh
    1H ; retry
    1W ; expire
    1M ; minimum
)

@ IN NS rpi.lan.

_dns-update._udp IN SRV 0 0 53 rpi.lan.

b._dns-sd._udp  IN PTR @
lb._dns-sd._udp IN PTR @
r._dns-sd._udp  IN PTR @

However, this set-up is failing to pick up any devices advertised on the network via Bonjour. This can be seen by running dig bonjour.lan.

; <<>> DiG 9.18.12 <<>> bonjour.lan
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41841
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: ebefdba02287f4bb7687ffc663fa9167695632eedfc0a265 (good)
;; QUESTION SECTION:
;bonjour.lan.           IN  A

;; AUTHORITY SECTION:
bonjour.lan.        60  IN  SOA rpi.lan. hostmaster.lan. 3 10800 3600 604800 60

;; Query time: 79 msec
;; SERVER: 192.168.0.10#53(192.168.0.10) (UDP)
;; WHEN: Sat Feb 25 22:53:27 GMT 2023
;; MSG SIZE  rcvd: 129

Any advice on how to get this working would be much appreciated.

1 Answer 1

1

The server will never "pick up" anything by itself; it is not supposed to. Wide-area DNS-SD works by the clients explicitly registering themselves on the server, using the DNS "UPDATE" command.

This is only supported by "Bonjour" in the sense of the specific DNS-SD implementation used by macOS (aka mDNSResponder; sometimes found installed on Windows). Its control panel allows specifying the domain and even the optional TSIG-HMAC update key. Avahi on Linux supports browsing wide-area DNS-SD domains, but not updating them.

No other DNS-SD implementations support wide-area DNS-SD at all, as far as I know; they're purely mDNS and only deal with the local domain. (The various mDNS-capable appliances and embedded systems have no reason to support it, and a few reasons not to.)

7
  • Thanks very much for clarifying that. So just to confirm, you're saying that my RaspberryPi DNS server (bind9) won't support updating wide-area DNS-SD domains?
    – Noldorin
    Commented Feb 27, 2023 at 16:52
  • No, that's kind of the complete opposite of what I was saying. Bind9 is not the service that makes updates in the first place – Bind9 supports receiving dynamic updates, but none of your client devices support sending those updates. Commented Feb 27, 2023 at 20:28
  • I was under the impression at least macOS would support sending such updates... but fair enough. Anyway, that should be clear now, cheers.
    – Noldorin
    Commented Feb 27, 2023 at 22:50
  • Mac OS X Bonjour used to have that ability sometime around 2000s (and so did Bonjour when installed on Windows XP), but I believe they removed it at some point – didn't macOS switch over to a completely new DNS-SD implementation a few years back? Commented Feb 28, 2023 at 5:24
  • Apple are sort of working on a somewhat different unicast DNS-SD aggregator mechanism, SRP (datatracker.ietf.org/doc/html/draft-ietf-dnssd-srp), which still uses the same concepts and underlying technologies as wide-area DNS-SD but needs a more specialized kind of DNS server. (mDNSResponder includes an SRP proxy that can bridge to/from mDNS.) Commented Feb 28, 2023 at 5:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .