Ich verwende OpenVPN sehr gerne. Ich habe mehr als 50 VPNs auf einer Debian-Jessie-Maschine definiert.
Ich habe eine Frage bezüglich der Möglichkeit, eine Route einem Prozess zuzuordnen.
Ich möchte wissen, welche Tun-Schnittstelle welchem OpenVPN-Prozess zugeordnet ist.
Derzeit besteht meine einzige Lösung darin, das Syslog nach einer Zeichenfolge wie zu durchsuchen /ovpn-([^\[]*).*(tun\d+)/
. Dort kann ich beim Booten fast alles abrufen, aber es ist nicht sauber und die Informationen verschwinden, wenn das Protokoll bereinigt wird.
Gibt es also eine Möglichkeit, das Tun-Gerät dem OpenVPN-Prozess zuzuordnen?
Ich kann es nicht finden in/proc/{openvpn process}/*
Antwort1
Wenn die VPNs eine Verbindung zu dedizierten Sites herstellen, warum (a) identifizieren Sie die Schnittstelle dann nicht anhand ihrer IP-Adresse (Sie sollten nicht wissen, welchen internen IP-Bereich jede Site verwendet) oder (b) konfigurieren Sie für jedes OpenVPN eine bestimmte Nummer, z. B. tun100
auf tun150
? Weitere Einzelheiten finden Sie im dev
Argument in der Konfiguration .man openvpn
Antwort2
angesichts dieses BeitragsWie findet man die Verbindung zwischen der TAP-Schnittstelle und ihrem Dateideskriptor?
Ich habe mich für eine Lösung entschieden mitps ax |awk '/[o]penvpn/{print $7" "$1;system("grep iff /proc/"$1"/fdinfo/*")}'