Sharing and Collaboration
The gns3util 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
Run share send from the machine that already has the desired artifacts.
# Launch share send and choose artifacts/receiver interactively
gns3util share send
# Send cluster config, database, and key file to a discovered receiver
gns3util share send --all
# Send only the cluster config to another device discovered via mDNS
gns3util share send \
--send-config \
--src-dir ~/.gns3 \
--discover-timeout 10
# Discover nearby receivers, fuzzy-pick, and send only the key file
gns3util share send \
--send-key \
--discover-timeout 5
# Share only the database file during a fuzzy picker window
gns3util share send \
--send-db \
--src-dir ~/.gns3
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)
If you omit --to, the command discovers nearby receivers via mDNS and lets you pick one interactively.
Receiving Artifacts
Run share receive on the target machine and leave the terminal open while waiting for a sender.
The command announces itself over mDNS, displays the SAS when a sender connects, and waits for you to confirm the transfer. Files are placed in your ~/.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.