|Subject||SEI Data Internet Appliance Build|
|Concept||A buildup of a FreeBSD based Filtering Proxy Server Appliance|
The ISP that I work for recently started providing content filtering to subscribers who requested it. We were already using a squid cache system for our entire customer base with pretty good luck. A couple of local schools and libraries that had dedicated lines (not through us) wanted a simular services, but also wanted total control on the content that was being filtered. While setting up a filtering cache server was not a big chore, they also did not want to have to do any administration of the box, *and* on top of that, cost was to be kept to a minimal. There are products available in stand alone configurations that do this, but all proved to be too expensive. As the solution provider, we also wanted a configuration that was flexible enough for different configurations, ie a intranet server, email, or even a router. We decided on using a web-interface for the post installation configuration, using already available open-source GPL software. The only cost to us, was the hardware itself.
The appliance needed to be a small footprint and be able to work for the most part, without keyboard and monitor. We looked at several configuration options available to us and cost/performance options. For the prototype, we settled for an AMD based server with IDE hard drive. We also priced a comparable Intel configuration for comparison. By getting the parts from OEM dealers, we were able to get the parts for just under $400.00 (minus shipping costs). Here is the parts list:
1. CDROM/Floppy not needed, as this will be an appliance and can be attached as needed.
2. Video/Audio is onboard for both motherboards, but will be configured for serial console.
The Hardware Build
The case has a very small footprint (15"x12"x3.5") so only a micro-atx board will fit. The biggest problem we had, was the fact that the case takes low profile cards. Unlike 1U or 2U rackmount cases that use a riser card so that pci cards go in horizontally, this case uses the "low-profile" standard. Up to this time, I have not ever encountered low-profile cards and a quick search on the web (via google) located only one recognized named manufacturer that makes low-profile pci 10/100 ethernet cards, which happens to be IBM. While the cards seem nice, there was not any unix support that I could find, just WinNT and Novell. Also at $100.00 a pop, was too expensive for this project. We had some new 3Com 3c905C-tx cards that where had a small PCB, so we "engineered" the brackets to fit the case. A pair of good tin-snips,a dremel (a must have), and about 10 minutes of work, and viola! a low-profile 3Com ethernet card. Keep in mind that the Intel configuration's motherboard had one ethernet on-board, so we only need one additional card. Here is a picture comparing the standard sized 3Com and my "chopped" version:
The rest of the installation was a typical computer build, put parts where they belonged and tidy up the cables all nice and neat (I have a reputation, you know?). Here are some pics of the prototype box: