Bestimmte Prozesse auf OpenVPN-Verbindung beschränken?

Bestimmte Prozesse auf OpenVPN-Verbindung beschränken?

Gibt es eine Möglichkeit, einen bestimmten Prozess zur Verwendung einer OpenVPN-Verbindung zu zwingen, allen anderen Prozessen auf einem System jedoch die Verwendung der Standardnetzwerkverbindung unter Ubuntu Linux zu erlauben?

Ich habe eine benutzerdefinierte Python-Anwendung in AWS laufen, die ich in einen externen PostgreSQL-Dienst integrieren möchte. Der Dienst stellt ein OpenVPN-konfiguriertes VPN bereit, sodass ich auf deren PostgreSQL-Server zugreifen kann.

So wie ich es verstehe, zwingt OpenVPN standardmäßig den gesamten Netzwerkverkehr auf dem Server, das VPN zu verwenden, was normalerweise genau das ist, was Sie wollen. Da meine Anwendung jedoch in AWS ausgeführt wird, das seine eigene Sicherheit verwaltet und über ein optimiertes Netzwerkrouting verfügt, werde ich, wenn ich meinen Server so konfiguriere, dass er für alles dieses VPN verwendet, meinen gesamten Datenverkehr in diese externe Verbindung zwingen, was alles verlangsamt und wahrscheinlich zu Sicherheitsproblemen beim Zugriff führt, da der Zugriff des Servers auf meine anderen AWS-Ressourcen dann so aussieht, als käme er von außerhalb meines Kontos.

Was ist die einfachste Möglichkeit, eine VPN-Netzwerkschnittstelle zu erstellen und gleichzeitig alle Prozesse außer einem bestimmten daran zu hindern, sie zu verwenden?

Antwort1

Sie können den Befehl in der Clientkonfiguration verwenden, route-nopullum zu verhindern, dass Routeneinträge erstellt werden. Danach können Sie den Eintrag, der auf den Datenbankserver verweist, manuell hinzufügen. Auf diese Weise verwendet alles, was auf den DB-Server zugreift, VPN, und alle anderen verwenden die Routen, die sie zuvor verwendet haben.

Angenommen, der Datenbankserver befindet sich beispielsweise unter 192.168.111.111 (hinter dem VPN-Server), müssen Sie Folgendes in Ihre Client-Konfiguration aufnehmen:

route-nopull
route 192.168.111.111 255.255.255.255

verwandte Informationen