Just another Idea…

Over time , I’ve always wanted to share my thoughts and ideas but somehow, like in many other cases I seem unable to carry out whatever it was I wanted to and those ideas just fade away in my head, For some reason this one seems to have stuck and I think this is the perfect opportunity to share it. The thing is, the whole thing appeared quite obvious shortly after I started using the tools (independently at first) which are combined to bring it about. I think the networking and system administration guys might find this a little interesting.

I jokingly called the platform eVIL, short for electronic Virtual Internetworking Lab. It may sound really serious but please don’t be carried away by the name, unlike the labs at New Mexico that developed the atomic bombs dropped over Japan in WW2, there’s nothing sinister about it. It’s quite simple, just an aggregation of tools or rather, software working together, both by design and proven speculation. So what tools? Ones I believe we are pretty familiar with:

1. VMware Workstation

2. GNS3(or dynagen) with dynamips and working Cisco IOS images.

3. Many other tools like Wireshark, Cisco Security Device Manager (SDM), Microsoft ISA server 2008, VPC – a Virtual PC emulator for simple testing etc., the list is endless and depends only on what you intend to do.

VMware is an application that allows you to run one or more operating system in a virtual environment created on your computer and allows you to network them together. Dynagen is a Cisco router emulation software, it’s similar to VMware in a functional sense, except you are running Cisco IOS images (i.e. the operating system running on Cisco routers) and GNS3 which is just a graphical frontend for Dynagen.

The whole idea started during my industrial training about 2 years at an Indian firm in Lagos. I was with the I.T support department and asides from the regular helpdesk work role we did a little in-house research and app building. Often we had to network a number of systems together to try out stuff before deploying on the live network. I was about to leave the company and I realized I needed to build on some of the work we had done. I had just one laptop so I considered VMware as a way out.

I had barely used VMware workstation before that time but I didn’t realize one could network VMs until then. I noticed that a virtual network adapter was created on the host computer for each virtual network created on VMware workstation. These virtual networks are named VMnet1, VMnet2…and so on. Once you’ve installed a virtual machine, simply place it in a VMnet by specifying the particular one in the network connection settings for that VM. All VMs placed in the same VMnet are automatically in the same LAN and can communicate with each other.

Having used Dynagen and later GNS3, I noticed one could connect interfaces on the emulated routers to your host computer through a loopback adapter (a virtual network adapter) which you can always create on Windows. The point then was to allow one to gain access to the router either through Cisco’s SDM (a GUI alternative for running commands instead of the traditional CLI), through Telnet or a web browser. The catch was this – why not connect an interface on the router to the virtual network adapter automatically created by VMware by default essentially connecting your router to that same VMnet and using it as a gateway to other VMnet networks all within the host PC.

Now, you may be wondering what the whole point is but note this, VMware allows you to install many different flavours of Linux, Windows desktop and Servers, Solaris, Red Hat and many other operating systems. You can have an environment running several nodes all networked, having the flexibility to create the LANs the way you want them with more than one router and even emulate WANs with GNS3 and make the whole setup appear even more realistic.

A simple implementation with one router and two virtual networks, Nodes within a particular VMnet can communicate with the other VMnet (with the right configurations on the router of course).

The whole thing was to serve as a suitable learning environment and a lab for trying out stuff, not just reading about them but gaining some sort of hands-on experience and seeing how it all worked. Tools like Wireshark even made it more fun as GNS3 allows you to view traffic as it traversed the routers. It could even be installed on VMs that are Windows nodes. Back then, I was interested in creating a Windows Server 2003 domain LAN, connected to an external network (i.e. another VMnet). I also wanted to try out different technologies like VPN, IPv6, and SMB (or is it samba now?); Web servers, FTP servers, Terminal servers etc. (guess what? I never did).

One major consideration (and I’m sure you would have thought of this as well) is your computer’s hardware specs. VMware uses system resources (RAM, processor and hard disk space) for its VMs, GNS3 could be even more brutal as your computer’s processor usage usually pegs at 100% though this can be solved using a feature called Idle-PC. I believe a decent modern day system will be able to support a simple implementation, for instance Windows XP can conveniently run on 64MB of ram and about 4GB of HD space, Ubuntu will do fine on 256MB and about 8GB, Windows Server 2003 (depending on what you’ll be using it for) might do well between 300-512MB and 10GB or more HD space.

I also believe there’s another way out. VMware allows you to ‘bridge’ a virtual VMnet adapter to one of your physical adapters (Wireless or Ethernet cable adapter) allowing access to the outside world. Now if one is to connect one host PC to another PC (with a similar setup of VMware and GNS3) using a crossed cable or an ad-hoc wireless connection, with the other PC’s adapter bridged to a VMnet adapter, making sure they are all on the same network by assigning IP addresses from a single LAN to all four adapters – the setup might just be extended across PCs. Of course I’ve never tried it, but you never know.

I think network admins who can’t afford to toy with a live network might find this useful, or simply for learning purposes, or practice for some certification exam. Personally, I’ve always wanted a personal laboratory where I could afford to screw things up without fear and then push the reset button literarily (evil laugh).