Install a cloud server (recommended)
1. Google Cloud account
-
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.
-
Install the Google Cloud CLI.
- Initialize and authorize the
gcloudCLI:gcloud init - Create a project if you haven't yet:
If you would like a human-readable name for your project, do this:
gcloud projects create acit-2620-labgcloud projects update acit-2620-lab --name="ACIT 2620 Networking Lab" -
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-bConfiguration 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
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
- Open the Google Cloud Billing Console
- Click the billing account dropdown at the top of the page and select Manage billing accounts
- Click Create Account near the top left
- Enter a name for the account, select your country and currency, and click Continue
- Set up your payment method and click Submit and activate billing
- Find your new billing account:
Copy the ACCOUNT_ID (formatted as XXXXXX-XXXXXX-XXXXXX) for your new billing account
gcloud billing accounts list - Link your project to the new billing account:
gcloud billing projects link YOUR_PROJECT_ID --billing-account=NEW_BILLING_ACCOUNT_ID