Skip to content
BotServBotServ
WireGuardVPNLinuxSicherheitKISelf-Hosting

WireGuard: Eigenes VPN für KI-Services

WireGuard VPN für KI-Services: Eigenen Server als Gateway, Sicherer Fernzugriff, schnell und einfach.

S

schutzgeist

8 min read
WireGuard VPN für KI

WireGuard: Eigenes VPN für KI-Services

Was dieser Artikel behandelt

  • Was WireGuard ist und warum es für KI-Services interessant ist
  • Wie Du einen eigenen VPN Server als Gateway aufsetzt
  • Wie Du Clients verbindest und Netzwerke sicher erreichst
  • Welche Konfigurationen für Ollama und andere Tools nötig sind
  • Welche Fallen bei der Einrichtung lauern und wie Du sie vermeidest

Einleitung

Wenn Du KI-Tools wie Ollama zuhause oder auf einem kleinen Server betreibst, möchtest Du oft von aussen darauf zugreifen. Statt einzelne Services öffentlich ins Internet zu hängen, kannst Du ein VPN nutzen. Ein VPN, kurz für Virtual Private Network, baut einen verschlüsselten Tunnel zwischen Deinem Gerät und Deinem Server auf. So verhält sich Dein Laptop, Tablet oder Handy, als wäre es im Heimnetzwerk.

WireGuard ist ein moderner VPN Standard. Es ist schlank, schnell und wesentlich einfacher zu konfigurieren als viele ältere VPN Lösungen. Für KI-Services bedeutet das, dass Du Deine Ollama Instanz im lokalen Netz belassen kannst, ohne Port-Forwarding oder Reverse Proxy betreiben zu müssen. Sobald Du Dich mit WireGuard verbindest, sprichst Du Ollama einfach per interner IP Adresse an.

In diesem Artikel zeige ich Dir, wie Du einen WireGuard Server unter Ubuntu installierst, Deine ersten Peers anlegst und Deine KI-Services sicher erreichst. Grundlagen zu Linux und Netzwerk helfen Dir dabei. Wer lieber eine fertige Mesh Lösung nutzt, kann Tailscale betrachten.

Warum WireGuard?

WireGuard wurde entwickelt, um schnell und leicht verständlich zu sein. Der Quellcode ist klein gehalten, die Kryptographie modern und die Performance hervorragend. Das ist ein grosser Vorteil gegenüber klassischen Lösungen wie OpenVPN oder IPsec, die oft mit riesigen Konfigurationsdateien und komplexen Zertifikatsstrukturen daherkommen.

Für KI-Services ist WireGuard besonders praktisch, weil Du nicht einzelne Services freigeben musst. Du verbindest Dich zum VPN und greifst dann direkt auf interne IPs wie 192.168.1.42:11434 zu. So bleibt Dein Heimnetz hinter dem Server verborgen und ist trotzdem aus der Ferne nutzbar. Zudem kannst Du unterwegs Deinen Internet Traffic über Deinen Heimanschluss oder Server leiten, was Datenschutz und Filterumgehung ermöglicht.

WireGuard kurz erklärt

WireGuard arbeitet mit public und private Keys. Jeder Teilnehmer, also Peer, besitzt ein Schlüsselpaar. Der Server kennt den public key der Clients und umgekehrt. Statt Benutzername und Passwort authentifizieren sich die Geräte über ihre Schlüssel. Die Verbindung läuft über UDP und nutzt standardmässig den Port 51820.

Die Konfiguration wird in INI Dateien gespeichert, jeweils eine Datei pro Peer. Auf Linux nutzt Du am besten wg und wg-quick. wg ist das Kommandozeilentool, wg-quick hilft beim Starten und Stoppen von Tunneln. Auf mobilen Geräten gibt es offizielle Apps, die den QR Code eines Schlüssels einlesen können.

Für wen ist dieser Artikel gedacht?

Dieser Artikel ist für fortgeschrittene Einsteiger gedacht. Du solltest mit der Linux Kommandozeile vertraut sein, ein Ubuntu oder Debian System administrieren können und grundlegende Netzwerkkonzepte verstehen. Wenn Du bereits einen Server hast, ist das Setup in unter einer Stunde erledigt. Solltest Du noch nicht mit Linux vertraut sein, hilft Dir unser Artikel Ubuntu Server weiter.

Wer es noch einfacher möchte, nutzt Tailscale. Das basiert ebenfalls auf WireGuard, aber übernimmt viel Verwaltungsarbeit. Der direkte WireGuard Einsatz gibt Dir jedoch volle Kontrolle und funktioniert ohne externe Infrastruktur.

Wichtige Begriffe

BegriffBedeutung
VPNVirtual Private Network, ein verschlüsselter Tunnel über ein öffentliches Netz.
PeerEin Teilnehmer im WireGuard Netz, also Server oder Client.
Private KeyEin geheimer Schlüssel, der niemals weitergegeben werden darf.
Public KeyDer öffentliche Gegenpart zum Private Key, den Du verteilst.
EndpointDie öffentliche Adresse und der Port Deines Servers.
AllowedIPsRegelt, welche IP Adressen durch den Tunnel geleitet werden.
PersistentKeepaliveHält NAT Verbindungen offen, indem regelmässig Pakete gesendet werden.
HandshakeDer Verbindungsaufbau zwischen zwei Peers.
SubnetEin IP Adressbereich, wie zum Beispiel 10.0.0.0/24.

