After much ballyhoo I finally managed to get Wide Area Bonjour working about as well as it can be expected to on one machine. It wasn’t an ideal solution however, as few people in the real world have routers which support NAT-PMP, and most UPnP implementations still seem to thwart Bonjour’s crafty tactics, so I wanted to continue using regular old nsupdate for those clients who wouldn’t be able to register their A records any other way.
Much to my chagrin, I found that this was not possible. Attempting to use nsupdate on a dnsextd enabled machine results in nonsensical errors about a missing TSIG key, even when this key is explicitly provided both on the initial command line and in the ensuing series of commands issued. Telling nsupdate to send directly to the alternative port which dnsext communicates with BIND over (5030) allowed updates to work again as normal. This would be fine if there were some way of programatically determining whether my script was talking to dnsextd or named and switching ports as needed, but I don’t think there is.
If I have to choose one or the other, I’ll axe Bonjour altogether as it’s still too flaky for my liking, but if I can have both, I want both. Anybody else done this?
Comments are closed