FreeGeek is a nonprofit community technology center and recylcler here in Portland. They came into a quantity of identical Unisys Pentium thin PC's and thought of our needs.
So JerrittCollord and AndrewWoods and IanSwift went about the process of handling/verifying hardware, cleaning, creating a standardized operating system image, etc. This is a typical what we call now "NoCat box" that performs NAT or other routing, DHCP, DNS and of course hosts the NoCatAuth captive portal software. The machines have one builtin NIC and MichaelCodanti donated a set of matching PCI nics that were installed in the one slot available.
There are 10 machines for use in nodes where PTP collectively is responsible for maintenance. Standardized for our ease of parts replacement, universality of platform knowledge, and general cuteness in size, etc. "Because someone gets a phone call"
Here's some notes describing what they are and how they were made, some tips for future similar efforts.
1) Use a journaling or otherwise resilient filesystem. You're retooling the hardware to be a routing appliance now, not a personal computer. Pull the plug while running, re-insert and 99% of the time it will come back on. We used ReiserFS.
2) Alter BIOS for our needs... halt on no errors (must run without keyboard), enable fast boot.
3) Test hardware extensively. Run memtest86 for RAM, a read/write badblocks scan on the HDD. (Ideally of course there would be solid-state storage instead of an HDD but cost constraints prevent that). Use no hardware that has any problems whatsoever.
4) Clean the hardware as much as possible... take it apart and dust with liquid air. Can be a problem for ventilation and cooling, also tends to muss open moving parts like floppy drives.
5) Use Debian.
6) Must be other things, will update.
A couple other thoughts, not sure if you want them here. Install, Spong, NoCatAuth (MetaNet in the future?). Possibly worth investigating DNSMasq instead of Bind because it's much lighter weight, A nice DNS standardization would be for the gateway to always resolve as gateway.personaltelco.net (or somesuch) so that the SplashPage could refer to it for the status page in a standardized way. -- AdamShand