Voraussetzungen und Planung

Du brauchst einen Server mit Ubuntu oder Debian, auf dem Du root Rechte hast. Der Server muss eine öffentliche IP haben, damit Clients von aussen Verbindung aufnehmen können. Alternativ kannst Du WireGuard auch in Deinem Heimnetz auf einem Raspberry Pi betreiben und Port 51820 UDP im Router auf diesen Pi weiterleiten.

Entscheide Dich für ein VPN Subnet, das nicht kollidiert. Ein einfacher Bereich ist 10.200.200.0/24. Der Server bekommt dann die IP 10.200.200.1, Clients bekommen 10.200.200.2, 10.200.200.3 und so weiter. Notiere Dir jeden Peer, damit Du IP Adressen und public keys sauber verwaltest.

In der Firewall muss Port 51820 UDP geöffnet sein. Auch das IP Forwarding muss im Kernel aktiviert werden, damit der Server den Traffic weiterleiten kann. Die Befehle dafür folgen im nächsten Abschnitt.

WireGuard installieren

Aktualisiere Dein System und installiere WireGuard:

sudo apt update
sudo apt install -y wireguard wireguard-tools

Erstelle das Verzeichnis für die Schlüssel und wechsle dorthin:

sudo mkdir -p /etc/wireguard
sudo chmod 700 /etc/wireguard
cd /etc/wireguard

Erzeuge das Schlüsselpaar für den Server:

wg genkey | tee privatekey | wg pubkey > publickey

Setze die Berechtigungen und lies den Schlüssel aus:

sudo chmod 600 privatekey publickey
sudo cat privatekey
sudo cat publickey

Merke Dir beide Werte. Der private key bleibt ausschliesslich auf dem Server. Notiere Dir den public key, denn Du brauchst ihn später für die Clients.

Server Konfiguration

Erstelle die Datei /etc/wireguard/wg0.conf mit folgendem Inhalt. Ersetze die Platzhalter mit Deinem tatsächlichen private key, Deiner öffentlichen Domain oder IP und dem gewünschten Subnet.

[Interface]
PrivateKey = SERVER_PRIVATE_KEY
Address = 10.200.200.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.200.200.2/32

Ersetze SERVER_PRIVATE_KEY durch den Inhalt der privatekey Datei. CLIENT_PUBLIC_KEY erzeugst Du später auf dem Client. eth0 solltest Du durch Deinen tatsächlichen Netzwerkadapter ersetzen, oft heisst er ens18 oder ens160. Prüfe das mit ip link.

Aktiviere IP Forwarding:

echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Starte den WireGuard Tunnel:

sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0

Einen Client anlegen

Auf dem Client, also Deinem Laptop, Tablet oder Handy, erzeugst Du ebenfalls ein Schlüsselpaar. Für Linux gilt derselbe Befehl wie oben:

wg genkey | tee privatekey | wg pubkey > publickey

Öffne auf dem Server die Konfiguration erneut und füge einen weiteren [Peer] Block für Deinen Client hinzu. Notiere Dir die IP, zum Beispiel 10.200.200.2.

Die Client Konfiguration sieht beispielhaft so aus:

