Автоматично підключатися до VPN при використанні певної мережі в Ubuntu GNOME 16.04


12

У розділі Unity Network Manger встановлено прапорець для кожного з'єднання, яке налаштовує автоматичне використання VPN, коли з'єднання активне:

Зображення налаштування підключення в ubuntu 16.06 Unity

Чи є спосіб отримати такий варіант в Ubuntu GNOME 16.04? (для якого використовується GNOME 3.18). Оскільки на сторінці налаштування з'єднання відсутня ця опція: введіть тут опис зображення


Ласкаво просимо в Ask Ubuntu! Ця відповідь говорить про те, що вони обидва ділять одного NetworkManager. Чи можете ви подвійно перевірити? Якщо вони відрізняються, ви можете також включити скріншот NetworkManager під Ubuntu GNOME?
Андреа Лацаротто


@AndreaLazzarotto дякую! Я надав знімок екрана. Я спробую vpnautoconnect, який був запропонований у цьому запитанні, щоб побачити, чи працює він. Але мені цікаво, чи можна активувати налаштування в самому Менеджері, оскільки, як ви вже сказали, це однакове мережеве управління в обох варіантах.
S.Mohsen sh

Ця можливість, як і раніше, відсутня в Ubuntu 17.04. Мені незрозуміло, чому це було б знято. Після пошуку рішення та знаходження дуже мало, здається дивним, що більшість людей не використовують VPN та віддають перевагу функції автоматичного підключення.
Rsync

Якщо у вашій системі є /etc/NetworkManager/system-connectionsкаталог, заповнений профілями підключення, і ви не заперечуєте проти редагування конфігурацій, то, можливо, варто перевірити відповідь, яку я розмістив в іншому місці на тему автоматичного підключення до VPN для даного мережного інтерфейсу.
S0AndS0

Відповіді:


22

Я знайшов відповідь на це. Як не дивно, вам потрібно відкрити Менеджер мережі вручну (на відміну від використання панелі або Налаштування.

Так по Terminalтипу nm-connection-editor. Після цього вікно, що відкриється, матиме параметри на першому зображенні ОП.

Це працює для мене 16.04 та 17.04. Сподіваємось, вони інтегруватимуть різних мережевих менеджерів у майбутні версії GNOME.


Це працює і для мене в 18.04 - дякую! Не відразу було зрозуміло, де ці налаштування.
JohnnyCoder

Працює також для Debian 9 Stretch. Дякую!
Крістіан Тоффоло

1

Я вирішив проблему зі сценарієм в

/etc/NetworkManager/dispatcher.d

Ця папка містить скрипти, які викликаються в алфавітному порядку керівником мережі щоразу, коли відбувається зміна стану мережі. Це має перевагу (відмінне від іншого рішення, яке я бачив) у тому, що ваш VPN не тільки активується під час завантаження / запуску, але й при відновленні після призупинення / сну.

Для цього вам потрібно з’єднання VPN, яке вже налаштоване у вашому Менеджері мереж, яке, я вважаю, у вас є, інакше ви б не ставили запитання.

  1. Перший крок: я дотримувався порад цієї (німецької) сторінки ( https://wiki.ubuntuusers.de/NetworkManager/Dispatcher/ ). Я відкрив і назвав новий сценарій 02VPN1

    sudo YOURTEXTEDITOR /etc/NetworkManager/dispatcher.d/02VPN1
    

і написав:

    #!/bin/bash
    VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
    if [ "$2" = "up" ]; then
       sleep "3s"
       nmcli con up id "${VPN_CONNECTION_NAME}"
    fi

NAME_OF_YOUR_VPN_CONNECTION - це ім'я файлу з'єднання NAME_OF_YOUR_VPN_CONNECTION.conf, який ви використовували для встановлення з'єднання, до якого потрібно автоматично підключитися.

Умова, якщо ["$ 2" = "вгору"] означає, що VPN-з'єднання підключається автоматично, коли ви запускаєте мережеве з'єднання (ваше Інтернет-з'єднання); як тільки служба VPN запускається, ви можете відключити її або вибрати іншу VPN.

Якщо ви тільки та кожен раз запускаєте цей VPN без можливості його відключення, ви можете написати сценарій без цього If-умови:

    #!/bin/bash
    VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
    sleep "3s"
    nmcli con up id "${VPN_CONNECTION_NAME}"

Ви можете встановити цей файл лише як root, тому він має власність root, не роблячи додатково нічого. Ось так і має бути.

Нарешті: зробіть цей файл виконуваним, інакше сценарій не запуститься. У Терміналі:

    sudo chmod +x  /etc/NetworkManager/dispatcher.d/02VPN1
  1. Другий крок (РІЗНО з інструкцій у вищенаведеному посиланні; я скористався порадою звідси: https://ubuntuforums.org/showthread.php?t=2193559&p=12990193#post12990193

Цей процес запускається під root, і root ще не має доступу до пароля, який ви використовуєте для своєї VPN. Виконайте наступне: Відкрийте файл NAME_OF_YOUR_VPN_CONNECTION в / etc / NetworkManager / system-connection як корінь. Відкрийте термінал і виконайте:

    sudo YOURTEXTEDITOR /etc/NetworkManager/system-connections/NAME_OF_YOUR_VPN_CONNECTION

а) Змініть рядок

    password-flags=1 

до

    password-flags=0

б) Внизу додайте

    [vpn-secrets]
    password=PASSWORDOFYOURCONNECTION

Збережіть і закрийте файл.

  1. Тепер перезапустіть мережевий менеджер. Термінал:

    systemctl restart NetworkManager
    

ініціалізувати нові налаштування. Вам слід зробити.

Я робив це вчора, і наскільки я бачу, це працює чудово. Ніяких гарантій!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.