Linux – How to automatically announce Linux server resources to clients with arbitrary OSes

avahibonjourlinuxmac-osxwindows

I have a Linux server that needs to offer some services to an intranet. There will often be users that are not too familiar with using their laptops in a network environment, and so I'd like to announce the services they can use in an intuitive way. Ideally, when they connect their machines to the network, they'll see the services they can use and their OS will be informed about available printers etc.

For

  1. a publicly accessible folder for file sharing (Samba, NFS or sshfs based)
  2. some web-based tools like status monitors
  3. CUPS-driven printers
  4. networked scanners,

what would be the best way to do this? I'm open to any suggestions and not settled on any specific technology here.

For my specific application, security is of little concern, but feel free to discuss security implications of any suggestions.

For announcing Samba shares to Apple machines, there's already an answer here, but I don't think avahi/Bonjour will be able to solve everything else. Also, I'm not a Windows user, but I suppose there's already some similar protocol from Microsoft that works better with Windows clients.

Best Answer

The easiest way would likely be to publish DNS and search domains via DHCP and make sure that people can get to a nice documentation page just by typing helpinto their browser. In this page, you can then list your resources and how to access them from their machine.

Then you just have to make sure people know about this...