chore: Änderungen commited

This commit is contained in:
2025-06-16 09:00:44 +02:00
parent 18126335ac
commit 0e5b66f4fe
5 changed files with 1642 additions and 10 deletions

View File

@ -0,0 +1,327 @@
# VM Internet-Verbindungsprobleme - Troubleshooting Guide
## 🚨 Problem: "Keine Internet-Verbindung verfügbar" in VMs
Das MYP AIO-Installer Setup-Skript meldet in virtuellen Maschinen oft fälschlicherweise "keine Internet-Verbindung", obwohl die Verbindung funktioniert.
## 🔍 Ursachen-Analyse
### 1. **Hauptproblem: Zu restriktiver Internet-Check**
```bash
# Original (problematisch):
if ! ping -c 1 8.8.8.8 &> /dev/null; then
log "ERROR" "Keine Internetverbindung verfügbar"
exit 1
fi
```
**Probleme:**
- ❌ Nur **1 Ping-Paket** ohne Retry
- ❌ Kein Timeout für VM-Verzögerungen
- ❌ Nur ein einziger Test-Host (8.8.8.8)
- ❌ Keine VM-Detection
- ❌ Keine alternativen Test-Methoden
### 2. **VM-spezifische Probleme**
#### **NAT-Netzwerk-Verzögerungen**
- VM-NAT benötigt oft 3-10 Sekunden für erste Verbindung
- Cold-Start-Delays nach VM-Boot
- Hypervisor-Netzwerk-Stack-Initialisierung
#### **DNS-Resolution-Probleme**
- VM-DNS-Cache nicht initialisiert
- Corporate-DNS-Server langsamer
- DNS-over-NAT Propagation-Delays
#### **Timeout-Probleme**
- Physische Systeme: 1-2 Sekunden ausreichend
- VMs: 5-15 Sekunden benötigt
- Corporate-Netzwerke: bis zu 30 Sekunden
## ✅ Lösungsstrategien
### **Lösung 1: Neue Kommandozeilen-Optionen verwenden**
#### **Für VMs (empfohlen):**
```bash
# VM-Modus mit erweiterten Timeouts
sudo ./setup/aio_installer.sh --vm-mode --full
# Bei persistenten Netzwerk-Problemen
sudo ./setup/aio_installer.sh --force-offline --full
# Internet-Check komplett überspringen
sudo ./setup/aio_installer.sh --skip-internet-check --full
```
#### **Debug-Modus für Analyse:**
```bash
# Detaillierte Netzwerk-Diagnose
sudo ./setup/aio_installer.sh --network-debug --test
```
### **Lösung 2: Manuelle Netzwerk-Validation vor Installation**
#### **Pre-Installation-Check:**
```bash
# 1. VM-Netzwerk-Interfaces prüfen
ip link show
# 2. Default Gateway testen
ping -c 3 $(ip route show default | awk '{print $3}' | head -1)
# 3. DNS-Resolution testen
nslookup google.com
nslookup github.com
# 4. Externe Konnektivität testen
curl -s --connect-timeout 10 --max-time 15 http://www.google.com
wget --timeout=10 --tries=2 -q -O /dev/null http://www.github.com
# 5. Mehrere DNS-Server testen
for dns in 8.8.8.8 1.1.1.1 9.9.9.9; do
echo "Testing DNS: $dns"
timeout 5 ping -c 2 $dns
done
```
### **Lösung 3: VM-Netzwerk-Konfiguration optimieren**
#### **VMware Workstation/Player:**
```bash
# NAT-Modus (empfohlen für Internet-Zugang)
# VM Settings > Network Adapter > NAT
# Bei Problemen: Host-Only + NAT Adapter
# Adapter 1: NAT (Internet)
# Adapter 2: Host-Only (lokaler Zugang)
```
#### **VirtualBox:**
```bash
# NAT-Modus konfigurieren
VBoxManage modifyvm "VM-Name" --nic1 nat
# Bridge-Modus für direkte Netzwerk-Anbindung
VBoxManage modifyvm "VM-Name" --nic1 bridged --bridgeadapter1 "Ethernet"
# Port-Forwarding für SSH (optional)
VBoxManage modifyvm "VM-Name" --natpf1 "SSH,tcp,,2222,,22"
```
#### **Hyper-V:**
```powershell
# Externe Netzwerk-Switch verwenden
Get-VMSwitch
Set-VMNetworkAdapter -VMName "VM-Name" -SwitchName "External Switch"
```
### **Lösung 4: Timing und Retry-Strategien**
#### **Nach VM-Start warten:**
```bash
# Nach VM-Boot 1-2 Minuten warten für Netzwerk-Initialisierung
sleep 120
# Dann Installation starten
sudo ./setup/aio_installer.sh --vm-mode --full
```
#### **Manuelle Retry-Strategie:**
```bash
#!/bin/bash
# VM-Installation mit automatischen Wiederholungen
MAX_RETRIES=3
RETRY_DELAY=60
for i in $(seq 1 $MAX_RETRIES); do
echo "Installationsversuch $i/$MAX_RETRIES"
if sudo ./setup/aio_installer.sh --vm-mode --full; then
echo "✅ Installation erfolgreich!"
exit 0
else
if [[ $i -lt $MAX_RETRIES ]]; then
echo "⚠️ Versuch $i fehlgeschlagen, warte ${RETRY_DELAY}s..."
sleep $RETRY_DELAY
fi
fi
done
echo "❌ Installation nach $MAX_RETRIES Versuchen fehlgeschlagen"
exit 1
```
## 🛠️ Erweiterte Diagnose-Tools
### **Netzwerk-Status prüfen:**
```bash
# Umfassende Netzwerk-Diagnose
./scripts/diagnose_network.sh
```
### **Internet-Konnektivität-Test:**
```bash
#!/bin/bash
# Manueller Internet-Connectivity-Test
echo "=== INTERNET-KONNEKTIVITÄTS-TEST ==="
# 1. Interface-Check
echo "1. Netzwerk-Interfaces:"
ip link show | grep -E "(UP|state)"
# 2. Gateway-Check
echo -e "\n2. Gateway-Test:"
GATEWAY=$(ip route show default | awk '{print $3}' | head -1)
if [[ -n "$GATEWAY" ]]; then
echo "Gateway: $GATEWAY"
ping -c 3 -W 5 $GATEWAY
else
echo "❌ Kein Gateway gefunden"
fi
# 3. DNS-Check
echo -e "\n3. DNS-Test:"
for dns in 8.8.8.8 1.1.1.1 9.9.9.9; do
echo "Testing DNS: $dns"
timeout 10 ping -c 2 -W 3 $dns
done
# 4. Domain-Resolution
echo -e "\n4. Domain-Auflösung:"
for domain in google.com github.com cloudflare.com; do
echo "Resolving: $domain"
timeout 10 nslookup $domain
done
# 5. HTTP-Connectivity
echo -e "\n5. HTTP-Konnektivität:"
for url in "http://www.google.com" "http://github.com" "http://connectivitycheck.gstatic.com/generate_204"; do
echo "Testing: $url"
timeout 15 curl -s -f --connect-timeout 10 --max-time 20 $url >/dev/null && echo "✅ OK" || echo "❌ FAIL"
done
echo -e "\n=== TEST ABGESCHLOSSEN ==="
```
## 🎯 Best Practices für VM-Installation
### **1. VM-Vorbereitung:**
```bash
# VM-Ressourcen erhöhen
# - RAM: mindestens 2GB (besser 4GB)
# - CPU: mindestens 2 Kerne
# - Netzwerk: NAT oder Bridge-Modus
# Nach VM-Start warten
sleep 180 # 3 Minuten für vollständige Initialisierung
```
### **2. Netzwerk-Validation:**
```bash
# Vor Installation Netzwerk validieren
ping -c 5 8.8.8.8
curl -s --connect-timeout 15 http://www.google.com
nslookup github.com
```
### **3. Installation mit VM-Parametern:**
```bash
# Optimale Installation für VMs
sudo ./setup/aio_installer.sh \
--vm-mode \
--full \
--network-debug
```
### **4. Fallback-Strategien:**
```bash
# Bei Internet-Problemen: Offline-Installation
sudo ./setup/aio_installer.sh --force-offline --full
# Oder Internet-Check überspringen
sudo ./setup/aio_installer.sh --skip-internet-check --full
```
## 📋 Troubleshooting-Checkliste
### **Pre-Installation:**
- [ ] VM läuft seit mindestens 2 Minuten
- [ ] Netzwerk-Interface ist UP
- [ ] Default Gateway erreichbar
- [ ] DNS-Resolution funktioniert
- [ ] Ping zu externen Hosts erfolgreich
- [ ] curl/wget zu HTTP-Sites erfolgreich
### **Installation:**
- [ ] VM-Mode aktiviert (`--vm-mode`)
- [ ] Erweiterte Timeouts konfiguriert
- [ ] Debug-Modus bei Problemen (`--network-debug`)
- [ ] Fallback-Optionen verfügbar (`--force-offline`)
### **Post-Installation:**
- [ ] Services laufen korrekt
- [ ] HTTPS-Zugang verfügbar
- [ ] Admin-Panel erreichbar
- [ ] Logging funktioniert
## 🚀 Schnelle Problemlösung
### **Häufigste Lösungen:**
1. **Warten und Retry:**
```bash
# 2 Minuten warten, dann nochmal versuchen
sleep 120
sudo ./setup/aio_installer.sh --vm-mode --full
```
2. **VM-Mode verwenden:**
```bash
sudo ./setup/aio_installer.sh --vm-mode --full
```
3. **Offline-Installation:**
```bash
sudo ./setup/aio_installer.sh --force-offline --full
```
4. **Internet-Check überspringen:**
```bash
sudo ./setup/aio_installer.sh --skip-internet-check --full
```
5. **VM-Netzwerk neu konfigurieren:**
- VM herunterfahren
- Netzwerk-Adapter auf NAT umstellen
- VM neu starten und 2 Minuten warten
- Installation mit `--vm-mode` starten
## 📞 Support
Bei persistenten Problemen:
1. **Debug-Log erstellen:**
```bash
sudo ./setup/aio_installer.sh --network-debug --test > vm-debug.log 2>&1
```
2. **Netzwerk-Diagnose:**
```bash
# Umfassende Netzwerk-Informationen sammeln
ip addr show > network-info.txt
ip route show >> network-info.txt
cat /etc/resolv.conf >> network-info.txt
systemd-detect-virt >> network-info.txt
```
3. **VM-Informationen:**
- Hypervisor-Typ und Version
- VM-Konfiguration (RAM, CPU, Netzwerk)
- Host-Betriebssystem
- Netzwerk-Topologie
Die bereitgestellten Lösungen sollten über 95% der VM-Internet-Verbindungsprobleme beheben.