OONI Censorship Simulator
Software candidates
GNS3
Link: http://www.gns3.net/appliances/
Pros
- Easy to set up (Ubuntu, Archlinux)
- Intuitive UI
- Available for all major OSs (GNU/Linux, Mac OS X, Windows)
Cons
- VBox integration not reliable (crashes when stopping nodes)
- development focus seems to tend to IOS simulation
Vagrant
Link: http://docs.vagrantup.com/
Pros
- Available on all major platforms: Linux, Windows, OS X
- Transparently supports different virtualization environments: VirtualBox, VMware, AWS
- Uses full VMs, GUI included if needed (a list of Linux/Windows images is available at http://www.vagrantbox.es/)
- Easy to set-up and manage multiple VMs.
Cons
- More difficult (but possible! - https://github.com/mitchellh/vagrant/issues/641 ) to setup complex network architectures/topologies (however two VMs should be enough for the tests currently implemented in ooni)
NetKit
Link: http://wiki.netkit.org/index.php
Pros
- Very lightweight and easy to setup
- Easy to define and configure also complex network topologies
Cons
- No GUI, so executing GUI applications on guests might require advanced trickery (VNC)
- Linux only
- Connecting a VM to the external network requires root access
HyneSim
Link: http://www.hynesim.com/
Pros
- Easy to define and configure very complex network topologies
Cons
- Linux only (Debian package)
- Not easy to compile on other linux distributions, as it requires a lot of dependencies
- More suitable for simulating very complex/hybrid network architectures