
Kann ich noch einmal meine Liebe zu [WireGuard] ausdrücken und hoffen, dass es bald zusammengeführt wird? Vielleicht ist der Code nicht perfekt, aber ich habe ihn überflogen und im Vergleich zu den Schrecken von OpenVPN und IPSec ist es ein Kunstwerk.
Linus Torvalds, auf der Linux Kernel Mailing List
Ich bin sicher, dass viele bereits von Wireguard gehört haben. Einige fühlten es sogar live. Mir hat es in der Produktion sehr gut gefallen, sowohl in Bezug auf die Leistung als auch in Bezug auf die einfache Konfiguration. Ja, es gibt keine Millionen mysteriöser Konfigurationen für alle Gelegenheiten wie OpenVPN und XFRM + StrongSwan in IPSEC VPN. Es ist einfach und prägnant sowohl im Code als auch in Konfigurationen. Es wird noch nicht mutig und ungeschickt werden. Kurz gesagt, eine so positive Version des Szenarios "Brennen Sie das Erbe und schreiben Sie alles richtig".
Ich habe beschlossen, keine weitere Anleitung zu schreiben, "wie ich Wireguard installiert habe", sondern einige nützliche Dienstprogramme zu teilen. Einige mit einer für meinen Geschmack sehr erfolgreichen Benutzeroberfläche, die für Dienste mit vielen Benutzern geeignet ist. Wir werden die Verwendung dieses VPN für die Kommunikation zwischen Knoten in verschiedenen Kubernetes-Clustern, mehrere Web-GUIs zur Generierung und einige nützliche Ressourcen analysieren.
Warum wird es überhaupt gebraucht?
Die Schlüsselfrage. Eines der coolsten Dinge an ihm ist, dass er sehr produktiv ist. In den meisten Fällen gibt es eine geringere Latenz und einen höheren Durchsatz bei gleicher CPU-Auslastung. Wenn Sie für die aufgewendeten Ressourcen bezahlen oder planen, virtuelle Maschinen unter Berücksichtigung von Spitzenlasten zu mieten, sparen Sie mit dieser Art von VPN auch Geld. Ich denke, es ist nicht notwendig zu erklären, warum es schlecht ist, den Verkehr über offene Netzwerke zwischen einzelnen Knoten zu lenken.
Quelle: www.wireguard.com/performance
Darüber hinaus ist anzumerken, dass es seit Linux 5.6 im Kernel enthalten ist und seit dem Frühjahr dieses Jahres auch im Hauptzweig des Android-Kernels enthalten ist, wodurch wir auf Mobiltelefonen eine hervorragende Energieeffizienz erzielen ... Allerdings muss ich sagen, dass er den Akku des Telefons vorher nicht besonders belastet hat.
Kilo - Wireguard für Kubernetes
Sehr oft haben Unternehmen, die über dem Durchschnitt liegen, Situationen, in denen sie mehrere verschiedene Clouds verwenden müssen. Die Gründe sind unterschiedlich - Fehlertoleranz, gute Präsenz in der Region und niedrige Pings. Manchmal gelten die Preise für bestimmte Produkte. Sie können beispielsweise das Frontend und die Hauptlogik auf Ihren eigenen Servern ausführen und GPU-hungrige Aufgaben an AWS-Instanzen auslagern.
Wie es funktioniert? Kilo benötigt auf allen Knoten ein Wireguard-Kernelmodul. Wenn Sie Kernel verwenden, die neuer als 5.6 sind, befindet sich das Modul bereits im Hauptzweig und Sie müssen nichts finalisieren. Als Nächstes wird der Kilo-Agent "kg" auf jedem Knoten im Cluster ausgeführt und richtet private und öffentliche Schlüssel zum Einrichten eines VPN ein. Verkehrsroutingregeln zwischen verschiedenen Regionen werden ebenfalls automatisch konfiguriert. Kilo kann auch mit anderen Netzwerklösungen für Cluster wie Flannel zusammenarbeiten. Gleichzeitig sorgt Kilo für die Kommunikation zwischen den Regionen, und Flannel kümmert sich um den Verkehr an einem Ort.
Beim Erstellen einer Netzwerktopologie wird auf topology.kubernetes.io/region zurückgegriffen . Sie können Regionen jedoch auch manuell markieren.
Bedarf:
- Kernel neuer 5.6 oder separates Wireguard-Modul
- Weiße IP an den Knoten, um eine direkte Verbindung zwischen ihnen zu organisieren.
Weitere Informationen finden Sie im Entwicklergespräch des letzten Jahres in den Kubernetes-Foren in Seoul und in der Dokumentation .
wg-gen-web
Was heißt "noch ein Konfigurationsgenerator". Aber sehr angenehm zu arbeiten. Der Hauptunterschied im Ansatz besteht darin, dass der Autor nicht versucht, die Konfiguration eines laufenden Dienstes im laufenden Betrieb zu bearbeiten, sondern nur eine praktische Benutzeroberfläche zum Generieren von Regeln bereitstellt. Dann implementieren Sie selbst das Update der Konfigurationen nach Ihrem Geschmack.
Hauptmerkmale - generiert bequeme QR-Codes für mobile Clients und sendet alle erforderlichen Daten für die Verbindung mit der E-Mail des Clients. Na ja, natürlich dockerisiert. Das Repository ist hier .
Die Bereitstellung ist ziemlich einfach:
docker run --rm -it -v /tmp/wireguard:/data -p 8080:8080 -e "WG_CONF_DIR=/data" vx3r/wg-gen-web:latest
Unterraum
Eine weitere GUI für die einfache Arbeit mit vielen Clientgeräten.
Haupteigenschaften:
- Single Sign-On mit SAML. Sie können unter Google-Konto gehen.
- Hinzufügen und Entfernen von Geräten mit wenigen Klicks
- Generierung individueller Konfigurationen für jedes Gerät. Nun, der QR-Code natürlich.
- Verschlüsseln wir HTTPS sofort und leiten es automatisch zu Port 443 um
Einfache Bereitstellung für VPS. Wir haben sie übrigens. Wir können schlafen)
Der Wireguard muss auf dem Server installiert sein und die Ports müssen offen sein: 80 / tcp, 443 / tcp, 51820 / udp (WireGuard). In diesem Fall müssen Sie das Standard-dnsmasq entfernen, da es im Container gestartet wird.
Dann ist alles ziemlich typisch, ersetzen Sie nur --env SUBSPACE_HTTP_HOST durch Ihre Domain:
# Your data directory should be bind-mounted as `/data` inside the container using the `--volume` flag.
$ mkdir /data
docker create \
--name subspace \
--restart always \
--network host \
--cap-add NET_ADMIN \
--volume /usr/bin/wg:/usr/bin/wg \
--volume /data:/data \
--env SUBSPACE_HTTP_HOST=subspace.example.com \
subspacecloud/subspace:latest
$ sudo docker start subspace
Das Repository ist hier .
Anstelle von Schlussfolgerungen
Wenn Sie dieses VPN noch nicht ausprobiert haben, kann ich es nur empfehlen. Oft ist er in der Lage, nicht sehr leistungsfähige Hardware wiederzubeleben, die unter Last früher nicht fertig werden konnte. Es ist auch nicht sehr schwer zu konfigurieren. Die Hauptaufgabe besteht zwar immer noch darin, gerade, vorkonfigurierte Tunnel zu durchbohren. Dynamische Konfigurationen stehen ihm nicht im üblichen Sinne zur Verfügung. Ein Preis für Einfachheit und Leistung.
Übrigens, wenn Sie es noch nicht wissen, ist wireguard bereits in der Beta-Version von RouterOS 7.1 von MikroTik enthalten. Sie können es jetzt versuchen, aber nach meinen Gefühlen ist es immer noch feucht.
Nun, traditionell kann ich Sie einladen, zu versuchen, Wireguard auf unserem VPS bereitzustellen... Zum Beispiel, um einen Teil Ihres Heimnetzwerkverkehrs in die Schweiz oder in die Niederlande zu verpacken. Wir haben viele verschiedene Standorte und die Preispolitik ist für solche Aufgaben sehr angenehm.
Wie ich bereits sagte, ist Wireguard sehr ressourceneffizient, sodass eine minimale Konfiguration mit 1 Kern und 1 GB RAM mehr als ausreicht, um eine große Anzahl von Clients zu unterstützen. Die Preise sind auch ziemlich menschlich:
- Standort in Amsterdam, London, Frankfurt - 503 ₽ / Monat
- Und am Standort Moskau mit einem etwas einfacheren Prozessor - 240 ₽ / Monat.
