Physical machines versus virtual machines

Seeing a section on virtual machines in a networking book may come as somewhat of a surprise. To be fair, it certainly is out of place. In addition to being an important enterprise platform, virtualization can also be an invaluable learning tool. In real networks, a technician may test a service in a virtual machine before rolling it out to the environment. For example, a new DNS server may begin life as a VM, and then once it is tested and proven, moved into an environment for use by the organization. One benefit of this approach is that you can take several snapshots as you develop the solution, and should you mess up and ruin it, you can just restore the snapshot and begin from a known-working state.

As far as mastering our Linux networking skills are concerned, virtual machines allow you to test how a procedure differs from one distribution to another. It's easy to bring up a virtual machine, and it's even easier to trash it. If you're limited by physical hardware, then virtual machines may offer you a chance to build a small virtual network to practice on. Of course, the trade-off with virtual machines is how much RAM they use. However, without a GUI, most Linux distributions will run quite comfortably with just 512 MB RAM. Nowadays, quite a few computers ship with 8 GB or even 16 GB RAM, so you should be able to run several VMs on even the budget computers available today.

To be fair, using virtual machines for purposes of practice and study isn't always ideal. In fact, when studying networking, physical equipment is usually preferred. While you can certainly practice setting up and serving a web page via Apache running in a VM, you wouldn't be able to practice racking switches and routers in such an environment. Whenever possible, try to use physical equipment. However, virtual machines offer a unique chance for you to create a small army of nodes to maintain on your network.

Of course, not everyone has a stack of Dell towers sitting in the closet, ready and waiting for a shiny new Linux install. Depending on what you have at your disposal, you may use all physical machines or a mix of physical and virtual. In this book, no assumptions are made about your inventory. The name of the game is to manage nodes, so set up as many as possible.

In this book, VirtualBox is discussed. However, it's by no means the only solution for creating virtual machines. There are other solutions as well, such as KVM, Xen, VMware and others. VirtualBox has the benefit of being free, open source, and cross-platform (it's available for Linux, Mac OS X, and Windows), so there's a good chance it will work in your environment. In most cases, it's even easier to set up than KVM or Xen (but perhaps not nearly as cool). You don't have to use VirtualBox (or even VMs at all, for that matter) in order to follow along with this book. Use whatever solution you prefer. In this book, I try not to limit the instructions to any one specific solution, so the content works for as many people as possible.