Імпортуйте конфігураційні VPN-файли до NetworkManager з командного рядка


14

Можна імпортувати .ovpnфайли в NetworkManager через інструмент GUI nm-connection-editor(клацніть правою кнопкою миші nm-appletта натисніть на Edit connections): Add-> Import a saved VPN configuration....

Моя мета - зробити те ж саме, але за допомогою командного рядка, використовуючи такі інструменти nm-cli. Чи можливо якось?


Чи досягли ви прогресу в цьому? Я намагаюся зробити те ж саме, тому я опублікую відповідь, якщо я зроблю це.
Девід Мейсон

@DavidMason, на жаль, немає. Я чекаю вашого рішення.
petRUShka

Я також активно шукаю рішення.
Распбегуй

Я хотів би побачити рішення для імпорту за командним рядком
davidbaumann

Відповіді:


10

Я використовую nmcli версії 1.2.6, і я можу використовувати його для імпорту конфігурацій openvpn.

nmcli connection import type openvpn file ~/myconfig.ovpn

Відтепер навіть у інтерфейсі NetworkManager видно мій vpn.

Для подальшого налаштування з'єднання можна скористатися showкомандою, щоб дізнатися ім'я з'єднання та modifyзмінити значення конфігурації.

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

будь-яка ідея, як використовувати, -vpn.dataякщо я випадково додав щось неправильне до даних конфігурації?
32r34wgf3e

@ 32r34wgf3e не знаю. Коли моя конфігурація неправильна, я видаляю її і роблю свіжу настройку з командного рядка, як зазначено у моїй відповіді. Порада. Зберігайте команди в текстовому файлі для подальшого використання.
Бастіан

5

Вирішення, яке я використовую, щоб подолати відсутність функціональності, що поставляється з nmcli в системах на базі debian, - це використання команд для копіювання існуючого конфігураційного VPN-файлу в папку / etc / NetworkManager / system-settings у новий файл (як root, звичайно) у тій самій папці та внесіть заміну рядків до дозволених значень користувача, шлюзу, імені користувача та пароля у новій копії. Потім я перезавантажую мережевий менеджер, щоб застосувати зміни.

Наприклад:

Типовий конфігураційний файл у папці / etc / NetworkManager / system-settings може виглядати таким чином:

[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

... тож ви можете просто створити новий конфігураційний файл, схожий на описаний вище ...

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

... потім замініть значення "<< >>" вище своїми власними налаштуваннями VPN, наприклад:

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

... а потім остаточно перезавантажте мережевий менеджер за допомогою наступної команди:

service network-manager restart

Примітка: налаштування UUID, схоже, не має значення, навіть якщо воно не унікальне. Не знаю, чому. Речі просто працюють.

Крім того, якщо ви додаєте новий файл, а не копіюєте, переконайтеся, що для дозволів для цього файлу встановлено значення 600 (читання та запис), а власник - root.

Спробуй і скажи, що ти думаєш. Це працює для мене, все за допомогою командного рядка.


0

Я використовував це для запуску з root:

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

Підключення 'flappie3-TO-IPFire' (26d0b28e-9212-4e71-90dc-3911ddf231e5) успішно додано.


Навіщо використовувати runuserлише для користування користувачем sudo? Це не додає нічого, що вже не було зазначено в напр. Імпорт конфігураційних VPN-файлів у NetworkManager з командного рядка
Kusalananda

Сценарій реєстрації ноутбука працює як root
djieno

Звичайно, і ви переходите на japieвикористання runuser, але потім переходите назад до root з sudo...
Kusalananda

якщо ви не додасте "sudo ...", поточний користувач / japie не має достатньо прав для запуску nmcli
djieno

Тому не переходьте на цього користувача з runasтим часом ... Коротше, я кажу, що це повинно бути достатньо nmcli connection import type openvpn file ~japie/vpn_clients/flappie3-TO-IPFire.ovpn.
Kusalananda
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.