I've been using VMWare to simulate a simple LAN (a DC and several workstations hosted on a single machine). The LAN will be used as a test environment for software that is currently in development.
Although the current requirement is simply to provide a virtual LAN, it would be ideal if we could also simulate various problems that might be encountered in the wild.
I've used VMWare simply because I don't know of any alternatives.
Can you recommend alternatives?
VMWare is a very strong solution. You should look at creating a team in VMWare Workstation to bring up your mini LAN.
This tends to mimic reality very well and can be reconfigured on the fly.
Unless you have something very strange in mind, VMWare workstation can help you simulate just about anything a real LAN could encounter.
Check out WANEM - The Wide Area Network Emulator. It's a utility available as a bootable iso or a VMware appliance. It can simulate various network characteristics (bandwidth, rtt, packet loss/reordering/corruption, jitter, etc) by setting the parameters in a simple web interface and routing your traffic through it. I used it myself to simulate/optimize network traffic between Germany to India - but in my local test environment.
If you're running cisco equipment, you can use GNS3 in conjunction with VMWare to build even more complicated networks.
virtualBox. free, excellent, many forms of networks that you can build with it.
Slightly tangential, but if you want a virtual router to throw in there, check out vyatta. It's an opensource router platform, and there's a VMWare image you can download.
If you want alternatives to using VMWare, you could consider a Xen based system such as Citrix Xenserver (which is free, unlimited use) or Virtual Iron (some free/restricted versions).
You didn't state which VMware product you were using but VMware ESXi is free and it will give you the ability to create very complex networks - DMZ's, multiple VLAN's and it will support up to four virtual Nics per VM. On an ESXi host you can create up to 127 virtual switches each with up to 1016 virtual Nics and up to 4096 Port Groups (VLANs) per ESXi host. This should allow you to build almost any LAN scale environment you may need to replicate although you will almost certainly max out on the number of VM's that you can run on a single ESXi host before you max out most of those limits. On its own ESXi (or ESX) wont allow you to directly replicate things like intermittent packet loss, networking issues related to routing problems (these are switches not routers) and latency but you can build VM's into your design that will allow you to replicate those issues if you want to go that far.
For Linux, they are Net:Netem who can simulate packet loss, etc.
OpenSolaris and its project crossbow.
The Emulab project at the University of Utah was made for this very purpose. With it you can create networks using and test your software on actual hardware.