# Exigences réseau

Pour héberger avec succès des serveurs GPU sur Clore.ai, votre réseau doit respecter ces exigences.

## Exigences minimales

| Paramètre                 | Exigence                                  |
| ------------------------- | ----------------------------------------- |
| Vitesse de téléchargement | Minimum 100 Mbps                          |
| Vitesse d'envoi           | Minimum 100 Mbps                          |
| Latence                   | < 100 ms vers les principales régions     |
| Type d'IP                 | Statique ou dynamique (statique préférée) |

> **Remarque :** Une bande passante plus élevée entraîne de meilleures notes pour le serveur et plus de locations.

## Ports requis

Les ports suivants doivent être accessibles depuis Internet :

| Port         | Protocole | But                                           |
| ------------ | --------- | --------------------------------------------- |
| 22           | TCP       | Accès SSH (ou port SSH personnalisé)          |
| 8080         | TCP       | Jupyter Notebook (si activé)                  |
| 3000-4000    | TCP       | Ports d'application (configurables)           |
| Personnalisé | TCP/UDP   | Tel que défini dans les paramètres du serveur |

## Configuration du pare-feu

### UFW (Ubuntu)

```bash
# Autoriser SSH
sudo ufw allow 22/tcp

# Autoriser Jupyter
sudo ufw allow 8080/tcp

# Autoriser la plage de ports pour les applications
sudo ufw allow 3000:4000/tcp

# Activer le pare-feu
sudo ufw enable
```

### iptables

```bash
# Autoriser SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Autoriser Jupyter
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

# Autoriser la plage de ports
iptables -A INPUT -p tcp --dport 3000:4000 -j ACCEPT

# Enregistrer les règles
iptables-save > /etc/iptables/rules.v4
```

## NAT / Transfert de ports

Si votre serveur est derrière un routeur :

1. **Accéder au panneau d'administration du routeur** (généralement 192.168.1.1)
2. **Trouver la section Transfert de ports**
3. **Rediriger les ports requis** vers l'IP interne de votre serveur
4. **Définir une IP interne statique** pour votre serveur

### Exemples de règles de redirection de ports

| Port externe | IP interne    | Port interne | Protocole |
| ------------ | ------------- | ------------ | --------- |
| 22022        | 192.168.1.100 | 22           | TCP       |
| 8080         | 192.168.1.100 | 8080         | TCP       |

## IP statique vs dynamique

### IP statique (recommandée)

* Connexion cohérente pour les locataires
* Mieux pour le DNS et les favoris
* Note de fiabilité du serveur plus élevée

### IP dynamique

* Fonctionne mais nécessite un service DDNS
* Les changements d'IP peuvent interrompre brièvement les locations
* Configurer le client DDNS sur votre serveur :

```bash
# Exemple avec ddclient
sudo apt install ddclient
sudo nano /etc/ddclient.conf
```

## Considérations sur la bande passante

### Impact sur les revenus

| Vitesse  | Impact                                              |
| -------- | --------------------------------------------------- |
| 100 Mbps | Minimum - locations basiques                        |
| 500 Mbps | Bon - adapté à la plupart des charges de travail ML |
| 1 Gbps+  | Excellent - attire des locataires premium           |

### Surveillance de la bande passante

```bash
# Installer l'outil de surveillance
sudo apt install iftop

# Surveiller en temps réel
sudo iftop -i eth0
```

## Tests réseau

### Test de vitesse

```bash
# Installer speedtest
sudo apt install speedtest-cli

# Lancer le test
speedtest-cli
```

### Test de latence

```bash
# Tester vers des régions communes
ping -c 10 8.8.8.8        # DNS de Google
ping -c 10 1.1.1.1        # Cloudflare
```

### Test d'accessibilité des ports

Depuis l'extérieur de votre réseau, vérifiez que les ports sont ouverts :

```bash
# En utilisant nmap depuis une autre machine
nmap -p 22,8080 VOTRE_IP_PUBLIQUE

# Ou utilisez un vérificateur de ports en ligne
# https://www.yougetsignal.com/tools/open-ports/
```

## Dépannage

### Ports non accessibles

1. Vérifier les règles du pare-feu sur le serveur
2. Vérifier le transfert de ports du routeur
3. Contacter le FAI - certains bloquent l'hébergement
4. Essayer différents numéros de port

### Connexion lente

1. Effectuer un test de vitesse
2. Vérifier la limitation de bande passante
3. Envisager de mettre à niveau le forfait Internet
4. Optimiser les paramètres réseau du serveur :

```bash
# Augmenter la taille des tampons réseau
sudo sysctl -w net.core.rmem_max=16777216
sudo sysctl -w net.core.wmem_max=16777216
```

### Coupures de connexion

1. Vérifier les changements d'adresse IP
2. Vérifier la stabilité du routeur
3. Surveiller les journaux système : `dmesg | grep -i network`
4. Envisager d'utiliser Ethernet plutôt que le Wi-Fi
