I realize that some people who like to break stuff haven't had experience in building stuff. In my experience, it should be a longer-term goal for any dedicated tester to get involved in some network architecture design (at the very least), sit through some app or program development, and above all, get scripting. Those of you who have taken time out of your busy, stack-smashing schedule and learned network design can skip ahead. Those who haven't, strap yourself in, grab yourself a router, and prepare to have your mind gently rattled.
A network needs some basic things to function:
More than one networkable device
If you are performing these tests for a single individual, be it yourself or someone you trust with the device you're building these vulnerable builds on, you can just host them on the device through the VM solution.
Plug the device into the hub/switch.
Open a terminal.
ifconfig eth0 10.0.0.124or whichever local subnet you wish to use.
Congratulate yourself on a job well done.
Plug the device into the router/hub/switch.
Open a command line.
netsh int ip set address "local area connection" static 10.0.0.2 255.255.255.0 10.0.0.255.
Close all the screens.
Congratulate yourself slightly more than the Linux user; they had it easy.