Local domains?

I'm wondering what purpose local domains has?

I helped install Ubuntu on a relatives machine, and once it's done loading the desktop a notification appears claiming that the Avahi network service discovery doesn't work with .local domains.

Myself I got (except for my FreeBSD box) a MacBook Pro connected to an Airport Express, both using the .local suffix on their hostnames and refusing change. Is this something I should be using? I've got a registered .com domain name that is pointed to my server by dynamic DNS.
 
The nice thing about using a fully qualified hostname like, e.g., bar.local is that .local is not a real top level domain. Thus, you won't be colliding with a real hostname somewhere out on the 'net.

This is usually appropriate for desktops (and servers in some cases).
 
Oh so it's .local instead of, like, .com!

Is this the same domain name as the one you declare in Windows XP for LANs? I think it's called "workgroups" there.

Why is Avahi incompatible with .local though? I found this forum thread and this wiki article but I still don't get it.
 
Because Avahi/Zeroconf use .local to dynamically create FQDNs for use with MDNS (Multicast DNS).

So if you create your own DNS domain, don't use .local as a TLD as this will interfere with Avahi/Zeroconf.
 
Sorry to bump this old thread but I've noticed that the reason for such warnings from avahi is usually that the ISP's DNS servers claim to be authoritative for local. domain (what the hell are they thinking...) and that causes avahi to think that the domain is already used for some other purpose. Easiest fix is to override local. domain with caching resolver that allows exceptions to domains, for example with dns/unbound this would be enough in the config file:

Code:
local-domain: "local." static

This assuming you use dns/unbound with forwarders from your ISP, in recursive mode or with forwarders that don't claim to be authoritative for local. (e.g. google's DNS forwarders 8.8.8.8/8.8.4.4) it doesn't matter.
 
Back
Top