- 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
186 lines
4.4 KiB
Markdown
186 lines
4.4 KiB
Markdown
# 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)
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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)
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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**:
|
|
```bash
|
|
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**:
|
|
```bash
|
|
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**:
|
|
```bash
|
|
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
|