-
Notifications
You must be signed in to change notification settings - Fork 21
GNS3 Simulation
GNS3 provides a convenient network simulation platform for testing and developing the Conjure refraction networking system. This page will walk through the setup of GNS3 (and some sharp corners to avoid) as well as the setup of the conjure system.
Note: This is just one way to set up the environment - there are likely better, more convenient, or easier ways to accomplish the same goal. This document is a work in progress. Make a PR if you find an improvement to the setup or workflow involving the GNS3 simulation environment.
While GNS3 does support Virtualbox, this is as of yet, untested and the current simulation instructions use VMWare Workstation.
Note: It is suggested to use the GNS3 VM to run network topologies, however this must be the same version as your local client (major, minor, and patch) - i.e GNS3 VM v2.2.25
will not work with GNS3 client v2.2.26
. See the GNS3 page about upgrading the VM if you run into this issue.
Once the network topology is properly configured and the station is built and ingesting packets we can turn to the client to ensure that connections will be picked up by the station.
The station runs on the Ubuntu_20.04_server
image in a docker container. The development workflow for station development will typically consist of software updates, followed by a docker build
and docker-compose up
. To use local changes in the docker build (rather than pulling committed changes) the docker-compose file should be modified to include CUSTOM_BUILD: "1"
in the environment args for ALL services.
service_name:
...
build:
args:
CUSTOM_BUILD: "1"