linux bash-script VPN-Steuerung für die Konsole/Terminal Variante

Vielleicht sollte dein Skript ergänzt werden, dass bei weiterm Hop die virtuelle Netzwerkkarte dazu in den ufw-Regeln freigegeben werden sollte wie unten. Ist Wichtig bei aktiviertem Killswitch. Anderfalls sperrt dieser weiter Hops.
Danke, ist jetzt aktualisiert :)
 
Ich habe jetzt "macchanger" hinzugefügt, damit lässt sich die Mac-Adresse ändern (Menü 5).
Ich habe eingestellt das eine zufällige Adresse genommen wird, im Terminal/Konsole kann auch manuell eine Adresse eingegeben werden.

Damit die Mac-Adresse geändert wird, muss das Netzwerk abgeschaltet werden, das wird bei mir mit
"nmcli" gemacht. Am oberen teil vom Script kann der Befehl für das Starten und Stoppen vom Netzwerk angepasst werden.
NETZMANAGER_START=
NETZMANAGER_STOP=

Oder auskommentieren, dann muss aber das Netzwerk manuell gestoppt und gestartet werden.

Die geänderte Adresse ist nur Temporär, nach einem Neustart zb. ist sie wieder normal.
 
Für den Fall das es welche gibt, die das Script benutzen...
Ich habe das etwas überarbeitet,
Config.:
Die Fenster-ID müssten nicht mehr angepasst werden
SCRIPT_DIR und SCRIPT_NAME wurden entfernt
Die Config-Abteilung sollte jetzt etwas übersichtlicher sein und muss nicht mehr so viel angepasst werden

Es wurden paar Sachen entfernt die nach meiner Meinung überflüssig wurden.
(Die Option "Menü in tmux starten" und was dazu gehörte) < tmux an sich bleibt
 
Ich habe jetzt eine Überwachung der VPN mit eingebaut, dies ist unter dem Menüpunkt 6)
Dies ist kein Ersatz für eine Killswitch.

Ich habe dafür 3 Auslöser, einmal ob der Prozess openvpn läuft,
danach schaut er in der Ausgabe von openvpn die das Script gestartet hat, nach 2 weiteren Auslösern die ich bis jetzt hatte:
Exiting due to fatal error
und
Recursive routing detected

Andere Meldung bei Verbindungsabbrüchen von openvpn hatte ich bisher nicht.
Ich habe erstmal vom anpingen der PP-Server abgesehen, da ich die Server nicht mit Pings voll spammen wollte und da ich nicht weis,
wann die Sicherheits-Tools der Server mich wegen Belästigung aussperren :eek:
...
Dies Prüft er alle 11 Sekunden, wenn er neu starten möchte versucht er alle 10s. neu zu connecten (der eingetragene Server unter "HAUPTVERBINDUNG").
Nachdem 10 versuche einer neuen Verbindung fehlgeschlagen ist, wechselt er zum nächsten Server, den ERSATZSERVER_1
Dort gibt es wieder 10 Versuche, klappt auch das nicht wechselt er zum ERSATZSERVER_2 für weitere 10 mal.
Und wenn das nicht klappt Fängt er wieder von vorne an, das macht er so lange bis er sich Verbunden hat.

Zur zeit läuft er nicht im Hintergrund, das ist aber noch geplant...
also muss das Script immer an sein, damit das läuft, oder man setzt es erstmal manuell in den Hintergrund mit zb. "tmux" oder andere wege.

- Das ist nicht mit dem Client von perfect-privacy kompatibel.
- Da ich seit sehr vielen Vollmonden auf Debian eingeschossen bin und ich nicht wirklich andere linux benutze, kann ich nicht viel dazu sagen,
ob das Script auf anderen Systemen läuft, außer auf Debian und deren Derviantes (auf meinen Laptop läuft das TuxedoOS das auf Ubuntu basiert, da läuft es auch - ubuntu stammt ja auch von Debian ab).
- Ich habe das Script auf "pastebin" ausgelagert, da ich an sonst die Zeichenmenge von 65000 überschreite.
- Wenn ich also Zeit habe werde ich daran weiter arbeiten, es könnten also laufe der Zeit weitere Aktualisierungen kommen.
- Die Überwachung ist nur hop1, das unterstützt also kein MultiHop.
 
So, die vpn Überwachung kann man jetzt im Hintergrund schicken (via tmux).
Dafür sucht sich das Script selber, wenn es Probleme gibt kann man den Pfad auch selber angeben,
bei der Config-Abteilung oben unter der Variable "SCRIPT"

Man hat jetzt die Wahl ob man das Überwachungsskript im Hintergrund schickt oder nicht,
wenn das Überwachungsskript der vpn im Hintergrund läuft kann man weiterhin Einstellungen übernehmen,
für das ganze habe ich eine cache-Datei erstellt wo die Informationen eingetragen werden und das vpn Überwachungsskript dann beim nächsten Reconnect übernimmt.

Der Standort der logs und co. wurden etwas geändert, vorher waren alle Dateien im "/tmp" Verzeichnis (.openvpn-pp*) und jetzt sind die Daten im:
/tmp/.openvpn-pp/
enthalten.
Der Grund dafür ist, das mehr Dateien dazu gekommen sind, um es übersichtlicher zu halten.

Es ist jetzt möglich, wenn das vpn Überwachungsskript im Hintergrund läuft auch einen Reconnect zu erzwingen. (kann bis zu 11 sec dauern, bis er es ausführt)
 
