# Netzwerkanforderungen

Damit GPU-Server erfolgreich auf Clore.ai gehostet werden können, muss Ihr Netzwerk diese Anforderungen erfüllen.

## Mindestanforderungen

| Parameter                | Anforderung                                  |
| ------------------------ | -------------------------------------------- |
| Download-Geschwindigkeit | Mindestens 100 Mbps                          |
| Upload-Geschwindigkeit   | Mindestens 100 Mbps                          |
| Latenz                   | < 100 ms zu wichtigen Regionen               |
| IP-Typ                   | Statisch oder dynamisch (statisch bevorzugt) |

> **Hinweis:** Höhere Bandbreite führt zu besseren Serverbewertungen und mehr Vermietungen.

## Erforderliche Ports

Die folgenden Ports müssen aus dem Internet zugänglich sein:

| Port              | Protokoll | Zweck                                           |
| ----------------- | --------- | ----------------------------------------------- |
| 22                | TCP       | SSH-Zugriff (oder benutzerdefinierter SSH-Port) |
| 8080              | TCP       | Jupyter Notebook (falls aktiviert)              |
| 3000-4000         | TCP       | Anwendungsports (konfigurierbar)                |
| Benutzerdefiniert | TCP/UDP   | Wie in den Servereinstellungen definiert        |

## Firewall-Konfiguration

### UFW (Ubuntu)

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

# Jupyter erlauben
sudo ufw allow 8080/tcp

# Portbereich für Anwendungen erlauben
sudo ufw allow 3000:4000/tcp

# Firewall aktivieren
sudo ufw enable
```

### iptables

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

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

# Portbereich erlauben
iptables -A INPUT -p tcp --dport 3000:4000 -j ACCEPT

# Regeln speichern
iptables-save > /etc/iptables/rules.v4
```

## NAT / Portweiterleitung

Wenn sich Ihr Server hinter einem Router befindet:

1. **Auf Admin-Panel des Routers zugreifen** (normalerweise 192.168.1.1)
2. **Abschnitt Portweiterleitung finden**
3. **Erforderliche Ports weiterleiten** an die interne IP Ihres Servers
4. **Statische interne IP setzen** für Ihren Server

### Beispiel für Portweiterleitungsregeln

| Externer Port | Interne IP    | Interner Port | Protokoll |
| ------------- | ------------- | ------------- | --------- |
| 22022         | 192.168.1.100 | 22            | TCP       |
| 8080          | 192.168.1.100 | 8080          | TCP       |

## Statische vs. dynamische IP

### Statische IP (empfohlen)

* Konstante Verbindung für Mieter
* Besser für DNS und Lesezeichen
* Höhere Zuverlässigkeitsbewertung des Servers

### Dynamische IP

* Funktioniert, erfordert jedoch DDNS-Dienst
* IP-Änderungen können Vermietungen kurz unterbrechen
* Konfigurieren Sie einen DDNS-Client auf Ihrem Server:

```bash
# Beispiel mit ddclient
sudo apt install ddclient
sudo nano /etc/ddclient.conf
```

## Bandbreitenüberlegungen

### Auswirkung auf Einnahmen

| Geschwindigkeit | Auswirkung                                  |
| --------------- | ------------------------------------------- |
| 100 Mbps        | Minimum - grundlegende Vermietungen         |
| 500 Mbps        | Gut - geeignet für die meisten ML-Workloads |
| 1 Gbps+         | Ausgezeichnet - zieht Premium-Mieter an     |

### Bandbreitenüberwachung

```bash
# Überwachungstool installieren
sudo apt install iftop

# In Echtzeit überwachen
sudo iftop -i eth0
```

## Netzwerktests

### Geschwindigkeitstest

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

# Test ausführen
speedtest-cli
```

### Latenztest

```bash
# Test zu gängigen Regionen
ping -c 10 8.8.8.8        # Google DNS
ping -c 10 1.1.1.1        # Cloudflare
```

### Portzugänglichkeitstest

Prüfen Sie von außerhalb Ihres Netzwerks, ob Ports offen sind:

```bash
# Mit nmap von einer anderen Maschine
nmap -p 22,8080 IHRE_ÖFFENTLICHE_IP

# Oder verwenden Sie einen Online-Port-Checker
# https://www.yougetsignal.com/tools/open-ports/
```

## Fehlerbehebung

### Ports nicht zugänglich

1. Überprüfen Sie die Firewall-Regeln auf dem Server
2. Verifizieren Sie die Portweiterleitung im Router
3. Kontaktieren Sie den ISP - einige blockieren Hosting
4. Versuchen Sie andere Portnummern

### Langsame Verbindung

1. Führen Sie einen Geschwindigkeitstest durch
2. Überprüfen Sie auf Bandbreiten-Drosselung
3. Erwägen Sie ein Upgrade des Internetplans
4. Optimieren Sie die Netzwerkeinstellungen des Servers:

```bash
# Erhöhen Sie die Netzwerk-Puffergrößen
sudo sysctl -w net.core.rmem_max=16777216
sudo sysctl -w net.core.wmem_max=16777216
```

### Verbindungsabbrüche

1. Überprüfen Sie auf IP-Adressänderungen
2. Verifizieren Sie die Stabilität des Routers
3. Überwachen Sie Systemprotokolle: `dmesg | grep -i network`
4. Erwägen Sie die Verwendung von Ethernet anstelle von WLAN
