Die Serversoftware zu installieren, ist der kürzeste Teil eines selbst gehosteten VPN, und es ist der Schritt, mit dem die Leute anfangen. Ob der Betrieb funktioniert, hängt davon ab, ob ein Client den Endpunkt erreicht, was dieser Client danach erreichen darf und wie Sie wieder hineinkommen, wenn der Tunnel das ist, was kaputtgegangen ist. Klären Sie alle drei Punkte, bevor der Paketmanager läuft.

Zwei davon sind Entwurfsentscheidungen, und das dritte ist eine Betriebsgewohnheit. Alle drei lassen sich auf dem Papier billiger korrigieren als während einer Störung.

Entscheiden Sie, was Clients erreichen sollen

Ein Fernzugriffsserver braucht eine Route in das private Netz, das er ankündigt, und einen Rückweg für die Antworten, was ihn zu einem Router für dieses Netz macht und nicht nur zu einem Listener. Ein Internet-Ausgangsserver braucht Weiterleitung plus eine Adressierungs- oder Übersetzungsregelung, und ein abgeschlossener Handshake liefert weder das eine noch das andere. Wählen Sie die Aufgabe vor der Topologie, denn die beiden Entwürfe unterscheiden sich bei Routing, Firewall-Regeln und darin, was der Client durch den Tunnel schickt. Ein Server, der beides leisten soll, braucht beide Regelsätze und eine passende Aufteilung der Standardroute des Clients.

Wählen Sie Tunnel- und LAN-Bereiche, die nicht mit Netzen kollidieren können, die Ihre Clients bereits nutzen, denn ein Laptop, der schon 192.168.1.0/24 hält, wird diese Route weiter nutzen, statt einen Tunnel, der dasselbe Präfix ausgibt. Prüfen Sie IPv4 und IPv6 getrennt, denn viele machen das erste richtig und bemerken das zweite nie. Wo der Server hinter einem weiteren Router steht, bestätigen Sie die Erreichbarkeit von außen, statt einer einzelnen Portweiterleitung zu vertrauen, die jede Schicht beschreiben soll.

Identitäten, Schlüssel und ein Weg zurück hinein

Vergeben Sie pro Gerät eine eigene Identität, wo die Software das unterstützt, damit ein verlorener Laptop das Sperren eines Peers bedeutet und nicht den Neuaufbau des Servers. Private Schlüssel gehören in geschützten Speicher und niemals in ein Profil, das in eine Chatnachricht kopiert wird. Der Wiederherstellungsweg ist der Teil, den die Leute überspringen: Konsolenzugang, eine serielle Konsole oder eine Out-of-Band-Management-Schnittstelle, die nicht vom Tunnel abhängt. Ohne sie verwandelt eine schlechte Firewall-Regel eine kleine Änderung in einen Vor-Ort-Termin.

Schreiben Sie das Entfernungsverfahren gleichzeitig mit dem Aufnahmeverfahren. Das Sperren eines Geräts ist ein Vorgang, den Sie irgendwann brauchen werden, und es ist leichter zu beschreiben, solange die Einrichtung noch frisch ist.

Endpunkt zu Hause oder gemietet?

Drei Bedingungen entscheiden zwischen Hosting zu Hause und der Miete einer kleinen Instanz. Die erste ist ob eingehende Verbindungen Ihr Netz überhaupt erreichen können, denn ein carrier-grade übersetzter Uplink oder ein restriktives Gebäudenetz schließt die Option aus. Die zweite ist, ob der Ausgang an einem anderen Ort als Ihrer eigenen Stadt erscheinen muss, denn nur ein gemieteter Endpunkt ändert das. Die dritte ist die Lust auf eine zweite Vertrauensbeziehung, denn ein Hosting-Anbieter wird Teil des Modells und kann den Endpunkt beobachten, selbst wenn er den Verkehr nicht lesen kann.

Wenn die erste Bedingung erfüllt ist und die zweite keine Rolle spielt, ist Hosting zu Hause der kürzere Weg. Ein gemieteter Endpunkt kauft Standort und Verfügbarkeit und nicht von sich aus Privatsphäre.

Beweisen Sie es mit einem Client und einem Neustart

Bringen Sie einen Client hoch, bestätigen Sie die Ressource, die er erreichen soll, und bestätigen Sie, dass er aufhört, das zu erreichen, was er nicht soll. Die Befehle unten zeigen den Peer-Zustand, die vom Server installierten Routen und ob die Weiterleitung aktiviert ist. Führen Sie sie aus, bevor Sie jemand anderen aufnehmen.

wg show
sysctl net.ipv4.ip_forward
ip route get 10.8.0.2
ss -lunp | grep -E ':(51820|1194)'

Ein Peer mit einem frischen Handshake ist verbunden, während ein Peer ohne Handshake nie verhandelt hat, und das sind unterschiedliche Fehler. Eine abgeschaltete Weiterleitung erklärt einen Tunnel, der hochkommt und nichts trägt, also prüfen Sie den Server, bevor Sie dem Client die Schuld geben. Ein fehlender Listener bedeutet, dass der Dienst nicht mit der Konfiguration gestartet ist, die Sie vermuten. Starten Sie den Server dann bewusst neu und wiederholen Sie den ganzen Satz, denn ein Tunnel, der nur bis zum Neustart funktioniert, ist ein häufiges Ergebnis des Testens des glücklichen Pfads.

Halten Sie Endpunkt, Peers, Bereiche und Wiederherstellungsmethode auf einer Seite fest. Diese Seite ist das Runbook, das Sie zum ungünstigsten möglichen Zeitpunkt lesen werden.

Ähnliche Artikel