Déverrouiller l'Accès à Distance : Mon Expérience avec Cloudflare Tunnel et Proxmox

Objectif du Projet

Établir un accès à distance sécurisé à l'interface web de Proxmox VE via un sous-domaine public (proxmox.olyhome.site) en utilisant Cloudflare Tunnel, éliminant ainsi le besoin d'exposer des ports directement sur Internet.

Pourquoi Cloudflare Tunnel ?

Problèmes de l'Accès à Distance Traditionnel

Approche par Redirection de Ports : - ❌ Expose les services directement à Internet - ❌ Nécessite une IP statique ou un DNS dynamique - ❌ Vulnérable aux attaques par balayage de ports - ❌ Gestion complexe du pare-feu

Avantages de Cloudflare Tunnel : - ✅ Aucun port exposé sur le pare-feu - ✅ Protection DDoS intégrée - ✅ Certificats SSL gratuits - ✅ Fonctionne avec des IP dynamiques - ✅ Contrôle d'accès via Cloudflare Zero Trust

Aperçu de l'Infrastructure

Utilisateurs Internet
    ↓
Cloudflare Edge Network
    ↓
Cloudflare Tunnel (cloudflared)
    ↓
Proxmox Host (192.168.11.254:8006)

Processus de Configuration

Étape 1 : Prérequis

Exigences : - Nom de domaine (par exemple, olyhome.site) - Compte Cloudflare (le niveau gratuit est suffisant) - Proxmox VE installé et accessible sur le LAN - Système Linux pour exécuter cloudflared

Étape 2 : Configurer le Domaine dans Cloudflare

  1. Ajouter le Site à Cloudflare :
    • Connectez-vous au tableau de bord Cloudflare
    • Cliquez sur « Add a Site » (Ajouter un site)
    • Entrez le domaine : olyhome.site
    • Choisissez le plan Gratuit
  2. Mettre à Jour les Serveurs de Noms :
    • Copiez les serveurs de noms Cloudflare
    • Mettez à jour chez votre bureau d'enregistrement de domaine (Hostinger, Namecheap, etc.)
    • Attendez la propagation (jusqu'à 24 heures)

Étape 3 : Créer un Tunnel Cloudflare

Via le Tableau de Bord Cloudflare :

  1. Naviguez vers Zero TrustAccessTunnels
  2. Cliquez sur « Create a tunnel » (Créer un tunnel)
  3. Sélectionnez Cloudflared
  4. Nom du tunnel : proxmox-tunnel
  5. Cliquez sur Save tunnel (Enregistrer le tunnel)

Copiez le jeton du tunnel – nécessaire pour l'installation de cloudflared.

Étape 4 : Installer cloudflared sur l'Hôte Proxmox

# Download cloudflared
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb

# Install
sudo dpkg -i cloudflared-linux-amd64.deb

# Verify installation
cloudflared --version

Étape 5 : Configurer le Tunnel

Créer le fichier de configuration :

# Create config directory
sudo mkdir -p /etc/cloudflared

# Create config file
sudo nano /etc/cloudflared/config.yml

Configuration (config.yml) :

tunnel: <TUNNEL_ID>
credentials-file: /etc/cloudflared/<TUNNEL_ID>.json

ingress:
  - hostname: proxmox.olyhome.site
    service: https://localhost:8006
    originRequest:
      noTLSVerify: true  # Required for self-signed Proxmox cert
  - service: http_status:404