Anforderungen an das SDA Gateway
Betriebssysteme
Linux
Der SDA Glue Service für Linux basiert auf dem SoftEther VPN Client und nutzt den nativen Linux-IP-Stack sowie iptables für die Firewall-Verwaltung. Der Dienst kann zwar auch auf anderen Linux-Distributionen funktionieren, wurde jedoch auf nftables-basierten Systemen wie Red Hat Enterprise Linux nicht umfassend getestet. Für optimale Kompatibilität und Unterstützung empfehlen wir dringend, das Gateway auf Debian-basierten Distributionen zu betreiben.
Systemanforderungen:
- Architektur: ARM, ARM64, i386 oder AMD64
- CPU & Arbeitsspeicher: Mindestens Dual-Core-Prozessor mit 1 GHz und 512 MB RAM
- Dienstverwaltung: systemd
- Kernel-Version: 5.6+
- Distribution: Debian- oder Ubuntu-basierte Distributionen
- Abhängigkeiten: SoftEther VPN Client (wird bei der Einrichtung automatisch installiert); OpenVPN (optional, manuelle Installation erforderlich)
Windows
Die Windows-Implementierung von SDA Glue nutzt den OpenVPN Community Client und ist für die Netzwerkfunktionalität auf Windows Network Address Translation (WinNAT/NetNat) angewiesen. Beachten Sie, dass WinNAT nicht auf allen Windows-Versionen standardmäßig aktiviert ist und unter Umständen manuell aktiviert werden muss.
Systemanforderungen:
- Betriebssystem: Windows 10 Professional/Enterprise oder Windows Server 2016 bzw. neuer
- Architektur: ARM, ARM64, i386 oder AMD64
- CPU & Arbeitsspeicher: Mindestens Dual-Core-Prozessor mit 2 GHz und 2 GB RAM
- Berechtigungen: Der Dienst benötigt erhöhte Rechte, um Netzwerkressourcen zu verwalten
- Abhängigkeiten: OpenVPN Community Client (wird bei der Einrichtung automatisch installiert)
- Netzwerkfunktionen: WinNAT/NetNat (siehe Konfigurationshinweise unten)
WinNAT überprüfen
So prüfen Sie, ob die Funktion WinNAT auf Ihrem System aktiviert ist:
- Öffnen Sie PowerShell als Administrator
- Führen Sie den folgenden Befehl aus:
Get-NetNat
Erwartete Ergebnisse:
- Funktion aktiviert: Der Befehl wird erfolgreich ausgeführt (kann ein leeres Ergebnis zurückgeben, wenn keine NAT-Konfigurationen vorhanden sind)
- Funktion deaktiviert: Es erscheint die Fehlermeldung "Get-NetNat : Invalid class"
WinNAT aktivieren
Falls WinNAT nicht aktiviert ist, gehen Sie wie folgt vor:
- Öffnen Sie PowerShell als Administrator
- Führen Sie die folgenden Befehle aus:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -NoRestart
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
- Starten Sie den Computer nach erfolgreicher Ausführung neu
- Überprüfen Sie die Aktivierung, indem Sie
Get-NetNaterneut ausführen
Docker & Kubernetes
SDA Glue kann in containerisierten Umgebungen betrieben werden, wobei für die VPN-Funktionalität bestimmte Konfigurationsanforderungen gelten. Der Dienst benötigt Zugriff auf das TUN-Gerät des Hosts sowie Netzwerkadministrationsrechte, um sichere Tunnel aufzubauen.
Systemanforderungen:
- Host-Architektur: ARM64 oder AMD64
- Zugriff auf TUN-Gerät:
--device=/dev/net/tun– Zugriff auf die virtuelle Netzwerktunnel-Schnittstelle - Netzwerkberechtigungen:
--cap-add=NET_ADMIN– Konfiguration von Netzwerkschnittstellen und Verwaltung des Routings
TUN-Gerät (/dev/net/tun): Die TUN-Schnittstelle ist ein virtuelles Netzwerkgerät auf Schicht 3 (IP-Ebene) des Netzwerkstapels und wird üblicherweise von VPN-Clients zum Aufbau sicherer Tunnel genutzt. VPN-Clients verwenden TUN-Geräte, um Daten zu verschlüsseln, bevor diese über den Tunnel an den VPN-Server weitergeleitet werden. Ohne Zugriff auf dieses Gerät kann das containerisierte SDA Glue die für die Konnektivität erforderlichen Netzwerktunnel nicht erstellen.
NET_ADMIN-Berechtigung: Diese Linux-Capability erlaubt es dem Container, netzwerkbezogene Operationen durchzuführen – darunter die Konfiguration von Schnittstellen, die Änderung der Routing-Tabelle und die Firewall-Verwaltung. VPN-Container benötigen die NET_ADMIN-Berechtigung, um Netzwerkressourcen zu verwalten und ein korrektes Routing für die sichere Kommunikation mit den SDA Cloud-Diensten einzurichten.
docker run -d \
--name glue \
--restart always \
--device=/dev/net/tun \
-p 8080:8080 \
-v glue-data:/var/lib/sdaglue \
--cap-add=NET_ADMIN \
public.ecr.aws/t9c5s2d1/sdaglue:latest
Vollständige Details zur Bereitstellung, Konfigurationsbeispiele und Hinweise zur Fehlerbehebung.