CORE is a very handy network emulation tool with plenty of options to let you test out your networking plan. Currently using it to plan out a small network build with some specific zone separation in place and though I'd bookmark it here.
Install was as easy as:
git clone https://github.com/coreemu/core.git cd core sudo ./install.sh sudo systemctl start core-daemon.service
Stage 1: Add devices and configuration
It's as simple as placing the desired network devices in the workspace and linking them as per your requirement. Each device can be configured with required IP information. As with a physical network, if you misconfigure something, comms will fail.
Stage 2: Start the emulator and test
Once you're happy with the configuration hit the green play button, if you have not started the core daemon you will be prompted to do so. You can then begin testing, for example start a shell on one of the devices and test connectivity to a configured service on another device.
- Note If you wish to change the configuration of a device e.g. add another service to a device, you must stop the emulator, add the configuration to the device and then begin the emulation again.