veza/config/incus/NETWORK_FIX_GUIDE.md
senke f0ba7de543 state-ownership: delete unused optimisticStoreUpdates.ts file
- Deleted apps/web/src/utils/optimisticStoreUpdates.ts (unused file)
- File was unused - no imports found in codebase
- Mutations already use React Query's onMutate pattern
- No TypeScript errors after deletion
- Actions 4.4.1.2 and 4.4.1.3 complete
2026-01-15 19:26:53 +01:00

4.4 KiB

Guide de Correction du Réseau Incus

Problème: Les conteneurs ne peuvent pas accéder à Internet malgré NAT activé
Cause: IP forwarding désactivé ou routes mal configurées
Solution: Scripts de diagnostic et correction automatique

Problème Identifié

Les conteneurs Incus ne peuvent pas accéder à Internet :

ping: connect: Network is unreachable

Causes possibles:

  1. IP forwarding désactivé sur l'hôte (requis pour NAT)
  2. Routes par défaut manquantes dans les conteneurs
  3. Configuration réseau Incus incomplète
  4. Bridge réseau non configuré correctement

Solutions

Solution Rapide (Recommandée)

# Corriger immédiatement tous les conteneurs
./config/incus/fix-network-now.sh

Ce script :

  • Active IP forwarding sur l'hôte
  • Vérifie et active NAT dans le réseau Incus
  • Corrige la configuration réseau dans tous les conteneurs
  • Teste la connectivité

Solution Étape par Étape

1. Diagnostiquer le problème

# Diagnostiquer un conteneur spécifique
./config/incus/diagnose-network.sh veza-infra

# Ou tous les conteneurs
./config/incus/diagnose-network.sh

2. Activer IP Forwarding (CRITIQUE)

# Vérifier l'état
cat /proc/sys/net/ipv4/ip_forward

# Activer (temporaire)
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

# Rendre permanent
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

3. Vérifier la configuration réseau Incus

# Vérifier que NAT est activé
incus network show veza-network | grep ipv4.nat

# Si non activé, activer
incus network set veza-network ipv4.nat=true

4. Corriger un conteneur spécifique

# Corriger veza-infra
./config/incus/fix-network.sh veza-infra

# Corriger tous les conteneurs
./config/incus/fix-all-containers-network.sh

Scripts Disponibles

1. fix-network-now.sh (RECOMMANDÉ)

Usage: ./fix-network-now.sh

Corrige immédiatement tous les problèmes réseau :

  • Active IP forwarding
  • Configure NAT
  • Corrige tous les conteneurs
  • Teste la connectivité

2. fix-network.sh

Usage: ./fix-network.sh [container-name]

Corrige le réseau pour un conteneur spécifique ou tous les conteneurs.

3. diagnose-network.sh

Usage: ./diagnose-network.sh [container-name]

Diagnostique les problèmes réseau sans les corriger.

4. fix-all-containers-network.sh

Usage: ./fix-all-containers-network.sh

Corrige le réseau dans tous les conteneurs Veza.

Vérification Post-Correction

# Tester depuis un conteneur
incus exec veza-infra -- ping -c 2 8.8.8.8
incus exec veza-infra -- ping -c 2 google.com

# Vérifier les routes
incus exec veza-infra -- ip route show

# Vérifier l'IP
incus exec veza-infra -- ip addr show eth0

Prévention

Le script deploy-service-native.sh a été amélioré pour :

  • Vérifier IP forwarding avant déploiement
  • Configurer correctement les routes (locale + default)
  • Vérifier la connectivité avant de continuer
  • Échouer si le réseau ne fonctionne pas

Commandes de Diagnostic Manuelles

Sur l'hôte

# Vérifier IP forwarding
cat /proc/sys/net/ipv4/ip_forward

# Vérifier les règles NAT
sudo iptables -t nat -L -n -v

# Vérifier le bridge
ip addr show | grep -A 5 incus
ip link show | grep incus

Dans un conteneur

# Vérifier l'IP
ip addr show eth0

# Vérifier les routes
ip route show

# Tester la connectivité
ping -c 2 10.10.10.1  # Gateway
ping -c 2 8.8.8.8     # Internet
ping -c 2 google.com  # DNS

Problèmes Courants

1. "Network is unreachable"

Cause: Route par défaut manquante
Solution:

incus exec veza-infra -- ip route add default via 10.10.10.1 dev eth0

2. "Temporary failure in name resolution"

Cause: DNS non configuré
Solution:

incus exec veza-infra -- bash -c "echo 'nameserver 8.8.8.8' > /etc/resolv.conf"

3. NAT ne fonctionne pas

Cause: IP forwarding désactivé
Solution:

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

Notes Techniques

  • Le NAT Incus nécessite IP forwarding activé sur l'hôte
  • Les conteneurs doivent avoir une route par défaut vers 10.10.10.1
  • La route locale (10.10.10.0/24) est aussi nécessaire pour la communication inter-conteneurs
  • Le DNS doit être configuré à la fois dans Incus et dans les conteneurs