Zaimportuj pliki konfiguracyjne VPN do NetworkManager z wiersza poleceń


14

.ovpnPliki można importować do NetworkManager za pomocą narzędzia GUI nm-connection-editor(kliknij prawym przyciskiem myszy nm-appleti kliknij Edit connections): Add-> Import a saved VPN configuration....

Moim celem jest zrobienie tego samego, ale za pomocą wiersza poleceń i narzędzi takich jak nm-cli. Czy to jest jakoś możliwe?


Czy zrobiłeś z tym jakieś postępy? Próbuję zrobić to samo, więc opublikuję odpowiedź, jeśli zadziała.
David Mason

@DavidMason niestety nie. Czekam na twoje rozwiązanie.
petRUShka

Aktywnie szukam również rozwiązania.
Raspbeguy,

Chciałbym zobaczyć rozwiązanie do importowania z wiersza poleceń
davidbaumann

Odpowiedzi:


10

Używam nmcli w wersji 1.2.6 i mogę go używać do importowania konfiguracji openvpn.

nmcli connection import type openvpn file ~/myconfig.ovpn

Odtąd nawet w NetworkManager UI mój VPN jest widoczny.

Aby dalej skonfigurować połączenie, możesz użyć showpolecenia, aby znaleźć nazwę połączenia i modifyzmienić wartości konfiguracji.

nmcli connection show
nmcli connection modify myvpnconnectionname +vpn.data username=myusername

jakiś pomysł, jak korzystać, -vpn.datajeśli przypadkowo dodałem coś złego do danych konfiguracyjnych?
32r34wgf3e

@ 32r34wgf3e nie wiem. Kiedy moja konfiguracja jest nieprawidłowa, usuwam ją i wykonuję nową konfigurację z wiersza poleceń, jak opisano w mojej odpowiedzi. Wskazówka: przechowuj polecenia w pliku tekstowym do późniejszego wykorzystania.
Bastian

5

Obejściem, którego używam, aby ominąć brak funkcjonalności, którą oferuje nmcli w systemach opartych na Debianie, jest użycie poleceń do skopiowania istniejącego pliku konfiguracyjnego VPN w folderze / etc / NetworkManager / system-settings do nowego pliku (jako root, oczywiście) w tym samym folderze i zastępuj ciąg znaków dozwolonymi wartościami użytkownika, bramy, nazwy użytkownika i hasła w nowej kopii. Następnie ponownie uruchamiam menedżera sieci, aby zastosować zmiany.

Na przykład:

Typowy plik konfiguracyjny w folderze / etc / NetworkManager / system-settings może wyglądać następująco:

[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

... dzięki czemu możesz po prostu utworzyć nowy plik konfiguracyjny, który wygląda podobnie do powyższego ...

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

... następnie zastąp powyższe wartości „<< >>” własnymi ustawieniami VPN, np .:

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

... a następnie ponownie uruchom menedżera sieci za pomocą następującego polecenia:

service network-manager restart

Uwaga: ustawienie UUID nie wydaje się mieć znaczenia, nawet jeśli nie jest unikalne. Nie mam pojęcia dlaczego. Rzeczy po prostu działają.

Ponadto, jeśli dodajesz nowy plik zamiast kopiowania, upewnij się, że uprawnienia do pliku są ustawione na 600 (odczyt i zapis), a właścicielem jest root.

Spróbuj i powiedz mi, co myślisz. Działa dla mnie, wszystko za pośrednictwem wiersza poleceń.


0

Użyłem tego do uruchomienia z roota:

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

Pomyślnie dodano połączenie „flappie3-TO-IPFire” (26d0b28e-9212-4e71-90dc-3911ddf231e5).


Dlaczego warto używać runusertylko do użytku użytkownika sudo? Nie dodaje to niczego, co nie zostało jeszcze wspomniane, np. Importuj pliki konfiguracyjne VPN do NetworkManager z wiersza poleceń
Kusalananda

Skrypt rejestracji laptopa działa jako root
djieno,

Jasne, a ty przełączasz się na japieużywanie runuser, ale potem przełączasz się z powrotem na sudo
rootowanie za

jeśli nie dodasz „sudo ...” bieżący użytkownik / japie nie ma wystarczających uprawnień do uruchomienia nmcli
djieno 13.09.19

Więc nie przełączaj się wtedy na tego użytkownika runas... Krótko mówiąc, mówię, że powinno wystarczyć nmcli connection import type openvpn file ~japie/vpn_clients/flappie3-TO-IPFire.ovpn.
Kusalananda
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.