Cloudflare WARP donne à votre serveur une adresse de sortie Cloudflare, pratique pour joindre des ressources uniquement IPv6 ou changer l'IP sortante apparente. Sur une machine distante, le piège classique est que le mode WARP par défaut détourne la table de routage et coupe votre session SSH. Ce guide présente deux méthodes sûres sur un VPS Linux Infrawire : le client officiel en mode proxy, et wgcf avec WireGuard et routage partiel.
📋 Prérequis
- Un VPS sous Ubuntu 24.04 ou Debian 12 avec accès SSH root (depuis votre espace client vous retrouvez l'IP et le mot de passe root du VPS).
- L'IP publique de votre VPS notée à part (
VPS_IP). - Un moyen d'ouvrir la console du VPS si une modification réseau vous verrouille.
- Les paquets
curl,gpgetlsb-releaseinstallés.
📦 Installer le client officiel
Ajoutez le dépôt Cloudflare puis installez le paquet :
Bashapt update && apt install -y curl gpg lsb-release curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/cloudflare-client.list apt update && apt install -y cloudflare-warp systemctl enable --now warp-svc
🛡️ Mode proxy : garder le SSH en vie
En mode proxy, WARP ne touche pas à la table de routage. Il ouvre seulement un port SOCKS5 local que vous utilisez à la demande. Choisissez le mode avant de vous connecter, jamais l'inverse.
Bashwarp-cli --accept-tos registration new warp-cli mode proxy warp-cli proxy port 40000 warp-cli connect warp-cli status
Le proxy écoute uniquement sur 127.0.0.1:40000. Pour y faire passer une commande :
Bashcurl -x socks5h://127.0.0.1:40000 https://www.cloudflare.com/cdn-cgi/trace
Le schéma socks5h est important : la résolution DNS passe aussi par le proxy. Pour arrêter, lancez warp-cli disconnect.
🔀 Alternative : wgcf et WireGuard
Si vous préférez une interface WireGuard noyau, wgcf crée un compte WARP et génère une configuration standard. Téléchargez la version de wgcf correspondant à votre architecture sur la page des releases GitHub du projet, puis :
Bashapt install -y wireguard-tools chmod +x wgcf_linux_amd64 && mv wgcf_linux_amd64 /usr/local/bin/wgcf cd /root && wgcf register && wgcf generate cp wgcf-profile.conf /etc/wireguard/wgcf.conf
Ne le démarrez pas encore : le profil généré fait tout passer par le tunnel et couperait le SSH.
✂️ Routage partiel et IPv6 seulement
Éditez /etc/wireguard/wgcf.conf. Pour ne faire passer que l'IPv6 par WARP et laisser l'IPv4 (donc votre session SSH) intacte, restreignez AllowedIPs, supprimez la ligne DNS et baissez la MTU :
INI1[Interface] 2MTU = 1280 3PostUp = ip rule add from VPS_IP lookup main 4PostDown = ip rule del from VPS_IP lookup main 5 6[Peer] 7AllowedIPs = ::/0 8Endpoint = engage.cloudflareclient.com:2408
Conservez les lignes de clés et Address produites par wgcf. La paire ip rule garantit que les réponses de VPS_IP utilisent toujours la table principale, ce qui protège les connexions entrantes. Si vous vous connectez uniquement en IPv4, vous pourrez plus tard remplacer ::/0 par 0.0.0.0/0, ::/0 pour tout tunneliser. Activez l'interface :
Bashsystemctl enable --now wg-quick@wgcf
✅ Vérification
Contrôlez que WARP est actif sur le bon chemin :
Bashcurl -s https://www.cloudflare.com/cdn-cgi/trace | grep warp curl -6 -s https://www.cloudflare.com/cdn-cgi/trace | grep -E 'ip=|warp=' wg show wgcf
warp=on sur la requête IPv6, avec un handshake récent dans wg show, signifie que le tunnel fonctionne. La requête IPv4 simple doit toujours afficher warp=off.
🛠️ Dépannage
Accès SSH perdu juste après la connexion. WARP était en mode tunnel complet. Ouvrez la console du VPS et lancez warp-cli disconnect (ou systemctl stop wg-quick@wgcf), puis passez en warp-cli mode proxy avant de vous reconnecter. Si vous joignez le serveur en IPv6, n'utilisez pas ::/0 dans AllowedIPs.
Le DNS ne résout plus. wg-quick réécrit le résolveur quand une ligne DNS existe. Supprimez cette ligne du profil, ou utilisez le proxy socks5h pour que la résolution se fasse côté Cloudflare.
Les grosses pages se bloquent ou TLS cale. C'est presque toujours un problème de MTU. Gardez MTU = 1280 dans le profil WireGuard et testez avec ping -M do -s 1200 1.1.1.1.
🎉 Votre VPS peut désormais utiliser Cloudflare WARP à la demande sans jamais couper votre session SSH.