OpenVPN macht Redirect-Gateway optional

15

Ich betreibe derzeit einen OpenVPN-Server für mehrere Clients. Der gesamte Datenverkehr wird über das VPN geleitet (es ist als Gateway eingerichtet; drücken Sie "Redirect-Gateway def1").

Bisher funktioniert alles gut. Ich möchte jedoch einige Server mit diesem virtuellen privaten Netzwerk verbinden, ohne dass diese Server den OVPN-Dämon als Gateway verwenden.

Diese Server müssen sowohl über ihr WAN als auch über ihre LAN-IP-Adresse erreichbar sein. Bestimmte Dienste sind nur von der LAN-Seite zugänglich.

Gibt es eine Möglichkeit für einen Client, die Push-Redirect-Gateway-Option zu ignorieren?

Herzliche Grüße, Tuinslak

Tuinslak
quelle
Tolle Frage ... Ich habe mir genau das Gleiche gefragt.
Antoine Benkemoun

Antworten:

15

Fügen Sie einfach "route-nopull" zur openvpn-Konfiguration des Clients hinzu, und alle Push-Befehle vom Server werden ignoriert. Um Zugriff auf das lokale Netz zu erhalten, müssen Sie jetzt z. B. "route 192.168.5.0 255.255.255.0" zur Client-OpenVPN-Konfiguration hinzufügen, wenn das lokale Netz, zu dem Sie eine Verbindung herstellen möchten, 192.168.5.0/24 ist.


quelle
Dies verursacht einige Fehler bei der Verbindung, funktioniert aber wie beabsichtigt :)
Brian Ramsey
Die beste Option heutzutage (2.4 oder neuer) wärepull-filter ignore redirect-gateway
mwfearnley
8

Wenn "Redirect-Gateway" für einige, aber nicht alle Clients erforderlich ist, fügen Sie eine "Client-Konfigurations-Verzeichnis" -Option hinzu, z

  client-config-dir / etc / openvpn / clients

und in dieses Verzeichnis legen Sie Dateien für jeden Client-CN, zB Datei Client1enthalten würde

  Push-Reset

Auf diese Weise erhalten die Server standardmäßig kein "Redirect-Gateway" -Pushing.

HTH

Janjust
quelle
1
Ich vermute, dies würde jede Push-Option (einschließlich DNS-Server) zurücksetzen.
Tuinslak
2

Ersetzen Sie einfach das Standardgateway in --up, und schon sind Sie fertig. Sie müssen nicht einmal etwas in --down tun (glaube ich) oder es einfach auf up.sh setzen.

in der client.conf

up up.sh

in up.sh (chmod + x)

#!/bin/bash
/sbin/ip route replace default 1.2.3.4

Dabei ist 1.2.3.4 das Standardgateway Ihres Clients

Aleksandar Ivanisevic
quelle
1

Hierfür gibt es ab Dezember 2016 eine neuere, einfachere Lösung.

Sie müssen nur diese Zeile in Ihre OpenVPN-Konfiguration einfügen:

pull-filter ignore redirect-gateway

Wörtlich werden die vom Server abgerufenen Optionen gefiltert und ignoriert redirect-gateway.

(Laut https://community.openvpn.net/openvpn/wiki/IgnoreRedirectGateway wurde dies in OpenVPN 2.4 hinzugefügt, das im Dezember 2016 veröffentlicht wurde.)

mwfearnley
quelle
-1

Entfernen Sie die Option "Redirect-Gateway" in der Client-Konfigurationsdatei. Das Standard-Gateway des Clients wird nicht mehr geändert. getestet unter Archlinux / OpenVPN 2.3.2.

Shaozx
quelle
Ich denke, diese Lösung würde davon abhängen, ob das Gateway auf dem Client konfiguriert oder vom Server gepusht ist.
Mwfearnley