Fun With Virtual Labs
So here’s the scenario: you’ve just read about some neat piece of software or a cool operating system either here or elsewhere on the internet and you think you’d like to try it out. To complicate things, perhaps the software doesn’t run on your current operating system, or maybe in order for it to work, it needs a deployment of several systems simultaneously. For nearly anybody, that would be a tall order, and for what? Fun? A difficult justification for what is shaping up to be a monumental undertaking. I assure you, there is a better way.
As the title of this article would imply, the way to your software salvation lies in virtualization. It is likely that you have heard of hardware virtualization before; you have almost undoubtedly been exposed to virtualized hardware at some point in your life, either directly or indirectly. For example, even here on campus, a significant amount of the computers you use in labs are ‘thin clients’ that simply send control information and video data back and forth between a virtual computer that is located on a server deep within one of ISU’s data centers. Even most servers these days are virtualized to allow for scalability and load-balancing. Most applications that are touted to run ‘in the cloud’ will likely be running on virtualized hardware.
Now that you know about all these advantages to virtualization, how can you leverage virtual hardware for your own experimental purposes? Not only is the solution easy, it is also free! There are virtualization applications that you can pay for, for sure, but if all you want to do is set up a quick test environment or if you’re just beginning, some of the simplest solutions are the free ones.
The keyword to search for is ‘Virtual Machine’ software. These are applications that are designed to simulate all of the individual parts of a computer in software, so that you can essentially run a computer within your computer. On a side note, video game emulators function in a similar fashion; all of the hardware components of a console are ‘emulated’ in computer software to allow a game program made for that system to run within that environment. Back on track — two of the most prolific free applications for simulating computer systems are Virtualbox and VMWare Player. Both of these solutions have automated wizards that will aid you in setting up your virtual systems, all you need to supply is the disk image file for the operating system you want to install (Ubuntu would be a good place to start if you are lacking disk images to try). There are other free solutions as well, but generally may require a more intense set-up process. Some of these options would include an Ubuntu server running Xen, or a Windows server running Hyper-V.
However you choose to get your virtual lab set up, you’ll be able to experience a number of handy benefits. If you keep a virtual machine around that has the same operating system installed on it as your primary computer, you can use that virtual machine to give interesting software a sort of ‘trial run’ without having to install it on your own computer. It’s cleaner and more efficient to roll back a virtual machine than it would be to uninstall a pesky application that you don’t want. Testing out configurations for specific applications is handy, too; you’ll be able to see how a particular configuration will will affect your system before actually messing around with any important configurations files. A virtual ‘lab’ is often used by security professionals and hobbyist ‘hackers’ alike in order to practice and gain experience without putting themselves or others at risk of an errant or misconfigured attack. An excellent resource for practice virtual machines is the website Vulnhub.
Personally, I feel the biggest advantage that my personal use of a virtual lab offers me is the lack of apprehension before diving into a project; just spin up a virtual machine and start bashing rocks together. Now go forth and make virtual labs of your own!
Entry filed under: Uncategorized.