I haven't used virtualbox since VMWare made VM Server free. Most linux distros will have package that will let you install it without too much pain. It will definitely allow you to stand up virtual networks as you need them. Basically you can just assign virtual NICs to each machine that you create, and then you can use the command console to descibe how the NICs relate to each other. For example, if you wanted to simulate an external penetration test you could create a VM with your testing system (or use your host OS), create another VM and use it to make a firewall, then create a third VM for your target system. You'd give the firewall VM two NICs, and then use the main console to set one NIC as the external connection which will connect to your testing VM, and then set up the second NIC as the internal connection and connect it to your target OS. This would let you try out various firewall configurations to see how they would affect your penetration testing.
CISSP, CISM, CISA, GCIH, GREM, CEH, HMFIC, KTHXBIROFLCOPTER