As a dba, I’m constantly looking to learn more about networking and system administration. Both can have quite an impact on the performance of my piece of the puzzle. A welcome addition to the materials to help me learn about networking is Carla Schroder’s “Linux Networking Cookbook“. This book is just right for the person like myself who enjoys learning by getting hands-on experience with the technology. The scope is wide and so someone with a great depth of networking experience may find that the treatments of each is a bit shallow. On the other hand, that wide scope means this book may hold something new, even for someone with some level of experience.
This is not the kind of book that one sits and reads in the evening to gain new knowledge. I think of it more as a lab book or exercise guide. The user who has this open on the desk beside them, as they work through the ‘recipes’ is the one who will gain the most. The cookbook also assumes a basic level of ability in working with Linux from the command line.
The book follows a consistent format throughout the chapters. It truly is a cook book with the recipes taking the form of problems and solutions. There are eighteen chapters containing these recipes, the first chapter is a brief overview of networking in general. I think that Schroder’s experience in implementing Linux networks or working with Linux in heterogenous networks really shows in the types of solutions and scenarios presented in the book.
Often as I worked through exercises, I kept thinking that what this book gave me was what I would have after hours of Googling and sifting through the results. Schroder has boiled that kind of hunting down to the necessary steps from installation, through configuration and use. For the person who values their time, or is not sure where to start searching for answers, this is a great resource.
The limitation of a recipe format is that modifying the solution or moving away from the detailed plan requires more experience and knowledge the further the reader departs from the given formula. Schroder has dealt with this issue in many chapters by giving instructions appropriate to Fedora and Debian. There are a couple exceptions to this which I will explain below.
I think that a strength of the book is that Schroder has not limited herself to desktop PC hardware. She is presenting a true overview of networking and so if the reader intends to work through every solution in the book, they are going to need to purchase some hardware. Some may object to this, and it is not absolutely necessary. Someone with enough experience or willing to do the research could shift things around and use say, an old desktop machine, but at that point they would be really doing things on their own and not needing the book.
There are 2 chapters that focus on building network devices with Pyramid Linux on a Single-Board computer. The hardware Schroder uses to write the solutions is a Soekris 4521, which retails for about $150. I think it is good that a person who might want to use this book knows that up front. To me, this is a much more economical solution than suggesting that one get their hands on a commercial device, and allows much more flexibility. Schroder could have shied away from asking for the reader to go to this step, but I think the choice reflects her commitment to making the book useful in real world situations.
The chapter on building an Asterisk VoIP system would probably also work best with some nice headphone/microphone sets that may be a necessary purchase for many. They are not required, a soundcard, microphone and speakers would work as well.
Having parallel solutions for Fedora and Debian side by side is very nice. After each solution there is also discussion of pertinent issues and reference to applicable resources. The other resources include pointing out appropriate man pages, web sites and other books. Schroder’s style throughout is relaxed and very succinct. The nineteen chapters do cover such a wide array of technologies and issues, this book could easily be twice as large if she were wordy, instead it is very portable.
The chapters on network devices, routing, network monitoring and using linux to manage a network would be most valuable I think to network administrators or the person wearing that hat in a smaller shop. The chapters that revolve around connecting to systems remotely and using linux to manage windows machines could be a real boon to anyone who works in a mixed environment that includes more than just Linux machines. I’ve found all of it to be of value because I interact with all these pieces every day. It is nice to have a better grasp of how subnets are built and how routers work. I look forward to not relying on a gui or searching endless forums to get a good grasp on managing my iptables firewall.
Following the body, the book has three appendices. The first is a list of other resources. This is primarily other O’Reilly books, but there are books from other publishers and some resources available on the web. The second is a glossary of networking terms. The most useful to me was the third, a kernel building reference. I found the index to be decent. It isn’t great, but it isn’t bad either. The book comes with free access to it through Safari for 45 days, I thought that was a nice plus. O’Reilly has all of the examples available for download and the author’s website is also a good launch point for related articles and information.
This book is a great way for the self learner to have a relatively unobtrusive guide while they gain direct experience in networking. Reading it alone wont do it, and there is still much to learn after completing each exercise, but a large part of the core competencies are there and thoroughly covered. I think there is also a lot here for that reader who has lobbied to get Linux in the door and now faces the task of getting their Linux machine to play nice with the rest of the network.
Title: Linux Networking Cookbook
Author: Carla Schroder
Publisher: O’Reilly Media, Inc.
Tagline: From asterisk to zebra with easy to use recipes.