Last edited:
So, das ist jetzt erst mal dass letzte große Update, ich bin soweit fertig,
dies ist eigentlich nicht sehr groß.
Die nächsten Änderungen kommen dann einfach per Aktualisierung ohne neuen Forum-Post da nur noch Feinarbeit kommt, kleine Baustellen die das Script jetzt nicht groß beeinflussen aber ich dennoch geändert haben möchte (zb.: Fehler-Behebung / Optimierung).

- man kann jetzt im Config-Bereich unerwünschte Tools abstellen, mit true ist an und false ist aus, es werden dann die Funktion und die Meldungen abgeschaltet.
- mit dem Argument "-vh" kann das Script jetzt auch die VPN-Überwachung direkt in den Hintergrund gestartet werden, zb für den Systemstart
- eine kleine Dokumentation kommt noch (dies wird im ersten Forumpost aktualisiert und eine help für die Steuerung im Script)
 
Last edited:
Hallo,
danke für Aktualisierungen.
Leider ich erhalte mit der neuesten Version des Skripts erneut die Fehlemeldung:
can't find window: 1
can't find window: 1
Habt ihr eine Idee für den Grund?
 
Ja, das liegt daran, dass bei mir die tmux-fenster mit der ID 1 anfangen und bei unveränderter config mit der ID 0, ich habe eigentlich eine Prüfung eingebaut damit das script selber erkennt ob die ID mit 0 oder 1 anfängt, bei mir als ich das getestet hatte, ging das.
Da hat sich dann wohl ein Fehler eingeschlichen oder so, ich schaue mir das mal an.
 
So, da mich das in letzter zeit störte, dass ich mein Script regelmäßig anpassen musste, da die Server und die IP's sich ändern...

ich habe das Script mal überarbeitet, er braucht jetzt ein eigenes Verzeichnis für die pp configs, ich habe dafür "/root/.pp-vpn" gewählt (kann man auch ändern)

der Zweck warum:
ich habe eine PP-config update eingebaut,
er löscht alle .conf und .zip in dem verzeichnis, läd die daten neu runter und entpackt sie, und läd die passwort.txt in die configs rein.
Daher ist es wichtig, das die updown.sh und password.txt auch in das Verzeichnis kopiert werden
und
die UFW-Killswitch sollte jetzt auch wartungsarmer sein, da das Script jetzt die IP's selber aus den .conf Dateien raus nimmt und in die UFW-Firewall hineinschreibt.

Das Menü für die VPN-Server Auswahl ist jetzt alphabetisch sortiert, da er die .conf Daten zur Auswahl nimmt.

Wichtig: Das alte Script zurück setzen bevor ihr das neue nehmt, andersherum auch (Menü 999 dann 33)
 
Last edited:
Hallo @swirlen,
erstmal danke für dein Script. Ob ich es tatsächlich längerfristig nutzen werde weis ich nocht nicht, momentan verbinde ich mich mit dem Linuxeigenen Netzwerkmanager zum PP-VPN.

Testen wollte ich es trotzdem und es klappt auch alles soweit, sofern ich nur 1 Verbindung auswähle. Multi-Hop klappt leider bei MIR nicht, muss aber dazu sagen das es nicht an deinem Script liegt, denn selbst nach dieser Anleitung:
Kaskadiertes VPN (Multi-Hop) unter Linux kriege ich nur 1 Verbindung zustande.
Die 2. wird zwar aufgebaut laut Terminal aber kein Netzzugriff, kriege dann nen Time_out oder nen DNS_Error.

Bevor die Frage kommt ob ALLES installiert ist -> JA, auch die resolvconf.
Dachte erst es liegt an der ufw, aber auch nach dem testweise abschalten will die 2. VPN-Verbindung nicht.

Wie gesagt, 1 Verbindung ohne Probleme, bei einer 2. wird sie im Terminal zwar als Erfolgreich angezeigt aber kein I-Net.

Hier mal 2 Screenshots:
tmux
View attachment tmux-Ausgabe.png

Im Browser​

View attachment Browser_DNS-Probe-Eror.png

Weis jemand Rat?
 
Bei mir funktionert Multihopping problemlos, allerdings hab ich selber etwas gebastelt für die Kommandozeile, was 100% fehlerfrei funktioniert.
Na lass' mich doch nicht dumm sterben 😄
Nee, Spaß. Ich will es halt nur nachvollziehen warum selbst nach der Anleitung von PP eine Verbindung zwar (scheinbar) aufgebaut wird, ich aber kein Internet habe.

Denn selbst im Terminal mit ping 1.1.1.1 geht nichts raus, ebenso wenig mit ping www.perfect-privacy.com.
Wenn's nen DNS Probleme wäre müsste es doch wenigstens mit der IP funktionieren?
 
Bei mir funktionert Multihopping problemlos, allerdings hab ich selber etwas gebastelt für die Kommandozeile, was 100% fehlerfrei funktioniert.
Na dann lass uns dabei teil haben :)

@Raven
Die UFW war nicht aus, bei dem Bild sieht man zwar das du in den Einstellungen die UFW abgeschaltet hast aber die UFW-Firewall lief, aber das Script ist nur eine Steuerung... daher, Programme, tools, werden nur vom Script gesteuert und es wird nicht von Anfang an beim Start gesagt welches programm statet und welches nicht... oder so.,..

Bei dir war zb. die Steuerung der ufw aus aber laut Status war sie noch aktive...
-Hast du vllt auch noch eine andere Firewall an?
 
Back
Top