New Projects - Fresh from the Labs
Born out of dissatisfaction with expensive commercial tools and the direction taken by most network admin projects, OpenNetAdmin (ONA) takes a different approach to network administration while making the task of administration a little bit nicer in the process. Project founder Matt Pascoe found commercial tools, such as Lucent QIP, Infoblox and Bluecat, to be okay, but they're expensive and clunky for certain tasks, and they don't follow the *nix principal of modular functionality. All of the open-source tools he found, such as IP-Plan/IP-Track, had big usability issues, and the Java interfaces always annoyed him, so a Web-based AJAX interface made more sense. After coming up with a bunch of cool ideas and methods with his former coworkers, Matt couldn't let all of them go to waste, so he re-created his own variant that would work in a general sense for the Open Source community.
ONA is meant to play a more authoritative role in your environment. Many tools want to go into a discovery mode and tell you what is in your network, while all the time adjusting your data. In contrast, ONA tells the network what it should have in it. This way, you can (hopefully) trust your own data to help you configure your environment the way you want it, but still utilize things like DHCP and its dynamic nature. ONA also is designed to help with auditing your network, and it's geared toward helping configure your routers/switches/firewalls/nagios/cacti or pretty much anything for which you want to create an output template. The GUI also is an important element of ONA, designed to flow easily with familiar elements, such as pop-ups, search as you go and so on.
First, you need a basic LAMP installation of Apache, MySQL and PHP, or you'll be going nowhere fast. Matt recommends installing the following packages:
Once you've got the LAMP side of things sorted out, head to the ONA Web site, grab the latest tarball and save it somewhere locally. Once the download has finished, open a terminal in the directory where you saved the tarball, and enter the following commands as root or using sudo:
# tar -C /opt -zxvf ona-v00.00.00.tar.gz # ln -s /opt/ona/www /var/www/ona # touch /var/log/ona.log # chmod 666 /var/log/ona.log # chown www-data /opt/ona/www/local/config
(If you know what you're doing here and use a different Web server user, feel free to replace the user name.)
These steps should cover most circumstances, but alternative steps can be taken if you prefer more customization or if it simply doesn't work on your system. Check the installation documentation under docs/install in ONA's tarball for more information.
ONA is a browser-based program, so open up your favorite browser and head to http://<servername>/ona. If you don't know your server name, localhost should work in most cases. This should take you to a License Agreement screen, but if you get a request to save a PHTML file instead, try another browser and check that PHP is installed properly (on my Ubuntu machine, for some reason it didn't work on Firefox, but it worked straightaway in Konqueror).
After the License Agreement, you'll go to a screen where you need to assign passwords to the default users and user names (which you can change if you prefer). There also will be a number of prerequisite checks—ensure that they are set to Yes. After that, you now should be on the main ONA screen. When you start out in the main screen, you will be acting as a Guest by default, so you need to log in as admin. Click in the field near the top right where it says Guest, and enter admin in that field. After you've done that, a password box appears; enter admin there as well.
Now that you're all set up, it's time to explore. In the middle of the screen is a group of the main tasks you will be performing, such as Add a DNS domain, Add a new host and so on. If you look at the top left of the screen, there's a button called Tools. This contains a menu of all the tasks just mentioned as well as a host of other options. However, the most important option is Admin Tools (which also happens to be in the top center of the screen). This has some powerful options, such as managing DHCP, device models and roles, subnet types, users, groups and more. Information on pretty much every ONA networking task is available in some form or another, and some kinds of information seem to be available in lovely pie-chart form—perfect for boardroom types.
Unfortunately, I just don't have the space in this column to give this program justice, so hopefully we can cover it in a more detailed form some time in the future. ONA is chock-full of options; the GUI is pretty nice to use, and the aesthetics are pleasant—all of which will hopefully draw some new users into the world of Net administration. Nevertheless, some potential users may run away in fear of the command line, so hopefully, the installation process will benefit from distro-specific packages in the future (and in turn, hopefully, ONA will make its way into major distributions soon as a great admin tool). And, for those who want to jump in and try it without going through all the nasty installation stuff, check out the on-line demo (demo.opennetadmin.com).
I'm always keen to bring you ever more niche-market stuff, and here's the latest little project I've found. Vocatra is a vocabulary trainer with a twist. It works in a terminal as text only—no GUI. I'm guessing there's a demographic for that—perhaps an Apache system administrator who wants to brush up on five minutes of Japanese while he's logged on by Telnet.
Deb and RPM packages are available at the Vocatra Web page, as well as a source package, and as usual, I cover the source version here for the sake of remaining bleeding edge. Grab the latest tarball from the Web site, extract the contents, and open a terminal in the new directory. Compilation is a doddle, as it's the standard process of:
$ ./configure $ make
And, as root or sudo:
# make install
Once the source has compiled and installed, start the program by entering vocatra. However, it will return an error message about missing a vocabulary file. This is normal, and for the moment, you will need to make your own vocabulary file. It sounds like a pain, but it's genuinely easy to do, and it allows you to define the words with which you want to train, as opposed to some projects that just grab random words from a dictionary file (where you're just as likely to come across words like helicopter and prophylactic in the same lesson instead of something more pertinent). To make a vocabulary file, simply make a new text file and enter any words you want to train with the following syntax:
Here's an example from the Web site:
The foreign words and native definitions are separated by an equal sign (=), and multiple synonyms are separated with a comma (,). If you want to make any comments in the text file, add a number sign (#) in front of a line (in keeping with the style of most modern programming and scripting languages). Check here for an example file in German and English: vocatra.esite.ch/examples/animals-de-en.txt.
Once you have made your vocabulary file, you can start Vocatra by entering the following:
$ vocatra vocabulary-file.txt
Vocatra now presents the words you want to train with, and it's up to you to provide the answers. Once you've finished the lesson, a summary at the bottom of the screen tells you how many words you covered, how many mistakes you made, your error rate and the time it took you to complete the lesson.
Ultimately, this is a great little niche program that's going to make a geek somewhere very happy. And, given its tiny size and simplicity, I can't see why it wouldn't be included in good educational distros. Hopefully, a community of users will pool around this program, as it would be great if someone took the time to make a series of lessons that you could use right off the bat (rather than making your own).
Projects at a Glance
Kuklomenos—Weird Space Shooter? (mbays.freeshell.org/kuklomenos)
Kuklomenos has to be one of the weirdest games I've ever come across. I'm not doing a full review here, because I simply can't figure it out! If you want to compile it, go right ahead; it's easy with the usual ./configure, make, make install routine. But, once you get into the game, be prepared to be puzzled. I think it's a space shooter, because the background is black, but that's just a guess! Your goal is to fight off blobs with a strange control scheme that involves zooming, rotation and fire accuracy—all in a playing style that's like Asteroids rewritten by a French existentialist on crack. Intrigued? Check it out!
GnoMint—Graphical Certification Authority Management, X.509 (gnomint.sf.net)
Unfortunately, I couldn't bring this project to you properly this month, as project maintainer David Marín Carreño ran into some security holes that needed plugging before it was ready for the mainstream. However, the end results of this project look promising. Imagine you're trying to establish an IPsec VPN. If you want some actual security, you need X.509 certificates for all employees. At this point, you either can buy the certificates from an external CA (which costs money), or you can establish your own CA. Establishing your own CA always has been a bit of a pain. With OpenSSL, you need to use a console and log commands with a lot of obscure parameters. You could use other programs for managing CAs, but most of them are Web-based, and all you really want is a simple GUI application. GnoMint steps up to the plate here with a simple app that fits the bill nicely.
AMIDE—A Medical Imaging Data Examiner (amide.sourceforge.net/index.html)
I was instantly taken by the screenshots for this program. AMIDE is a tool for viewing, analyzing and registering volumetric medical imaging data sets. It uses the GTK+ toolkit and runs on any platform that supports GTK+. Follow the link to the main page, and you'll be greeted with some amazing screenshots of what appears to be the human body and various anomalies. Follow the link to Sample Data Sets, and you'll see scannings of fluoride-injected mice that you can examine in full morbid detail! Whether you're scanning Ripley for gestating aliens or even using it for standard medical analysis (but that's just silly), AMIDE may be just for you!
Brewing something fresh, innovative or mind-bending? Send e-mail to firstname.lastname@example.org.
John Knight is a 24-year-old, drumming- and climbing-obsessed maniac from the world's most isolated city—Perth, Western Australia. He can usually be found either buried in an Audacity screen or thrashing a kick-drum beyond recognition.