This is my standard 'building your lab' response at EH-Net which I copy-paste from one thread to another. Hope you'll find it helpful.
You do not need any expensive stuff to build your 'virtual' test lab. In fact most of the stuff in my lab is absolutely free. You can find various open source counterparts of commercial tools.
There are various 'free' virtualization products available like virtualbox, vmware player and vmware server. I'm a big fan of vmware products. Personally, I believe that
vmware server will be enough for what you want to do. Vmware server is a stripped down version of the excellent commercial vmware workstation but contains almost all the basic features you'll require. You can download pre-built linux virtual machines from the vmware website
http://www.vmware.com/appliances/directory/There's also a free route to get Windows OS. Either you can download the OS from Microsoft's website which comes with around 3 month trial period. Furthermore, you can also download Windows XP SP2 virtual machine from NIST's website
http://www.offensive-security.com/metasploit-unleashed/windows-xp-machine-setupAs for the softwares like ftp, telnet daemons and webservers etc...well most of them are free anyway

Jhaddix and Laz3r have posted wonderful tutorials to build a virtual test lab. You can get them here:-
Network pentest lab setup Pentest Lab: Web Application Edition Additionally, you can practice on ready made targets like De-ICE live disks, hackerdemia and pWnOS all of which are available here
http://forums.heorot.net/ You also have LAMP security disks
http://sourceforge.net/projects/lampsecurity/ Also try your hands at the 'Skillz' section of this forum
http://www.ethicalhacker.net/component/option,com_smf/Itemid,54/board,12.0/ They will test your limits.
There's also a topic here at EHNet which will direct you to more stuff for practicing
http://www.ethicalhacker.net/component/option,com_smf/Itemid,54/topic,5043.0/