Importieren Sie VPN-Konfigurationsdateien von der Befehlszeile in NetworkManager

14

Sie können .ovpnDateien über das GUI-Tool in NetworkManager importieren nm-connection-editor(klicken Sie mit der rechten Maustaste auf nm-appletund anschließend auf Edit connections): Add-> Import a saved VPN configuration....

Mein Ziel ist es, dasselbe zu tun, aber über die Kommandozeile mit Tools wie nm-cli. Ist es irgendwie möglich

petRUShka
quelle
Haben Sie damit Fortschritte gemacht? Ich versuche das Gleiche zu tun und werde eine Antwort posten, wenn es funktioniert.
David Mason
@DavidMason leider nein. Ich warte auf Ihre Lösung.
petRUShka
Ich bin auch aktiv auf der Suche nach einer Lösung.
Raspbeguy
Ich möchte eine Lösung für den Import über die Befehlszeile sehen
Davidbaumann

Antworten:

10

Ich verwende nmcli Version 1.2.6 und kann damit openvpn-Konfigurationen importieren.

nmcli connection import type openvpn file ~/myconfig.ovpn

Ab sofort ist auch in der NetworkManager-Benutzeroberfläche mein VPN sichtbar.

Um die Verbindung weiter zu konfigurieren, können Sie den Verbindungsnamen mit dem showBefehl ermitteln und die Konfigurationswerte modifyändern.

nmcli connection show
nmcli connection modify myvpnconnectionname +vpn.data username=myusername
Bastian
quelle
Irgendeine Idee, wie man es benutzt, -vpn.datawenn ich versehentlich etwas Falsches zu den Konfigurationsdaten hinzugefügt habe?
32r34wgf3e
@ 32r34wgf3e weiß es nicht. Wenn meine Konfiguration falsch ist, lösche ich sie und richte über die Befehlszeile ein neues Setup ein, wie in meiner Antwort beschrieben. Tipp: Speichern Sie Ihre Befehle zur späteren Wiederverwendung in einer Textdatei.
Bastian
5

Eine Problemumgehung, mit der ich den mit nmcli auf Debian-basierten Systemen verbundenen Mangel an Funktionalität überwinden kann, ist die Verwendung von Befehlen, um eine vorhandene VPN-Konfigurationsdatei im Ordner / etc / NetworkManager / system-settings in eine neue Datei zu kopieren (als root, natürlich) im selben Ordner und ersetzen Sie die Zeichenfolgen durch die zulässigen Werte für Benutzer, Gateway, Benutzername und Kennwort in der neuen Kopie. Dann starte ich den Netzwerkmanager neu, um die Änderungen zu übernehmen.

Beispielsweise:

Eine typische Konfigurationsdatei im Ordner / etc / NetworkManager / system-settings könnte folgendermaßen aussehen:

[connection]
id=<<id>>
uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
type=vpn
permissions=user:<<permissions_user>>:;
autoconnect=false

[vpn]
password-flags=0
service-type=org.freedesktop.NetworkManager.pptp
require-mppe-128=yes
mppe-stateful=yes
user=<<user>>
refuse-eap=yes
refuse-chap=yes
gateway=<<gateway>>
refuse-pap=yes

[vpn-secrets]
password=<<password>>

[ipv4]
method=auto

... Sie können also einfach eine neue Konfigurationsdatei erstellen, die der obigen ähnelt ...

cd /etc/NetworkManager/system-settings
cp "existing-working-vpn-config-file" "new-vpn-config-file"

... dann ersetzen Sie die obigen "<< >>" - Werte durch Ihre eigenen VPN-Einstellungen, zB:

sed -i "s/<<permissions_user>>/my_permissions_user/g" new-vpn-config-file
sed -i "s/<<user>>/my_user/g" new-vpn-config-file
sed -i "s/<<gateway>>/my_gateway/g" new-vpn-config-file
sed -i "s/<<password>>/my_password/g" new-vpn-config-file

... und starten Sie anschließend den Netzwerkmanager mit dem folgenden Befehl neu:

service network-manager restart

Hinweis: Die UUID-Einstellung scheint keine Rolle zu spielen, auch wenn sie nicht eindeutig ist. Keine Ahnung warum. Zeug funktioniert einfach.

Wenn Sie eine neue Datei hinzufügen, anstatt sie zu kopieren, stellen Sie sicher, dass die Berechtigungen für die Datei auf 600 (Lesen und Schreiben) festgelegt sind und der Eigentümer root ist.

Probieren Sie es aus und sagen Sie mir, was Sie denken. Bei mir funktioniert das alles über die Kommandozeile.

Fuzzy-Analyse
quelle
0

Ich habe dies verwendet, um von root aus zu starten:

USER=japie
runuser -l $USER -c "sudo -S nmcli connection import type openvpn file ~/vpn_clients/flappie3-TO-IPFire.ovpn"

Verbindung 'flappie3-TO-IPFire' (26d0b28e-9212-4e71-90dc-3911ddf231e5) erfolgreich hinzugefügt.

djieno
quelle
Warum runusernur verwenden, um den Benutzer verwenden zu lassen sudo? Dies fügt nichts hinzu, was nicht bereits erwähnt wurde, z. B. VPN-Konfigurationsdateien von der Befehlszeile in NetworkManager importieren
Kusalananda
Laptop-Registrierungsskript wird als root ausgeführt
djieno
Sicher, und Sie wechseln zu japieverwenden runuser, aber dann wechseln Sie zurück zu root mit sudo...
Kusalananda
Wenn Sie "sudo ..." nicht hinzufügen, verfügt der aktuelle Benutzer / japie nicht über die erforderlichen Berechtigungen, um nmcli
djieno
Wechseln Sie also nicht mit zu diesem Benutzer runas... Kurz gesagt, ich sage, dass es mit genug sein sollte nmcli connection import type openvpn file ~japie/vpn_clients/flappie3-TO-IPFire.ovpn.
Kusalananda