Table of Contents
Overview
Cloudflare WARP is a modern VPN client that provides secure, fast connections to the internet through Cloudflare’s network, with optional Zero Trust capabilities.
Key Features
Secure DNS (1.1.1.1)
Zero Trust integration
Split tunneling
Network performance optimization
Malware blocking
Device registration
Gateway policies
Cross-platform support
Installation
Ubuntu (22.04/24.04)
# Download and install
curl 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 update
sudo apt install cloudflare-warp
macOS
# Using Homebrew
brew install --cask cloudflare-warp
# Direct download
curl -L https://1.1.1.1/Cloudflare_WARP.pkg -o Cloudflare_WARP.pkg
sudo installer -pkg Cloudflare_WARP.pkg -target /
Basic Usage
CLI Control
# Register WARP
warp-cli register
# Connect to WARP
warp-cli connect
# Disconnect from WARP
warp-cli disconnect
# Check status
warp-cli status
Account Management
# Login to Zero Trust organization
warp-cli teams-enroll < team-toke n >
# Check account type
warp-cli account
# Switch modes
warp-cli set-mode warp
warp-cli set-mode proxy
warp-cli set-mode doh
Configuration
Basic Settings
# Enable/Disable WARP
warp-cli enable-warp
warp-cli disable-warp
# Configure DNS
warp-cli set-custom-endpoint < endpoin t >
warp-cli set-families-mode
# Set preferences
warp-cli set-proxy-port 40000
warp-cli set-timezone auto
Network Settings
# Configure proxy settings
warp-cli set-proxy-mode off
warp-cli set-proxy-mode automatic
warp-cli set-proxy-mode manual
# Configure endpoints
warp-cli add-trusted-ssid "WiFi-Name"
warp-cli remove-trusted-ssid "WiFi-Name"
Zero Trust Integration
Team Enrollment
# Enroll in Zero Trust
warp-cli teams-enroll < toke n >
# Check enrollment status
warp-cli teams-enrollment-status
# Leave team
warp-cli teams-unenroll
Device Management
# Register device
warp-cli device-register
# Check device status
warp-cli device-status
# Reset device registration
warp-cli device-reset
Split Tunneling
# Add exclude route
warp-cli add-exclude-route 192.168.1.0/24
# Remove exclude route
warp-cli remove-exclude-route 192.168.1.0/24
# List excluded routes
warp-cli list-exclude-routes
Application Split Tunneling
# Add excluded application
warp-cli add-excluded-app "/path/to/application"
# Remove excluded application
warp-cli remove-excluded-app "/path/to/application"
# List excluded applications
warp-cli list-excluded-apps
Troubleshooting
Common Issues
Connection Problems
# Check WARP status
warp-cli status
# Diagnose connection
warp-cli diagnose
# Reset WARP
warp-cli reset
Performance Issues
# Check connection details
warp-cli warp-stats
# Monitor connection
warp-cli trace
# Test connectivity
warp-cli test
Authentication Issues
# Check registration
warp-cli registration-status
# Verify team enrollment
warp-cli teams-enrollment-status
# Reset registration
warp-cli delete
warp-cli register
CLI Management
System Commands
# Service management
sudo systemctl status warp-svc
sudo systemctl restart warp-svc
# Check logs
sudo journalctl -u warp-svc
# Clear settings
warp-cli clear-device-name
warp-cli delete
Configuration Management
# Backup configuration
warp-cli generate-conf > warp-backup.conf
# Reset configuration
warp-cli reset
# Update client
warp-cli update
Best Practices
Security Settings
# Enable security features
warp-cli enable-dns-log
warp-cli set-families-mode
warp-cli set-gateway-port random
# Configure trusted networks
warp-cli add-trusted-ssid "Office-WiFi"
warp-cli set-switch-locked true
# Optimize settings
warp-cli set-mode warp+doh
warp-cli set-custom-endpoint closest
warp-cli set-keepalive 25
Quick Reference
Essential Commands
# Basic control
warp-cli connect
warp-cli disconnect
warp-cli status
# Account management
warp-cli register
warp-cli teams-enroll
warp-cli account
# Configuration
warp-cli set-mode
warp-cli set-proxy-port
warp-cli set-families-mode
Common Options
connect # Connect to WARP
disconnect # Disconnect from WARP
status # Check connection status
register # Register device
teams-enroll # Enroll in Zero Trust
set-mode # Change WARP mode
Example Configurations
Basic Setup
# Initial configuration
warp-cli register
warp-cli set-mode warp
warp-cli enable-dns-log
warp-cli connect
Zero Trust Setup
# Zero Trust configuration
warp-cli teams-enroll < toke n >
warp-cli set-mode warp+doh
warp-cli add-exclude-route 192.168.0.0/16
warp-cli connect
Split Tunnel Configuration
# Configure split tunneling
warp-cli add-exclude-route 10.0.0.0/8
warp-cli add-exclude-route 172.16.0.0/12
warp-cli add-exclude-route 192.168.0.0/16
warp-cli add-excluded-app "/usr/bin/ssh"
Remember:
Regular updates
Monitor connection status
Backup configurations
Document custom settings
Review security policies
Keep logs for troubleshooting
For detailed information, consult the official Cloudflare WARP documentation.