Cloudflare Zero Trust & SASE — Pre-Class Lab Requirements

Students are responsible for arriving on Day 1 with a working lab environment. You need two virtual machines — a Windows 11 client and an Ubuntu 24.04 LTS server — on separate subnets that cannot reach each other directly, a registered public domain that you own, and a Cloudflare Enterprise account with the Zero Trust Premier Bundle applied, a Logpush entitlement, and that domain added as an active DNS zone on the Enterprise plan.

The Zero Trust Premier Bundle is a single account-level subscription that covers every Zero Trust feature the labs use:

Logpush and Log Explorer are not included in the Premier Bundle and must be requested separately.

You do not need Dedicated Egress IPs, Email Security, Cloudflare WAN, Magic Transit, or Magic Firewall.

The account should be clean — no pre-existing tunnels, policies, Access apps, or enrolled devices. Work with your Cloudflare account team or partner manager to get the account provisioned; lead time can vary, so start early.

If any entitlement is missing, specific labs will fail and you will not be able to catch up during class.

Virtual Machine Specifications

Windows 11 Client

RequirementValue
Operating systemWindows 11 (Pro or Enterprise)
CPU2 vCPU minimum
RAM4 GB minimum
Disk40 GB minimum
Internet accessRequired

Pre-installed software: A web browser (Edge, Chrome, or Firefox), PowerShell, Notepad (runnable as Administrator), Computer Management (lusrmgr.msc), and the OpenSSH client (Settings > Apps > Optional Features > OpenSSH Client).

Do not pre-install Cloudflare WARP / Cloudflare One Client — you install it from scratch during Lab 1.

Ubuntu 24.04 LTS Server

RequirementValue
Operating systemUbuntu 24.04 LTS (Server)
CPU2 vCPU minimum
RAM2 GB minimum
Disk20 GB minimum
Public IP addressRequired — the VM must be reachable from the internet
FirewallRequired — a network firewall in front of the VM (cloud security group, virtual firewall, or hardware firewall) that you can open and close inbound ports on

Pre-installed software: Docker (engine + compose), OpenSSH Server (sshd), OpenSSL, curl, dig (dnsutils package), and a text editor (nano or similar).

Docker containers (must be running before class)

ContainerPortsService
website80/tcpCorporate website; published through Tunnel in Lab 2
intranet8000 → 80/tcpIntranet app; published through Tunnel in Lab 3
dns53/udp, 53/tcp, 67/udpInternal DNS and DHCP
samba139/tcp, 445/tcpSMB file sharing
ftpdefault FTP portsFTP server
Do not pre-install cloudflared or Cloudflare Mesh — both are installed during labs via commands generated by the dashboard.

Automated setup

With internet access temporarily enabled on the Ubuntu VM, run this single command to install Docker, download the AcmeCorp site content, and start all five containers:

curl -fsSL https://zt-lab-prereqs.pages.dev/setup.sh | sudo bash

After the script completes, disable internet access on the VM. If you prefer to set things up manually, download the individual components:

Firewall and initial inbound ports

The Ubuntu VM must sit behind a network firewall that you can control — an AWS Security Group, Azure NSG, GCP Firewall Rule, or equivalent. This must be a firewall external to the VM, not a host-based firewall like ufw. The following inbound ports must be open before class:

PortProtocolServicePurpose
80TCPWebsiteAcmeCorp corporate website
8000TCPIntranetAcmeCorp intranet application
22TCPSSHRemote access for lab exercises
Why this matters: A key lesson in the labs is demonstrating the value of Cloudflare Tunnel. You will first access the website directly via its public IP, then publish it through a Tunnel, and then close the firewall ports — proving that the origin no longer needs direct inbound access. If you do not have a firewall you can control, you will not be able to demonstrate this.

Outbound access: The Ubuntu VM needs outbound internet access for initial setup (Docker, downloading lab components) and for cloudflared and Cloudflare Mesh to establish outbound connections to Cloudflare during the labs.


Network Architecture

The two VMs must be on separate subnets with no direct route between them at the private network level. Both VMs have internet access. The Ubuntu VM has a public IP and a firewall controlling inbound access.

+------------------------+         +------------------------+
|   Windows 11 Client    |         |    Ubuntu Server        |
|   Subnet A             |   NO    |   Subnet B              |
|   (e.g. 10.90.0.0/24)  | ===X=== |   (e.g. 10.91.0.0/24)  |
|   Has internet         | DIRECT  |   Has internet          |
|                        | ROUTE   |   Has public IP         |
|                        |         |   Has firewall          |
+------------------------+         +------------------------+

The Windows VM can reach the Ubuntu VM's public IP (through the internet), but not its private IP directly. This simulates a real-world scenario where the origin server sits in a data center reachable only via its public address. During the labs, you will publish services through Cloudflare Tunnel and then close the firewall — eliminating direct access and forcing all traffic through Cloudflare.

The exact IP addresses and subnets do not matter. Use whatever your virtualization platform assigns and substitute your actual values wherever the lab guide references specific IPs.


Cloudflare Account — What to Request

Tell your Cloudflare account team or partner manager you need the following:

SubscriptionScopeNotes
Enterprise accountAccountRequired account type
Zero Trust Premier BundleAccount add-onSingle subscription that enables all Zero Trust features used in the labs
LogpushAccount add-onNot included in the Premier Bundle; must be requested separately
Log ExplorerAccount add-onNot included in the Premier Bundle; must be requested separately
Enterprise DNS zoneZoneYour registered domain added to the account on the Enterprise plan

