Skip to content

Install a cloud server (recommended)

1. Google Cloud account

  1. Create a Google Cloud account and (optionally) redeem the $300 / 90-day free trial: https://cloud.google.com/free

    $300 credit

    • The 90 days runs from signup, not from first use.
    • Eligibility requires never having had a Google Cloud trial before.
  2. Install the Google Cloud CLI.

  3. Initialize and authorize the gcloud CLI:
    gcloud init
    
  4. Create a project if you haven't yet:
    gcloud projects create acit-2620-lab
    
    If you would like a human-readable name for your project, do this:
    gcloud projects update acit-2620-lab --name="ACIT 2620 Networking Lab"
    
  5. Create a named gcloud configuration and log in:

    gcloud config configurations create acit-2620 
    gcloud auth login
    gcloud config set project acit-2620-lab
    gcloud config set compute/zone us-west1-b
    

    Configuration bundle

    A configuration bundles account + project + zone under one name, so this won't interfere with any other Google Cloud projects you may have.

    Naming resources

    You don't necessarily have to use the names acit-2620-lab and acit-2620 for your project and configuration respectively. You are free to use any names you like. That being said, it is good engineering practice to choose names that clearly express the purpose of the things being named.

2. Install the wrapper

This will allow you to easily create, provision and manage a Google Cloud VM with a simple user interface.

The wrapper's primary value proposition lies in provisioning and configuring your cloud GNS3 server, but it has other useful features:

  • it handles configuration for you
  • it lets you turn off you VM when you're not using it, saving you unnecessary costs
  • it makes it easy to refresh you connection when you move into a different network
git clone https://github.com/yveshema/gns3-cloud-lab.git
cd gns3-cloud-lab
python install.py

install.py bootstraps uv automatically if it isn't already on your machine, then installs the gns3-cloud-lab command with five subcommands: scan, create, enroll, start/refresh, upgrade, stop, status. To uninstall later, run python uninstall.py from the same checkout.

If nothing on your machine is already called gclab, install also sets it up as a shorter alias for gns3-cloud-lab — same command, less typing. (If something's already using that name, it's left alone and only the full gns3-cloud-lab command is installed.)

3. Create your cloud GNS3 server

gns3-cloud-lab create

This creates a firewall rule scoped to your current public IP address and a n2-standard-4 VM (4 vCPU, 16 GB RAM) then installs and configures GNS3 on first boot. It takes a few minutes to finish booting and provisioning — gns3-cloud-lab status will show you where it's at. You only need to do this once ; re-running it later is safe and just confirms the VM is already there.

Naming resources

The VM created by gns3-cloud-lab create is named gns3-lab by default. If you would like to name it something different, run it like this:

gns3-cloud-lab --instance <your_vm_name> create

4. Install the GNS3 desktop client

See Install GNS3 Client

5. Start your lab, each session

gns3-cloud-lab start

Every time you start, both your VM's address and your own public IP may have changed since last time — this command refreshes both: it starts the VM if it's stopped, updates the firewall rule to allow your current location, and writes the connection details into your GNS3 client config. It prints a summary block with the server IP and other connection details.

7. Stop when you're done

gns3-cloud-lab stop

Always stop the VM when you're finished for the session. You're only billed for compute time while it's running; the disk keeps a small charge either way (~$3/month), but leaving the VM running unnecessarily will end up costing you more that it should.

Checking on things

gns3-cloud-lab status

Prints whether the VM exists, whether it's running, its current IP, and (if known) your login details — without starting or stopping anything.

How much will this cost you

At roughly $0.20/hour for the VM plus ~$3/month for the disk, a typical term's usage (a few hours a week) comes to well under $50. Your $300 credit will cover most of it. However, the trial period runs out in 90 days - a week or so shy of the term's end. So, expect to cover the remaining balance.

Do this when your trial runs out

  1. Open the Google Cloud Billing Console
  2. Click the billing account dropdown at the top of the page and select Manage billing accounts
  3. Click Create Account near the top left
  4. Enter a name for the account, select your country and currency, and click Continue
  5. Set up your payment method and click Submit and activate billing
  6. Find your new billing account:
    gcloud billing accounts list
    
    Copy the ACCOUNT_ID (formatted as XXXXXX-XXXXXX-XXXXXX) for your new billing account
  7. Link your project to the new billing account:
    gcloud billing projects link YOUR_PROJECT_ID --billing-account=NEW_BILLING_ACCOUNT_ID