Die hier gezeigte Anleitung sei eine Ergänzung zur PP-Anleitung.
Zuerst starte ich ein Root-Terminal, um nicht immer wieder das Root-Passwort eingeben zu müssen. Bei mir geht das mit "gksu mate-terminal". (Und wer kein mate-terminal hat, der hat ein gnome-terminal.)
Passworteingaben sind gerade dann nervig, wenn man, besonders zu Beginn, endlos oft ein- und ausloggt. Wer da Bauchschmerzen hat, bricht jetzt ab oder bleibt weiterhin im User-Terminal und stellt ein sudo voran.
In den aktuellen Linux-Versionen ist das Modul gksu vermutlich nicht mehr enthalten. Kurz gksu eintippen und schauen, was passiert. Öffnet sich ein Fenster mit Eingabeschlitz für einen Programmnamen, dann ist gksu installiert und wenn nicht, dann kurz diese Anleitung bis zur Hälfte abarbeiten:
https://board.perfect-privacy.com/posts/27043
Alternativ mal den Befehl
sudo!! probieren (nicht getestet mit Mint 19.x).
Ziel ist es, ein Root-Terminal zu öffnen, welches neue Terminal-Tabs/Fenster ebenfalls mit Root öffnet.
Im Root-Terminal zuerst ins "Arbeitsverzeichnis" wechseln, also dort, wo die Conf-Dateien liegen und dann OpenVPN ausführen. Die PP-Anleitung verwendet /etc/openvpn/ ,ich bevorzuge ein Unterverzeichnis im Homeverzeichnis aus div. Gründen, bzw. nutze mehrere Unterverzeichnisse, also eines für UDP, eines für TCP und noch 4 weitere (in Zukunft) für die Tarnkappenmodi. Ferner habe ich den Conf-Dateien gleichnamige Endung entfernt.
Login Riga:
cd /home/user/vpn/tcp ; openvpn --config riga --script-security 2 --route remote_host --persist-tun --up updown.sh --down updown.sh --route-noexec
Und auch hier bietet sich die
~/.bashrc (für Root) als Hilfe an. Grundsätzlich würde ich eigene Einträge immer ans Ende der Datei setzen.
Ein Beispiel mit 3 Servern:
alias riga='cd /home/user/vpn/tcp ; openvpn --config riga --script-security 2 --route remote_host --persist-tun --up updown.sh --down updown.sh --route-noexec'
alias singapur1='cd /home/user/vpn/tcp ; openvpn --config singapur1 --script-security 2 --route remote_host --persist-tun --up updown.sh --down updown.sh --route-noexec'
alias singapur2='cd /home/user/vpn/tcp ; openvpn --config singapur2 --script-security 2 --route remote_host --persist-tun --up updown.sh --down updown.sh --route-noexec'
echo Hop1-Login: riga singapur1 singapur2
Zum Ende des Edits ein
. ~/.bashrc ausführen, um die Datei auf Inkonsistenz zu prüfen.
Man muss nun nicht unbedingt einen 2. Hop aufbauen, man KANN es. Kann ja sein, man möchte hin und wieder spontan einen zweiten Hop zuschalten, dann braucht es keine erneute Einwahl von Nr. 1.
Gegen Ende des ersten Hop1-Logins steht z.B. Zeile:
updown.sh: HINT: openvpn --config X --script-security 2 --route remote_host --persist-tun --up updown.sh --down updown.sh --route-noexec --setenv hopid 2 --setenv prevgw 10.1.164.3
Für den 2. Hop und folgende hab ich noch keine geschmeidige Lösung gefunden, daher ein Copy/Paste aus der Hint-Zeile in die Befehelszeile eines weiteren Root-terminalfensters/tab, z.B.:
openvpn --config stockholm1 --script-security 2 --route remote_host --persist-tun --up updown.sh --down updown.sh --route-noexec --setenv hopid 2 --setenv prevgw 10.1.164.3
Die Intranetadresse am Ende am Zeile ist der VPN-Gateway der aktuellen VPN-Verbindung.
Nun bräuchte es eine knuffige Lösung, wie man die VPN-Gateway-Adresse des jeweils letzten Hops auslesen kann.
Was sagt der Profi?
____
Nachtrag 1:
Wer lieber das Verzeichnis /etc/openvpn/ nutzen möchte, legt dort die Unterverzeichnisse udp / tcp / usw an und auch nur derjenige, der etwas anderes als UDP-Protokoll (Standard) nutzen möchte.