WireGuard: geteilter Tunnel ohne Standardroute einrichten
Ein geteilter Tunnel ist die Präfixliste, die Sie weglassen. Tragen Sie die entfernten Bereiche beim Client-Peer ein, die Client-Adresse beim Server-Peer, und lesen Sie dann die Routen.
Ein geteilter Tunnel wird dadurch definiert, was Sie weglassen, und WireGuard trifft diese Entscheidung in einem einzigen Feld. AllowedIPs beim Client-Peer wählt zugleich aus, welche Ziele durch den Tunnel gehen, und filtert, welche inneren Quelladressen akzeptiert werden, und wg-quick macht dieselbe Liste zu Host-Routen. Ist die Liste falsch, verschluckt der Tunnel entweder alles oder trägt nichts.
Zuerst die Präfixliste festlegen
Schreiben Sie die Ziele auf, die den Tunnel nutzen müssen, bevor Sie eine Konfigurationsdatei anfassen. Büro-Subnetze, ein Datenbankbereich, ein Managementnetz: Jedes ist ein Präfix mit einem Grund. Alles, was nicht auf der Liste steht, bleibt auf dem physischen Weg, und genau das ist der Sinn des Entwurfs.
Enthält die Liste 0.0.0.0/0 oder ::/0, haben Sie einen vollständigen Tunnel gebaut und sollten das sagen, weil die Fehlermodi und DNS-Erwartungen anders sind.
Halten Sie die Liste kurz genug, dass ein Prüfer sie später mit der Routing-Tabelle abgleichen kann.
Client-Konfiguration: Peer, AllowedIPs, DNS
Der Interface-Block des Clients enthält seine eigene Tunneladresse und den privaten Schlüssel. Der Peer-Block enthält den öffentlichen Schlüssel des Servers, den Endpunkt und die Präfixe aus Schritt eins:
[Interface]
Address = 10.9.0.2/32
PrivateKey = <client-private-key>
DNS = 10.20.0.53
[Peer]
PublicKey = <server-public-key>
Endpoint = vpn.example.net:51820
AllowedIPs = 10.20.0.0/16, 10.30.0.0/24
PersistentKeepalive = 25
AllowedIPs auf dem Client ist die Menge der entfernten Ziele, nicht die eigene Adresse des Clients. Die DNS-Zeile wirkt nur über die Resolver-Integration von wg-quick, daher ignoriert ein Host ohne Unterstützung für resolvconf oder systemd-resolved sie. PersistentKeepalive hält eine NAT-Zuordnung am Leben und ist auf einem direkten Weg unnötig.
Kommentieren Sie jedes Präfix mit dem Dienst, dem es dient, sonst ist die nächste Änderung ein Ratespiel.
Server-Konfiguration: die umgekehrte Sicht
Auf dem Server steht der Peer-Eintrag für den Client, seine AllowedIPs sind also die Tunneladresse des Clients, meist ein /32. Es ist nicht das Büro-Subnetz. Die Liste des Clients in den Server-Eintrag zu kopieren ist der häufigste Fehler beim geteilten Tunnel, und er erweitert entweder den Zugriff oder bricht die innere Quellprüfung beim Handshake.
Die eigene Interface-Adresse des Servers und die Routen, die er zum Büro braucht, sind von jedem Peer-Eintrag getrennt.
Zwei Dateien, zwei Sichtweisen, ein Satz Präfixe, auf beide verteilt.
Hochfahren und die Routen lesen
Starten Sie das Interface mit dem unterstützten Manager und schauen Sie dann, was er installiert hat, statt was Sie beabsichtigt haben. wg-quick leitet Routen aus AllowedIPs ab; setzt das Profil Table = off, wird nichts installiert und das Routing liegt bei Ihnen. Lesen Sie die Route für jedes Präfix und bestätigen Sie, dass sie auf das WireGuard-Interface zeigt. Eine leere Routenliste bedeutet meist, dass das angewandte Profil nicht das von Ihnen bearbeitete ist.
Prüfen Sie auch die Handshake-Zähler, denn ein Peer ohne Handshake hat ein Schlüssel-, Endpunkt- oder Erreichbarkeitsproblem und kein Routingproblem.
Notieren Sie den genauen Befehl, den Sie verwendet haben, denn die nächste Person wird ihn unter Druck ausführen.
Beide Seiten prüfen, dann den Rollback festhalten
Testen Sie eine private Adresse, ihren internen Namen und ein Ziel, das direkt bleiben muss. Funktioniert die private Adresse und verlässt das direkte Ziel nun den Tunnel, ist die Präfixliste zu breit. Schlägt der Name fehl, während die Adresse funktioniert, hat die DNS-Zeile nicht gegriffen. Der Rollback ist ein Befehl, und er gehört in dieselbe Notiz.
Bestätigen Sie nach einer erneuten Verbindung, dass die Routen noch da sind, denn ein Manager, der das Profil erneut anwendet, kann manuelle Routen ersetzen.
Halten Sie einen Konfigurationsverantwortlichen, denn zwei Manager, die dasselbe Interface erzeugen, werden sich irgendwann widersprechen. Das wg-quick-Handbuch dokumentiert das Routen- und DNS-Verhalten, das es bietet.