Wie lehne ich Routen ab, die vom OpenVPN-Server gepusht wurden?

27

Wenn ich eine OpenVPN-Client-Verbindung über das Internet zu unserem OpenVPN-Unternehmensserver herstelle, werden mehrere statische Routen übertragen. Leider unterbrechen diese Routen eine gewisse Konnektivität in meiner lokalen Netzwerkumgebung, da sie mit meinen eigenen Routen kollidieren. Wie kann ich diese Routen ablehnen?

mbaitoff
quelle

Antworten:

30

Die Zeiten sind vergangen, und ab 2017 (OpenVPN 2.4) ist dies mit möglich

pull-filter accept "route 192.168."
pull-filter ignore "route 172."
pull-filter accept "route 1"
pull-filter ignore "route "

Dieses (erfundene Beispiel) ermöglicht das Lernen von Routen, die mit 192.168 beginnen, ignoriert alle 172. Routen, lässt andere Routen auf 1.alles zu und ignoriert dann alle anderen Routen.

redirect-gatewaySie können Folgendes ignorieren :

pull-filter ignore redirect-gateway

Diese Befehle werden Ihrer Client-Konfigurationsdatei hinzugefügt.

Ebenso können Sie das Schlüsselwort verwenden, rejectdas dem VPN-Server mitteilt, dass es nicht akzeptiert wurde. Ich bin mir nicht sicher, ob ich das benutze.

Und schließlich können Sie auch andere Konfigurationsoptionen filtern. Ich habe dies verwendet, um die angebotenen DNS-Server zu ignorieren, da DNS von einem lokalen Server für mich verwaltet wird.

Criggie
quelle
3
Beachten Sie, dass dies nur in OpenVPN 2.4.x funktioniert.
ab77
Arbeitete an OpenVPN 2.4.7 unter Verwendung der OpenVPN-GUI 11.13.0 unter Windows 10, um den Subnetzkonflikt zwischen zwei OpenVPN-Zugriffsservern zu lösen, wobei beide Standardkonfigurationen verwendet wurden, die ich gleichzeitig benötige. Vielen Dank, dass Sie das letzte Stück zur Verfügung gestellt haben, damit es funktioniert!
Flickerfly
24

Nach ausführlichem Studium des openvpnHandbuchs habe ich eine Antwort auf meine Frage gefunden:

Wenn Sie nicht möchten, dass die Routen automatisch ausgeführt werden, sondern von Ihrem eigenen Tool verwaltet werden, verwenden Sie die folgende Option:

   --route-noexec
          Don't add or remove routes automatically.  Instead pass routes to --route-up script using environmental variables.

Wenn Sie alles akzeptieren, was vom Server gesendet wird, mit Ausnahme der Routen, verwenden Sie die folgende Option:

  --route-nopull
          When used with --client or --pull, accept options pushed by server EXCEPT for routes.
          When used on the client, this option effectively bars the server from adding routes to the client's routing table, however note that
          this option still allows the server to set the TCP/IP properties of the client's TUN/TAP interface.
mbaitoff
quelle
2
Zurroute-nopull
Information
1

Sie können keine einzelnen Routen verweigern, aber wenn Sie Zugriff haben Ihre OpenVPN - Konfiguration bearbeiten , dann können Sie den Server effektiver stoppen --pushing jede Konfiguration Ihnen durch alle Instanzen zu entfernen clientoder pullaus der Konfiguration. Sie müssen stattdessen hinzufügen, tls-clientwenn diese Direktive in Ihrer Konfiguration noch nicht vorhanden clientist ( ist nur ein Synonym für pull, tls-client).

Wenn Sie dies tun, verlieren Sie natürlich alle Routen und alle anderen pushEinstellungen, die normalerweise für Sie vorgenommen werden. Sie müssen diese Einstellungen also manuell konfigurieren, nachdem Ihr Tunnel hochgefahren ist.

Mike Insch
quelle
Hey Mike, und wie kann man manuell eine Route zu dem Subnetz konfigurieren, an dem ich interessiert bin? (10.0.0._) Wie kann ich dies in der .opvn-Datei konfigurieren?
Knocte
route 10.0.0.0 255.0.0.0
markhorrocks