You must also own a registered public domain and add it to the account as the Enterprise DNS zone. The labs use this domain to publish internal services through Cloudflare Tunnel (e.g., web.yourdomain.com, ssh.yourdomain.com, intranet.yourdomain.com). The domain name does not matter — a cheap TLD from any registrar works — but it must be a real, publicly resolvable domain with its nameservers pointed to Cloudflare. Register one before class if you do not already have one available.

The account should be provisioned but otherwise clean — no tunnels, no policies, no Access apps, no enrolled devices. Lab 1 starts from a blank slate.

Your Zero Trust organization must have a team name initialized. Confirm by checking that https://<team-name>.cloudflareaccess.com loads a Cloudflare sign-in page.


External URLs Your Windows VM Must Reach

Make sure corporate firewalls or proxy policies do not block these:

URLPurpose
https://dash.cloudflare.comCloudflare dashboard
https://<team-name>.cloudflareaccess.comZero Trust sign-in and App Launcher
https://labs.cloudflare.com/saml/registerShared lab SAML IdP registration
https://1.1.1.1/Cloudflare_WARP_Release-x64.msiCloudflare One Client MSI download
https://github.com/cloudflare/cloudflared/releases/latestcloudflared CLI download (optional exercise)
https://warp-diag-log-viewer.pages.dev/warp-diag log viewer
https://www.jwt.ioJWT decoder
https://www.whatismyip.comIP verification
https://malware.testcategory.comGateway malware test domain
https://dlptest.comDLP test site
https://self-signed.badssl.comUntrusted certificate test
https://expired.badssl.comUntrusted certificate test
https://lab.cfiq.io/zt/v1/seedTenant control verification

Pre-Class Verification Checklist

Run through this the day before class. If anything fails, fix it before Day 1.

VMs

Cloudflare Account


Cloud Provider Tips

Any cloud provider works. Below are tips for keeping costs low on the three most common platforms. The labs only run for a few days, so you can spin up the VMs before class and tear them down after.

AWS

ResourceRecommendationNotes
Windows Clientt3.medium (2 vCPU, 4 GB)AWS does not offer Windows 11 AMIs. Use the Windows Server 2022 Full Base AMI with Desktop Experience — the lab exercises will work. Roughly $1/day on-demand.
Ubuntu Servert3.small (2 vCPU, 2 GB)Use the Ubuntu 24.04 LTS AMI from Canonical. Roughly $0.50/day on-demand.
NetworkingVPC with two subnetsCreate a VPC with two subnets (no routes between them). Assign a public IP to the Ubuntu VM. Use a Security Group on the Ubuntu VM as the firewall — open TCP 22, 80, 8000 inbound.
Cost note: AWS now offers a Free plan for new customers: $100 in credits on signup plus up to $100 more from completing activities, valid for 6 months. If you create a new AWS account for the lab, the Free plan credits should cover the cost of running both VMs for a few days of class. On the Paid plan, new customers also receive up to $200 in credits. Check aws.amazon.com/free for current details, as AWS updates these offers frequently. Stop both instances outside of class hours to conserve credits.

Azure

ResourceRecommendationNotes
Windows 11 ClientStandard_B2s (2 vCPU, 4 GB)Azure offers Windows 11 VM images directly — no workaround needed.
Ubuntu ServerStandard_B2s (2 vCPU, 4 GB)Use the Ubuntu 24.04 LTS image from Canonical.
NetworkingVirtual Network with two subnetsCreate one VNet with two subnets (no peering or routing between them). Assign a public IP to the Ubuntu VM. Use a Network Security Group (NSG) on the Ubuntu VM’s subnet as the firewall.
Cost note: New Azure accounts receive $200 in credit for the first 30 days, which is more than enough for a few days of lab work. The 12-month free tier includes 750 hours/month each of B2pts v2 (Arm-based) and B2ats v2 (AMD-based) Linux VMs — but these are Arm/AMD burstable instances and may not match the lab’s x86 requirements. Use the $200 trial credit with B2s instances instead. Deallocate both VMs outside class hours to stop billing. Check azure.microsoft.com/pricing/free-services for current details.

GCP

ResourceRecommendationNotes
Windows Cliente2-medium (2 vCPU, 4 GB)GCP does not offer Windows 11 images. Use a Windows Server 2022 image with Desktop Experience.
Ubuntu Servere2-small (2 vCPU, 2 GB)Use the Ubuntu 24.04 LTS image. The always-free e2-micro (0.25 vCPU, 1 GB) is too small for Docker.
NetworkingVPC with separate subnetsPlace each VM in a separate subnet in the same region. Assign an external IP to the Ubuntu VM. Use VPC Firewall Rules as the firewall — create a rule allowing TCP 22, 80, 8000 inbound to the Ubuntu VM only.
Cost note: New GCP accounts receive $300 in free credit valid for 90 days. This is the most generous trial of the three providers and will easily cover a few days of lab work. GCP bills per second after the first minute. Stop both VMs outside class hours. Check cloud.google.com/free for current details.

General tips (all providers)


FAQ

Can I use Windows 10 instead of 11?

The labs target Windows 11. Windows 10 will likely work but some UI paths may differ. Windows 11 is strongly recommended.

Can I use a different Ubuntu version?

Ubuntu 24.04 LTS is the tested version. Other Debian-based distributions may work but package names, systemd behavior, and Docker setup may differ.

Can two students share one Cloudflare account?

No. Each student needs their own account and team name. Shared accounts cause policy conflicts and log confusion.

What if I cannot get an Enterprise account in time?

You will not be able to complete the labs. Browser Isolation, DLP, DEX, Infrastructure Access, Mesh, and Gateway proxy endpoints all require the Premier Bundle. Start the provisioning request as early as possible.