Local (LAN) Networking

Some Best Practices to help make local networking work better.

Zeroconf (aka Bonjour nee Rendezvous)

Zeroconf is the way to get computers connected on a TCP/IP LAN to talk nicely together.

The usual situation is that you've got a few machines sitting behind a NAT/DHCP firewall connected to the Internet. Works great for those machines talking to the Internet out in the Wide World, but connecting to the machine on the next desk is a pain for anything other than File or Printer sharing. The principal need is for being able to have local webservers (particularly for PersonalWikiWiki, SPARQL, Subversion, and WebDAV) The problem is you need some kind of DNS tied into the NAT & DHCP, but that is waayyy to much trouble without a network administrator.

Fortunately Apple (the folks who invented plug & play networking) has come to our rescue by implementing Zeroconf in Mac OS X. They call it Bonjour (and used to call it Rendezvous). A lot of silliness since Zeroconf is such a better name. With Zeroconf/Bonjour you can use the "computer name" set in the Sharing Control Panel as a host name by just appending ".local". So if you call your machine "SuperBrain" you can access it over the TCP/IP LAN as "superbrain.local" (host names are not case-sensitive).

Bonjour and Mac Web Sharing

Came across this post http://adrianhosey.blogspot.com/2008/05/os-x-bonjour-apache.html that explains how to make your personal web site ("~/Sites") appear in Bonjour (Safari has a Bonjour browser under "Collections" in the "All Bookmarks" window).

Bonjour Browser

Bonjour Browser is a Mac application that gives detailed information on all available Zeroconf/Bonjour services. Available at http://www.tildesoft.com/Programs.html.

Bonjour for Firefox

BonjourFoxy is a Firefox AddOn that adds support for a Bonjour sidebar to Firefox, similar to the service browsing support built-in to Safari.

Zeroconf for Windows

But what about Windows? Alas Microsoft doesn't think computers should be as easy-to-use as Macintoshes. Once again though, Apple is here to help us out. They supply Bonjour for Windows for free! They represent it as a printer-sharing service, but you can ignore that. Just install it (you don't even need to restart) and presto!, you can use those nifty local host names with no fussy hosts.txt editing or the like.

On Windows, the computer name is accessed by clicking the "Change..." button on the Computer Name tab of the System Control Panel (same place you set the workgroup name). That "computer description" field will have no effect.

From http://Zeroconf.org:

Zeroconf for Linux

This Red Hat Knowledge Base article explains how to enable Zeroconf on Linux using howl (which is included with Red Hat Enterprise Linux).

It is pretty obvious why Zeroconf is the way to go by comparing it to this Red Hat Magazine article on how to set up a DNS server for your home LAN.

The howl homepage doesn't go to the right place (which is this tombstone), but this howl install HOW-TO is very helpful.

The active Zeroconf project for Linux is Avahi http://www.avahi.org/. It is used in many popular distros including Red Hat, Debian, Gentoo, and Mandriva.

Bonjour Everywhere

Apple just (WWDC 2006) released their Zeroconf implementation (Bonjour) under the Apache 2 license. The old license was Apple's public license (APSL) which made bundling a nuisance.

http://bonjour.macosforge.org/

MDNS and caffeine: How I got Bonjour running on my iPhone

http://www.tuaw.com/2007/10/22/mdns-and-caffeine-how-i-got-bonjour-running-on-my-iphone/

http://code.google.com/p/mahalo-mdns/

http://www.multicastdns.org/

Windows Workgroup Name for Mac OS X

While setting the computer name on a Mac is very easy, setting the workgroup name (to something other than "WORKGROUP") is a bit obscure. You must use the "Directory Access" application in the Utility folder. Get detailed information in this handy Mac Guides article.