AFP and Rendezvous On Linux
I have several Macs in the house. It only makes sense to have some shared disk space between them. I finally got around to setting up a Linux file server to host this space. I was able to get this working almost straight from this tutorial from http://viebrock.ca. My choice was to use AFP; I only have Macs and don’t need to worry about other file sharing protocols. The tools needed are:
- netatalk
- howl-tools
- and mdnsresponder
My linux box is setup with a fresh Debian sarge installation. You can check out my HomeFileServer configuration for details.
I went ahead and setup Interreality.org’s Debian archive in my /etc/apt/sources:
deb http://interreality.org/software/debian unstable main
This archive is needed because the howl tools (needed for Apple’s Rendezvous/Bonjour/automatic-DNS features) didn’t make it into Sarge before it was released. The Interreality archive has a backport of howl to Sarge; same with the mdnsresponder.
I followed the tutorial for pretty much everything for netatalk configuration. I didn’t create the /etc/howl/mDNSResponder.conf file. I changed the /etc/defaults/netatalk ATALK_NAME so that it returned my machine’s hostname. Once I did that, mdnsresponder automatically listed my hostname as an available share. The tutorial above is more for when you have multiple services you want to share (or maybe just non-standard services like ssh). I also didn’t do anything complicated in my /etc/netatalk/AppleVolumes.default. I just listed the paths I wanted to share and added a simple veto:
/music "Music" veto:/lost+found/ /photos "Photos" veto:/lost+found/
Authentication
One of the things not talked about on the Viebrock.ca tutorial above is the authentication modules. If you look at the netatalk.conf man page, it talks about setting a AFPD_UAMLIST variable. On Debian, everything that goes in netatalk.conf is set in /etc/defaults/netatalk. The documentation for authentication on the official Netatalk homepage recommends using the “DHCAST128” module. For licensing/political/whatever reasons, Debian Sarge doesn’t ship this module with it’s netatalk package. The package maintainer does make it available though with this apt source:
deb http://debian.jones.dk/ sarge misc
Once I updated to a netatalk with the uams_dhx.so I was able to connect to my Linux server just fine.
