How to make a machine accessible from the LAN using its hostname
I have is a simple home network with a few machines connecting through DHCP. If everyone and their respective devices are all home and active I'll have about 15 active IPs. I would like to be able to identify hosts on the network by name.
I am not interested in solutions involving static IPs or permanent DHCP leases. Ideally, it should be transparent to the user and any new machine connected to my LAN should be able to access any other by name.
It should be cross-platform. My LAN has Linux, OSX, iOS and the occasional windows machine. I'm not too bothered if it doesn't work in windows but I'd like to have it in the rest at least.
I realise I can set up a local DNS server but I'm hoping there is a simpler solution that I am not aware of (avahi? NIS?). So, is a local DNS server the best way to go about this?