A project that I previously mentioned, a Virtual Private Network using Desktop PCs as testing platforms, is back in swing. I mainly got discouraged by the operating system I installed on the hard disks: Ubunter Server Edition 7.0.4.
When it comes to the desktop experience, I really enjoy Xubuntu. It's a very easy Linux distro to install and use.
How easy? Well, I have a older AMD Duron 850Mhz desktop PC that was running XP Pro and Mandriva. It has an ASUS TVFM PCI tuner card, 256MB of RAM, a 17" LCD monitor (a hand-me-down from another computer) usb keyboard and mouse. In Mandriva, I couldn't get the card to work, and while the card worked in Windows, the application software for watching TV and listening to the radio either were inadequate (it was part of a Home Theater application, not stand-alone) or lacking.
To make a long story short, I was hardly using the computer, it was taking up space in the house, and wanted an all-in-one solution for the detached garage to replace a slow Mac G3 AIO that was still running OS9 and used a VCR as a tv. Since I didn't need Windows, I formatted the hard drive and did a clean installation of Xubuntu 7.0.4.
Within minutes, I was able to install the applications I wanted (TVtime for the tv tuner, GnomeRadio for the FM tuner) and updated the system. Without touching a thing, I launched GnomeRadio and was listening to CMU Public Radio and other stations that didn't come through in Mandriva or required a "home theater" program to use. TVtime worked perfectly, and I was even able to hook up the VCR's A/V outputs and view tapes. It has a DVD drive, so watching DVDs was a snap, and with Amarok, I was able to listen to Internet Radio or my MP3 collection, a copy of which resided on a resurrected Gateway server that I bought from work.
Their server edition leaves something to be desired.
My initial attempt to use it as a hasty (literally) replacement for Mandriva on the content filtering server met with failure. It was due to not understanding how iptables rules are set and having to work without a GUI (Graphical User Interface); something I got spoiled on using Mandriva. While I am using Xubuntu on my home server for listening to my music collection, it's already behind a firewall, and was merely being used for sharing files. Those are very different requirements.
Of course, one of my goals for the production VPN units is to not use a GUI, or run any unneeded software. It will only have a command-line interface (with perhaps a web-based one later on) and be accessible only through SSH or a serial console (via a serial port). No moving parts means no disk drives at all, including hard disks, so it will be wholly contained on a flash card.
Though you can install and run a Linux distro (distribution) on a flash drive, there are limitations. In the case of DSL (Damn Small Linux) used on the item catalog computers, they only load an image of the entire setup into the computer's RAM and use part of the RAM as a disk (RAM Disk). You can't use a flash drive as a regular hard disk because you can only write to it so many times before it becomes corrupted and therefore unusable. Some distributions may not boot from a flash drive; some may not install at all. Like DSL, the operating system must be able to only load its contents into RAM and run from RAM, only allowing writes to the disk for any changes.
Another consideration is size. DSL is only 50MB in size while Ubuntu and Mandriva require 2GB of disk space to install on. You could do minimal installations that take under 512MB, but there's still the first issue mentioned above. It's better to start with something that is designed to run from flash in the first place. There are Linux distros that do this (OpenWRT, which I use on hacked wireless routers), but either support a limited range of hardware or are difficult to setup.
While doing some searching through Google, I found an alternative that seems perfectly suited to my goals: Lintrack. It's a relatively small (installs on a 256MB flash disk) distribution meant for ISPs (Internet Service Providers). This Linux distro is meant for building powerful Internet routers. It provides support for all the needed X86 hardware and network devices, and OpenVPN will run on it. So it seems a near-perfect choice.
The past few days, off and on, I worked on installation and configuration. Installation was very easy. You burn a installation CD, load it in the computer's drive and boot from CD. Booting from compact flash worked perfectly every time. Configuration was a different story.
It's not really the fault of the developers or the software; they did a good job. It was the fault of the tutorial I was following and my own error. What I initially read seemed to contradict what I knew about networking. Eventually, I couldn't get the computer to get online. Rather than deal with changing settings and trying again and again, I did another fresh installation and went on another search for something that made more sense.
I found something far clearer here:
polishlinux.org - Lintrack: Linux for Internet Service ProvidersNo, I haven't even touched the keyboard yet, but instead did what I should have done in the first place. The pages from the site were printed out, read and reread and notes jotted down. Since what I needed was not
exactly what I intended to use, I went back to the original tutorial, circled the relevant information, and crossed out the rest.
Next week, I'll get back to working on testing out Lintrack. If it will work as I want it to, this very likely will be the Operating System running on all the Firewall/VPN servers in the district, booting off of 512MB compact flash cards; convenient as I already have a card and an IDE interface to test with.
There are a lot of different Linux Distributions available. Some are open-source (Ubuntu, Gentoo) while others are proprietary (Xandros, Linspire), and yet others are geared toward specific applications like music and video production or entertainment, for beginners (Vector Linux and Ubuntu) or advanced (Gentoo) users. There are distros for embedded devices like OpenWRT or CFLinux (meant to run on compact flash cards) and even game consoles like the XBox and Playstation 2 and 3. In fact, I have an XBox that I plan to resurrect with a new hard drive and run both original games and Linux off of someday.
So you can see that there are a lot of options open in the open-source world.
For more on Lintrack:
Lintrack - Linux router for ISPs