- 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
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:
- IP forwarding désactivé sur l'hôte (requis pour NAT)
- Routes par défaut manquantes dans les conteneurs
- Configuration réseau Incus incomplète
- 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