Thursday, 22 January 2015

The Lab

Every evil genius, mad scientist and all round good guy knows that if you want to get something done get a lab to do it.  The intention for this lab is to simulate a complete network on a single laptop.

Goal

Build a lab network that consists of multiple data centres, security zones, VRFs, users and services on a single laptop.

Specifications

Nothing special.  It is a laptop that has some massive overheating issues.
  • Intel i7
  • 3 GB RAM
  • WiFi Networking
  • Xubuntu 14.04.1
  • Slow Internet Connection
  • Nothing else really matters
Although it is an i7, the laptop has some MASSIVE overheating issues.  To solve this I use thermald.  It is a tool that throttles the CPU in order to reduce the heat.  By the time that has kicked in, I would be lucky if the laptop runs like a 286.  The main thing that the laptop has going for it is the modest 8GB of RAM.

You do not need much these days to build a decent lab.  Sure you won't have the same throughput as the big boys, but all the configuration can be the same.  Just to give you an idea of scale, I have successfully deployed 32 routing instance amongst two Raspberry Pis.

Overview

My goal is to create two data centres and an external network.  As is customary, the high level system will be named after a theme.  The environment shall be known as 'Mythical'.  Two Data Centres (DC) will be deployed.  The first DC is Valhalla, abbreviated Val.  The second DC is Elysium, abbreviated Ely.  Otherworld will be used as the glue for inter DC components.  Aaru is an external environment.


Services

The following services will be deployed in the Lab.  Probably in this order.  I reserve the right to use this lab for blogs posts that are not explicitly related to the Lab.
  • DNS
  • LDAP
  • RADIUS
  • SYSLOG
  • ZenOSS
  • Asterisk
  • User PCs
  • Various other fun services.  I am open to requests.

One glaring omission is NTP.  The virtualisation we will be using is very lightweight.  A single host kernel will be used by the guests.  For this reason, NTP will be pointless as time is controlled by the kernel.  If this sounds like another language to you, do not fear, it does not matter.

Network

 The key reason I am doing this is to simulate non-trivial networks.  As the world is poised on the move from conventional routing protocols to Software Defined Networks (SDN) I wish to have a conventional network that I can migrate to SDN.

The network will be configured as a hierarchy of bridges.  It may look complicated, but remember, everything is in its own little sandbox.  We only need to deal with a couple of bridges at a time.  The bridges will be named after their respective uses.  According to the diagram above, we shall have one bridge for each of Valhalla, Elysium, Otherworld and Aaru.

Final Thoughts

I will possibly update this blog post as thing progress.  This should make things easier to search.  As I mentioned, this is for play.  However, I develop a fair amount of software.  It would also be nice if this environment could eventually be used for system testing.


 


No comments:

Post a Comment