Case study: Making Internal networking for talking between two linux guest OS (Ubuntu) on windows vista host

Preface
For the past few days, I had been struggling with making internal networking work on two (or more) linux guest OSes on Windows host using virtualbox.
The advantage of this setup is we can setup an internal networking lab between two or more nods using regular windows, which can be used for a variety of purposes. [...]