[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.200.200.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = SERVER_PUBLIC_KEY
AllowedIPs = 10.200.200.0/24, 192.168.1.0/24
Endpoint = meine-domain.de:51820
PersistentKeepalive = 25

CLIENT_PRIVATE_KEY kommt aus der Client privatekey Datei. SERVER_PUBLIC_KEY ist der public key Deines Servers. AllowedIPs legt fest, welcher Traffic durch den Tunnel geht. Wenn Du nur auf das VPN Subnet und Dein Heimnetz zugreifen willst, trägst Du beide Bereiche ein. Möchtest Du alles über den Tunnel leiten, nutze 0.0.0.0/0.

Ollama über WireGuard erreichen

Sobald der Client verbunden ist, kannst Du Ollama einfach über dessen interne IP ansprechen. Liegt Ollama auf einem Rechner im Heimnetz mit der IP 192.168.1.42 auf Port 11434, rufst Du http://192.168.1.42:11434 auf. Du musst keinen öffentlichen DNS oder Reverse Proxy einrichten, denn der WireGuard Tunnel legt Dich quasi direkt ins Netzwerk.

Wenn Du gleichzeitig DNS und kompletten Internetverkehr über Deinen Server leiten möchtest, passe AllowedIPs auf 0.0.0.0/0 an und richte einen DNS Resolver auf dem Server ein. Für reine KI-Nutzung reicht es meist, nur das interne Subnet zu tunneln.

Typische Stolpersteine

  1. Falscher Netzwerkadapter in PostUp/PostDown: eth0 ist nicht immer richtig. Prüfe mit ip link, wie Dein Interface heisst.

  2. IP Forwarding nicht aktiviert: Ohne diese Einstellung leitet der Server keinen Traffic in Dein Heimnetz weiter.

  3. Firewall blockt UDP 51820: Der Port muss im Server und ggf. im Router offen sein.

  4. Falsche AllowedIPs: Wenn nur Teile des Netzes erreichbar sind, liegt das meist an einer zu engen AllowedIPs Konfiguration.

  5. Public Keys vertauscht: Server und Client müssen jeweils den public key des Gegenübers kennen. Vertauschungen führen zu stillen Verbindungsfehlern.

  6. Kein PersistentKeepalive: Hinter Carrier Grade NAT oder manchen Routern bricht die Verbindung ohne regelmässige Pakete ab.

  7. DynDNS statt fester IP: Wenn sich Deine öffentliche IP ändert, nutze eine Domain. Der Client braucht dann keinen IP Wechsel, nur ein regelmässiges DNS Update.

  8. Schlüssel nicht sicher aufbewahrt: Private Keys sollten niemals per Mail oder Chat geteilt werden. Verliert ein Gerät den Schlüssel, entferne den Peer sofort.

  9. MTU Probleme: In manchen Netzen brauchst Du eine angepasste MTU. Der Standardwert ist 1420, bei Problemen probiere 1380 oder 1360.

  10. Konflikte mit anderen VPNs: Mehrere aktive VPN Verbindungen können Routing Konflikte verursachen. Deaktiviere andere VPNs zum Testen.

Hardware, Kosten und Sicherheit

WireGuard selbst braucht kaum Ressourcen. Selbst ein Raspberry Pi 3 ist schon schnell genug für einige Clients. Wenn Du gleichzeitig KI Workloads auf demselben Gerät laufen lässt, brauchst Du mehr RAM und CPU. Für einen reinen VPN Server genügt ein günstiger VPS oder ein alter Mini PC.

Kosten entstehen primär für Hosting oder Strom. Ein kleiner Cloud Server liegt oft bei zwei bis fünf Euro pro Monat. Bei einem Raspberry Pi im Heimnetz fallen nur Stromkosten an, meist unter einem Euro monatlich. Die Software selbst ist Open Source und kostenlos.

Sicherheitstechnisch ist WireGuard sehr solide. Achte trotzdem auf regelmässige Updates, starke Firewall Regeln und sichere Schlüssel. Öffne nur UDP 51820 und schliesse alles andere, was nicht nötig ist. Mehr dazu findest Du unter Firewall.

FAQ

  1. Ist WireGuard kostenlos?
    Ja, es ist Open Source und kostenlos nutzbar.

  2. Ist WireGuard sicherer als OpenVPN?
    Es verwendet modernere Kryptographie und hat deutlich weniger Quellcode, was die Prüfung einfacher macht.

  3. Brauche ich Port-Forwarding für WireGuard?
    Ja, wenn Du einen Heimserver nutzt. Bei einem VPS mit öffentlicher IP normalerweise nicht.

  4. Kann ich WireGuard auf meinem Smartphone nutzen?
    Ja, es gibt offizielle Apps für Android und iOS.

  5. Funktioniert WireGuard hinter Carrier Grade NAT?
    Ja, meistens. PersistentKeepalive hilft, die Verbindung aufrechtzuerhalten.

  6. Wie viele Clients kann ein WireGuard Server bedienen?
    Das hängt von der Hardware ab. Bei geringem Traffic sind einige dutzend problemlos möglich.

  7. Muss ich den Server immer eingeschaltet lassen?
    Ja, wenn Du jederzeit Zugriff haben möchtest.

  8. Kann ich meinen gesamten Internetverkehr tunneln?
    Ja, setze AllowedIPs auf 0.0.0.0/0 und stelle sicher, dass MASQUERADE korrekt funktioniert.

  9. Was ist, wenn meine öffentliche IP wechselt?
    Nutze ein DynDNS System, das Deine Domain aktuell hält. Der Client merkt den Wechsel meist von allein.

  10. Ist WireGuard gut für KI-Services geeignet?
    Ja, Du greifst einfach auf interne IPs wie im Heimnetz zu, ohne Services zu veröffentlichen.

  11. Wie entferne ich einen verlorenen Peer?
    Lösche den [Peer] Block in der Server Konfiguration und starte wg-quick neu.

  12. Muss ich den Client bei jeder Verbindung neu konfigurieren?
    Nein, die Konfigurationsdatei wird gespeichert und kann per QR Code oder Datei schnell auf neue Geräte übertragen werden.

Quellen

  • WireGuard offizielle Webseite: wireguard.com
  • WireGuard Whitepaper von Jason A. Donenfeld
  • Ubuntu Community Wiki: WireGuard
  • Ollama offizielle Dokumentation: ollama.com
  • IETF RFC über WireGuard und Noise Protocol Framework
Zurück zum KI Blog
Share:

Nächster Artikel in Self-Hosting

Weiterlesen
Proxmox VE installieren

Ähnliche Beiträge