Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
18.09.2021, 14:50:37

.
Einloggen mit Benutzername, Passwort und Sitzungslänge

Mitglieder
Statistiken
  • Beiträge insgesamt: 754243
  • Themen insgesamt: 60645
  • Heute online: 584
  • Am meisten online: 2287
  • (22.01.2020, 19:20:24)
Benutzer Online

Autor Thema: [gelöst]  VPN-Verbindung trennen und Netzwerk-Manager auffrischen  (Gelesen 288 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

[gelöst] VPN-Verbindung trennen und Netzwerk-Manager auffrischen
« am: 14.06.2021, 19:02:54 »
Guten Tag.

Arbeitet man mit vielen verschiedenen VPN-Servern, geht der Überblick im Netzwerk-Manager schnell verloren. Ruft man in der Leiste über das entsprechende Icon den Manager auf, so steht ein VPN-Name ganz oben in der Liste, ein weiterer steht in der Mitte, ein anderer wieder ganz unten usw. Manchmal ist es sogar erforderlich, die Liste ganz durchlaufen zu lassen, um den gewünschten VPN-Eintrag in der langen Liste im Netzwerk-Manager zu finden.

Hier schafft ein einfaches Skript Abhilfe, welches die VPN-Verbindung aufbaut und ein anderes, das die VPN-Verbindung wieder trennt, ohne dazu erst den Netzwerk-Manager aufzurufen.

Nun zu meiner Frage:

Trenne ich die VPN-Verbindung mit einem Skript.sh folgenden Inhalts:

#!/bin/bash

nmcli device disconnect tun0

, so wird mir im Netzwerk-Manager weiterhin eine bestehende VPN-Verbindung angezeigt, obwohl diese nachweislich bereits durch das Skript getrennt worden ist.

Was muß ich also zusätzlich ins Skript schreiben, damit der Netzwerk-Manager erkennt, daß eine VPN-Verbindung nicht mehr besteht und mir das dann auch richtig anzeigt?

Auf dem Rechner läuft Linux-Mint 20.1 Xfce.

« Letzte Änderung: 15.06.2021, 00:16:15 von Linbert »

Re: VPN-Verbindung trennen und Netzwerk-Manager auffrischen
« Antwort #1 am: 14.06.2021, 19:43:17 »
Evtl. reicht es auch die konkrete Verbindung zu beenden
nmcli connection down "Name der VPN Verbindung"
Gruß
Whitie

Re: VPN-Verbindung trennen und Netzwerk-Manager auffrischen
« Antwort #2 am: 14.06.2021, 21:36:05 »
Zunächst vielen Dank an lmumischabln und an Whitie für die Lösungsvorschläge zur Frage.

Beide Vorschläge führen letztlich zum Ziel, machen aber auch beide einen gewissen Mehraufwand, der die eigentliche Absicht einer Arbeitserleichterung durch das Skript erheblich einschränkt, sodaß es sich kaum noch lohnt, dafür ein Skript zu nutzen.

Starte ich etwa mit "systemctl restart network-manager.service" den Netzwerk-Manager neu, erfordert dies erhöhte Rechte. Ich müßte also jedes Mal erst das verlangte Passwort eingeben, damit der Netzwerk-Manager neu startet. Außerdem bin ich mir nicht sicher, ob der Neustart des Netzwerks nicht auch gleichzeitig die zugrunde liegende kabelgebundene Verbindung kurz mit unterbricht. Eine Unterbrechung der LAN-Verbindung möchte ich möglichst vermeiden. Nur die vom VPN aufgebaute Verbindung sollte getrennt werden, die LAN-Verbindung jedoch nicht.

Das gleiche ließe sich übrigens auch mit folgendem Skript erreichen, ohne dabei das Passwort eingeben zu müssen:

#!/bin/bash

nmcli device disconnect tun0

nmcli con down \
"Kabelgebundene Verbindung 1"

nmcli con up \
"Kabelgebundene Verbindung 1"


Versuche ich dagegen, wie von Whitie vorgeschlagen, die bestehende VPN-Verbindung mit "nmcli connection down 'Name der VPN Verbindung'" zu beenden, statt mit "nmcli device disconnect tun0", müßte man für jeden der vorhandenen VPN-Server ein eigenes Skript schreiben, um genau diese Verbindung damit zu trennen. Man hätte also bei, sagen wir, 50 verschiedenen VPNs 50 Skripts nötig, aus denen dann das eine passende zum Beenden der Verbindung herauszusuchen wäre.

Danach stellt sich die Frage, ob es möglich wäre, ein Skript zu schreiben, das alle Namen der vorhandenen VPNs aufnimmt, aber von selbst erkennt, welche VPN-Verbindung derzeit besteht und genau diese dann trennt? Oder ein anderes Skript, das Platzhalter nutzt, anstatt den genauen Namen der VPN-Verbindung? So z. B.

#!/bin/bash
nmcli connection down VPN-Verbindung*

, wobei der Stern für die genaue Bezeichnung der Verbindung stünde. Wäre das machbar?



« Letzte Änderung: 14.06.2021, 23:49:23 von Linbert »

Re: VPN-Verbindung trennen und Netzwerk-Manager auffrischen
« Antwort #3 am: 14.06.2021, 23:42:37 »
Ungetestet:
#!/bin/bash

active_uuid=$(nmcli -g uuid,type con show --active | grep vpn | cut -d : -f 1)

nmcli con down $active_uuid

Re: VPN-Verbindung trennen und Netzwerk-Manager auffrischen
« Antwort #4 am: 15.06.2021, 00:16:01 »
Großen Dank an Whitie!

Soeben habe ich das Skript geprüft. Das Skript leistet genau das, was es leisten soll: Es trennt allein die gerade bestehende VPN-Verbindung und setzt anschließend den Netzwerk-Manager wieder auf den richtigen Stand der Verbindung zurück.

Dasselbe läßt sich seltsamerweise auch mit einem Skript erreichen, das die Namen aller im Netzwerk eingerichteten VPNs aufnimmt. Also etwa so, wie folgt:

#!/bin/bash
nmcli connection down VPN-Verbindung1
nmcli connection down VPN-Verbindung2
nmcli connection down VPN-Verbindung3
...
nmcli connection down VPN-Verbindung50

Aber Whities Skript übertrifft das Letztere selbstverständlich bei weitem. Jedenfalls ist die eingangs gestellte Frage damit gelöst.