Was fehlt in diesem Client-zu-Client-OpenVPN-Setup?

Was fehlt in diesem Client-zu-Client-OpenVPN-Setup?

Ich konnte einen OpenVPN-Server mit mehreren Clients mit statischen IPs einrichten. Die statische IP wird durch Hinzufügen einer Zeile wie ifconfig-push 192.168.254.6 192.168.255.1im CCD für jeden der Clients festgelegt. Ich kann vom Server aus jeden dieser Clients per Ping oder SSH erreichen. In meiner Serverkonfiguration habe ich (unter anderem) die folgenden Zeilen:

server 192.168.255.0 255.255.255.0

Und

route 192.168.254.0 255.255.255.0

Was ich jetzt versuche, ist, per SSH oder Curl von einem Client zum anderen zu wechseln. Nachdem ich die Dokumentation gelesen hatte, fügte ich die Zeile client-to-clientzur Konfiguration hinzu. Mir ist aufgefallen, dass beim Neustart der Server und erneuten Verbinden der Clients die folgende Zeile ip routezu meinen Clients hinzugefügt wurde:

192.168.255.0/24 via 192.168.255.1 dev tun0

Ich scheine es so zu verstehen, dass es dem Client anzeigt, dass jede Adresse 192.168.255.Xzum VPN-Server gehen würde. Und tatsächlich habe ich versucht, dies zu überprüfen, indem ich Folgendes ausgeführt traceroute 192.168.255.30und erhalten habe:

traceroute to 192.168.255.30 (192.168.255.30), 30 hops max, 60 byte packets
 1  192.168.255.1 (192.168.255.1)  11.454 ms  14.491 ms  14.493 ms

Die anderen Clients, mit denen ich mich verbinden möchte, haben jedoch Adressen wie 192.168.254.Xdiese. Ich glaube, ich übersehe etwas und weiß nicht genau, was. Ich habe versucht, diese Route manuell hinzuzufügen:

ip route add 192.168.254.0/24 via 192.168.255.1 dev tun0

Das würde für mich bedeuten, dass auch Adressen wie 192.168.254.X über den VPN-Server laufen. Wenn ich das aber mache, traceroute 192.168.254.30sind die Ergebnisse anders:

traceroute 192.168.254.30
traceroute to 192.168.254.30 (192.168.254.30), 30 hops max, 60 byte packets

Das kann ich auch vom Client-Rechner aus, ping 192.168.255.1aber ich kann keine anderen Clients im Bereich 254 anpingen, wie z . B. ping 192.168.254.30.

Meine Netzwerkkenntnisse sind recht begrenzt. Was fehlt, um einem Client 192.168.254.30den Zugriff auf Dienste eines anderen Clients zu ermöglichen?192.168.254.32

Aktualisieren:Ich habe einen neuen Client mit dem VPN verbunden, dieses Mal in der CCD-Datei eine IP im Bereich 192.168.255.X zugewiesen und dann versucht, Traceroute von dem Client aus auszuführen, mit dem ich getestet habe. Ich kann auch mit diesem Client im Bereich 255 keine Verbindung herstellen. Außerdem passiert Folgendes, wenn ich Traceroute ausführe.

Dieser neue Client hat 192.168.255.22. Wenn ich das in meinem Testclient mache, erhalte ich traceroute 192.168.255.3:

traceroute to 192.168.255.3 (192.168.255.3), 30 hops max, 60 byte packets
 1  192.168.255.1 (192.168.255.1)  11.481 ms  21.192 ms  21.472 ms

Dasselbe passiert für IPs 4, 5, 6 ..., die keine Clients haben, bis ich herausfinde, 22welche die IP des neuen Clients ist. In diesem Fall erhalte ich Folgendes traceroute 192.168.255.22:

traceroute to 192.168.255.22 (192.168.255.22), 30 hops max, 60 byte packets

Warum passiert das?

Antwort1

Es klingt, als würden Sie versuchen, den Verkehr zwischen verschiedenen Subnetzen über den OpenVPN-Server zu leiten. Dies ist möglich, aber Sie müssen einige zusätzliche Änderungen an Ihrer OpenVPN-Konfiguration vornehmen.

Als Erstes müssen Sie beachten, dass die serverDirektive in Ihrer OpenVPN-Konfigurationsdatei das Subnetz definiert, das der Server selbst verwenden wird. In Ihrem Fall wird der Server das Subnetz verwenden . Dies bedeutet, dass den Clients IP-Adressen in diesem Bereich 192.168.255.0/24zugewiesen werden .192.168.255.X

Die routeDirektive hingegen definiert eine Route für den Datenverkehr von den OpenVPN-Clients zu einem bestimmten Subnetz. In Ihrem Fall routeteilt die Direktive dem OpenVPN-Server mit, dass der Datenverkehr von den Clients an das 192.168.254.0/24Subnetz weitergeleitet werden soll.

Dies reicht jedoch nicht aus, damit Clients über verschiedene Subnetze hinweg miteinander kommunizieren können. Sie müssen pushIhrer OpenVPN-Serverkonfigurationsdatei auch eine Anweisung hinzufügen. Diese Anweisung weist den OpenVPN-Server an, Routen an die Clients zu senden, damit diese wissen, wie sie den Datenverkehr an andere Subnetze weiterleiten müssen.

Hier ist ein Beispiel, wie die Push-Direktive in Ihrer Konfigurationsdatei aussehen könnte:

push "route 192.168.254.0 255.255.255.0"

Diese Anweisung weist den OpenVPN-Server an, eine Route an die Clients zu senden und sie anzuweisen, den Datenverkehr 192.168.254.0/24über den OpenVPN-Server zum Subnetz zu leiten.

Sie müssen außerdem sicherstellen, dass die client-to-clientDirektive in Ihrer Serverkonfiguration aktiviert ist. Diese Direktive weist den OpenVPN-Server an, Clients die direkte Kommunikation untereinander zu gestatten, ohne dass ihr Datenverkehr über den Server geleitet werden muss.

Nachdem Sie diese Änderungen an Ihrer Konfiguration vorgenommen haben, sollten Sie Ihre Clients mit dem OpenVPN-Server verbinden und über verschiedene Subnetze hinweg miteinander kommunizieren können.

Es ist zu beachten, dass die client-to-clientDirektive nur Clients erlaubt, miteinander zu kommunizieren, die dasselbe Subnetz verwenden. Wenn ein Client beispielsweise eine IP-Adresse in diesem 192.168.255.XBereich hat, kann er nur mit anderen Clients kommunizieren, die ebenfalls IP-Adressen in diesem 192.168.255.XBereich haben. Damit Clients in verschiedenen Subnetzen miteinander kommunizieren können, müssen Sie die Push-Direktive wie oben beschrieben verwenden.

verwandte Informationen