WARP Device Onboarding
Cloudflare WARP is a secure, fast, and reliable way to connect devices to your network and access NodeKAT from anywhere.
What is WARP?
Section titled “What is WARP?”WARP replaces traditional VPNs with a modern, zero-trust approach:
- Automatic Connection: Devices connect securely without manual VPN configuration
- Zero Trust Security: Every request is authenticated and authorized
- Split Tunneling: Control which traffic goes through WARP
- Device Posture: Enforce device compliance policies
- Global Network: Leverage Cloudflare’s edge network for fast connections
Prerequisites
Section titled “Prerequisites”- Cloudflare Zero Trust account
- Device enrollment permissions configured
- WARP client installed on devices
- Cloudflare Access policies set up (see Access Policies guide)
Setting Up WARP
Section titled “Setting Up WARP”Step 1: Configure Device Enrollment
Section titled “Step 1: Configure Device Enrollment”- Go to Zero Trust → Settings → WARP Client
- Under Device enrollment, click Manage
- Create an enrollment policy:
Rule name: Allow Company DevicesAction: AllowInclude: - Email domain: yourcompany.comRequire: - Device Posture: OS version (optional)- Copy the Team name shown in the settings
Step 2: Configure Device Settings
Section titled “Step 2: Configure Device Settings”Set WARP mode:
Gateway with WARP+ (Recommended):
- All traffic encrypted and routed through Cloudflare
- DNS filtering enabled
- Additional DDoS protection
Gateway only:
- Only DNS traffic goes through Cloudflare
- Lighter resource usage
Configure in Zero Trust → Settings → WARP Client → Device settings
Step 3: Install WARP Client
Section titled “Step 3: Install WARP Client”Download from App Store or install via Homebrew:
brew install --cask cloudflare-warpDownload from Microsoft Store or use Winget:
winget install Cloudflare.WarpDownload from App Store or Google Play Store
# Ubuntu/Debiancurl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list
sudo apt updatesudo apt install cloudflare-warpStep 4: Enroll Device
Section titled “Step 4: Enroll Device”- Open WARP client
- Click the gear/settings icon
- Select Account → Login with Cloudflare Zero Trust
- Enter your Team name (from Step 1)
- Authenticate with your identity provider
- Wait for “Connected” status
Device Posture Checks
Section titled “Device Posture Checks”Configure requirements devices must meet to connect:
Create Posture Rules
Section titled “Create Posture Rules”- Go to Zero Trust → Settings → Device posture
- Click Add new
- Select rule type:
Operating System Version:
Rule name: macOS CurrentOS: macOSVersion: 13.0Operator: Greater than or equalDisk Encryption:
Rule name: Disk EncryptedCheck: Disk encryptionFirewall:
Rule name: Firewall EnabledCheck: FirewallApply to Access Policies
Section titled “Apply to Access Policies”Use posture checks in Access policies:
Action: AllowInclude: - Email domain: yourcompany.comRequire: - Device Posture: macOS Current - Device Posture: Disk EncryptedSplit Tunnel Configuration
Section titled “Split Tunnel Configuration”Control which traffic goes through WARP:
Include Mode (Default)
Section titled “Include Mode (Default)”All traffic goes through WARP except excluded domains.
Exclude domains that don’t need WARP:
Domain: zoom.usDomain: meet.google.comExclude Mode
Section titled “Exclude Mode”Only specified traffic goes through WARP.
Include only internal domains:
Domain: internal.company.comDomain: nodekat.company.comIP range: 10.0.0.0/8Configure in Zero Trust → Settings → WARP Client → Split Tunnels
Managed Network Detection
Section titled “Managed Network Detection”Automatically disable WARP when on trusted networks:
- Go to Zero Trust → Settings → WARP Client
- Under Managed networks, click Add new
- Configure:
Network name: Office NetworkNetwork mask: 192.168.1.0/24When devices detect this network, WARP can automatically disconnect.
Advanced Configuration
Section titled “Advanced Configuration”DNS Policies
Section titled “DNS Policies”Block malicious domains with DNS filtering:
- Go to Zero Trust → Gateway → DNS policies
- Create policy:
Rule name: Block MalwareAction: BlockSelector: Security categoriesOperator: inValue: Malware, PhishingHTTP Policies
Section titled “HTTP Policies”Filter web traffic:
Rule name: Block Social MediaAction: BlockSelector: ApplicationOperator: inValue: Facebook, Twitter, InstagramNetwork Policies
Section titled “Network Policies”Restrict network access:
Rule name: Allow Internal OnlyAction: AllowSelector: Destination IPOperator: inValue: 10.0.0.0/8, 172.16.0.0/12Troubleshooting
Section titled “Troubleshooting”WARP Won’t Connect
Section titled “WARP Won’t Connect”- Check internet connectivity
- Verify enrollment policy allows your email
- Try switching WARP modes (Gateway vs Gateway with WARP+)
- Review WARP client logs
View Logs:
- macOS:
~/Library/Logs/Cloudflare/ - Windows:
%LOCALAPPDATA%\Cloudflare\ - Linux:
/var/log/cloudflare-warp/
Slow Performance
Section titled “Slow Performance”- Check if Gateway with WARP+ is needed, or if Gateway only suffices
- Add streaming services to split tunnel exclusions
- Test connection to Cloudflare edge:
cloudflare.com/cdn-cgi/trace
Device Posture Failures
Section titled “Device Posture Failures”- Verify device meets all requirements (OS version, encryption, etc.)
- Check WARP client is up to date
- Review posture check details in Access logs
Can’t Access Internal Resources
Section titled “Can’t Access Internal Resources”- Verify split tunnel includes internal IPs/domains
- Check Access policies allow your device/email
- Ensure WARP shows “Connected” status
Monitoring Device Status
Section titled “Monitoring Device Status”View Connected Devices
Section titled “View Connected Devices”- Go to Zero Trust → My Team → Devices
- See all enrolled devices
- Filter by user, OS, or connection status
Device Analytics
Section titled “Device Analytics”Track:
- Unique devices per day
- OS distribution
- Version compliance
- Failed posture checks
Best Practices
Section titled “Best Practices”- Require latest client version in enrollment policies
- Enable device posture checks for security requirements
- Use managed networks to reduce VPN usage in office
- Configure split tunnels to optimize performance
- Monitor device compliance regularly
- Automate client updates where possible
Command Line Reference
Section titled “Command Line Reference”macOS/Linux
Section titled “macOS/Linux”# Check statuswarp-cli status
# Connectwarp-cli connect
# Disconnectwarp-cli disconnect
# Enable/disablewarp-cli enable-wifiwarp-cli disable-wifi
# Resetwarp-cli disconnect && warp-cli connect
# Debug modewarp-cli debug-dexWindows (PowerShell)
Section titled “Windows (PowerShell)”# Check status& "$env:LOCALAPPDATA\Cloudflare\warp-cli.exe" status
# Connect& "$env:LOCALAPPDATA\Cloudflare\warp-cli.exe" connect