Sharing and Collaboration
Thegns3util share command group packages configuration artifacts so that administrators on the same network can exchange ready-to-use lab environments. Transfers rely on a secure QUIC tunnel with short-authentication-string (SAS) verification to prevent tampering by students.
When to Use Sharing
- Hand off a fully provisioned cluster configuration to another instructor
- Sync updates to the GNS3 database (
clusterData.db) across lab administrators
Sending Artifacts
Runshare send from the machine that already has the desired artifacts.
Flags
--all: Includecluster_config.toml,clusterData.db, andgns3key--send-config: Only send the config file--send-db: Only send the database file--send-key: Only send the key file--discover-timeout <duration>: Adjust the mDNS discovery window (default3s)--src-dir <path>: Choose a different artifact directory (default~/.gns3)--to <label|host:port>: Skip interactive selection and dial a specific receiver--yes: Accept prompts automatically (useful for automation)
--to, the command discovers nearby receivers via mDNS and lets you pick one interactively.
Receiving Artifacts
Runshare receive on the target machine and leave the terminal open while waiting for a sender.
~/.gns3 directory by default.
Secure Workflow
- Receiver prepares: Run
gns3util share receiveon the destination host. - Sender selects artifacts: Choose
--allor the individual--send-*flags. - Verify SAS: Both sides compare the SAS displayed in their terminals.
- Complete transfer: Approve on both ends; artifacts are copied over QUIC.
- Apply artifacts: On the receiver, use
gns3util cluster config applyor other commands to load the new data.
Tips
- Use
--discover-timeout 0to disable discovery if you must specify--tomanually. - Combine
--yeswith cron jobs or systemd timers for unattended nightly transfers. - Combine sharing with version-controlled config files to keep lab environments reproducible.
- Run
gns3util share send --helpandgns3util share receive --helpto view the full flag set and defaults before scripting automation. - The receiver binds to a random UDP port and advertises it via mDNS; expect port numbers to change on each run. If you see a buffer warning from QUIC (similar to
failed to sufficiently increase receive buffer size), follow the guidance at https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes to tune your OS settings.