Frage Verbinden / Trennen von VPN über die Befehlszeile


Ich habe zwei VPNs auf meinem Ubuntu-Rechner eingerichtet, einen mit vpnc und einen mit PPTP. Diese wurden beide über die GNOME Network Manager-Benutzeroberfläche eingerichtet und funktionieren hervorragend. Gelegentlich muss ich jedoch remote auf diesen Computer zugreifen. Gibt es eine Möglichkeit, diese VPNs über die Befehlszeile zu verbinden oder zu trennen?


111
2017-08-16 15:15


Ursprung


Ist der vpnc-Befehl detailliert? Hier nicht für dich arbeiten? Außerdem gibt es Anweisungen zum Konfigurieren und Verbinden mit PPTP Hier. Arbeiten sie nicht? - Kris Harper


Antworten:


Wenn Sie über die Befehlszeile mit NetworkManager interagieren möchten, können Sie den Befehl "nmcli" verwenden.

listet alle NM-Verbindungen auf: nmcli con

Verbindung starten (wlan, vpn, etc): nmcli con up id ConnectionName

Verbindung nach unten: nmcli con down id ConnectionName

(mehr nmcli Befehle in der nmcli-Manpage).


Beachten Sie außerdem, dass normale Benutzer normalerweise keine Berechtigung zum Steuern des Netzwerks haben. Verwenden Sie die obigen Befehle mit sudo sollte für die meisten Verbindungen funktionieren, aber VPN kann möglicherweise mit fehlschlagen "Fehler: Verbindungsaktivierung fehlgeschlagen: keine gültigen VPN-Geheimnisse."

Wenn Ihnen das passiert, ist es wahrscheinlich, dass das VPN-Passwort im Gnome-Schlüsselring Ihres Benutzers gespeichert ist, so dass es für den Root-Benutzer nicht zugänglich ist. Dieser Kommentar erklärt warum.

Um dies zu beheben, bearbeiten Sie / etc / NetworkManager / Systemverbindungen / Verbindungsname und unter [vpn], ändere das Passwort-Flags Linie zu:

password-flags=0

Wenn es eine Zeile gibt, die mit beginnt Xauth password-flags, ändere es stattdessen.

Dann füge folgendes unter dem [vpn] Block:

[vpn-secrets]
password=YourPassword

(Wenn Sie im vorherigen Schritt die Zeile geändert haben Xauth password-flags, hinzufügen Xauth password=... stattdessen.)

Starten Sie den Netzwerkmanager jetzt neu durch:

sudo service network-manager restart

Starten Sie dann die VPN-Verbindung mit sudo nmcli con up id ConnectionName sollte ohne Probleme funktionieren.


163
2017-08-17 03:44



Ich wünschte, es gäbe einen allgemeinen Trennungsbefehl, der jedes VPN trennen würde, ohne seine ID angeben zu müssen. Das würde wahrscheinlich machen Dieses Feature (Ich möchte) einfacher zu implementieren. - Lonnie Best
Wenn Sie ipsec (z. B. vpnc) verwenden, müssen Sie möglicherweise auch "IPSec secret-flags = 0" und "IPSec secret = <gropppp>" an den entsprechenden Stellen hinzufügen - Matt
Dies hat mich immer noch nicht behoben :( Ich bekomme eine Nachricht "Fehler: Verbindungsaktivierung fehlgeschlagen: unbekannter Grund." - Evildonald
Ich nehme das zurück ... nach dem dritten Mal habe ich den Befehl ausgeführt, dass es funktioniert hat. 1. Mal ist schnell gescheitert. 2. Mal scheiterte langsam. Das dritte Mal hat geklappt! - Evildonald
Klartext PWS ?? Ja wirklich?? Hat jemand eine sichere Lösung? - user447607


Ihashacks 'Antwort mit Matts Kommentaren funktionierte für mich ... fast. Musste eine Zeile optimieren.

Mein Passwort-Flag-Zeile tatsächlich gelesen: "Xauth Passwort-Flag". Die angenommene Antwort würde für mich nicht funktionieren, bis ich zu dem folgenden geändert habe

[vpn]
...
Xauth password-flag=0
IPSec secret-flags=0

[vpn-secrets]
Xauth password=<my pw> ## This is the one I changed.
IPSec secret=<group pw>

Nicht sicher, warum meine VPN-Verbindungen "Xauth" vor jeder Erwähnung des Passworts haben.

(Entschuldigung das ist eine neue Antwort, kann noch keine Kommentare machen.)


4
2018-03-23 05:03



Dies ist für einige Arten von VPN, zum Beispiel die Cisco one; sehr hilfreich für diese Fälle! Es gibt jedoch einen Fehler: Der richtige Fall eines Schlüssels ist IPSec secret- Andernfalls wird es von NM nicht erkannt. - Marcus
Danke Marcus, ich habe die Korrektur meiner Antwort vorgenommen, damit niemand versucht, einen Tippfehler zu kopieren / einfügen. - John