Как автоматически подключиться к VPN с помощью Network-Manager

У меня есть рабочее VPN-соединение. Теперь я хочу, чтобы это VPN-соединение автоматически активировалось, когда я нахожусь в определенной беспроводной сети. Есть ли неинтрузивный графический способ использования апплета сетевого администратора? Если я правильно помню, он работал некоторое время и больше не работает.

Я сделал доступным беспроводное соединение для всех пользователей, чтобы не вводить пароль каждый раз.

Используемая программа CLI - vpnc с поддержкой Hybrid-Auth (совместимый с VPN-клиентом cisco) из PPA sroecker

EDIT: я могу попробовать ответы (из-за eduroam), и поскольку никакой ответ, похоже, не получил большинство голосов, я просто оставлю его без ответа до тех пор, пока он не будет одобрен, тогда я соглашусь с этим.

15
задан 29 May 2012 в 19:57

69 ответов

Решение, предложенное con-f-use, должно работать, но не из-за давней ошибки:

https://bugs.launchpad.net/ubuntu/+source/network-manager / + bug / 280571

Однако есть обходные пути. Для последних версий NetworkManager существует утилита командной строки nmcli, которая может быть отредактирована и сохранена как нечто вроде /etc/NetworkManager/dispatcher.d/vpn-up:

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

[Я не тестировал это - пожалуйста, не стесняйтесь для проверки и редактирования в соответствии с результатами]

См.: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/280571 имеет больше информации ,

13
ответ дан 29 May 2018 в 09:01
  • 1
    обратите внимание, что в 13.04 мне пришлось поместить этот скрипт в /etc/network/if-up.d и исправить / etc / NetworkManager / системные соединения / имя-подключения в соответствии с askubuntu.com/questions/198136/… , чтобы избежать «Нет действительных секретов VPN». ошибка – OlegYch 20 May 2013 в 20:20
  • 2
    Скрипка Arch wiki действительно работает! Я пробовал сценарий в архивной вики 11 июля 2013 года и изменял его с «nmcli ...» на «su [user] -c« nmcli ... », не работает! следуйте инструкциям, как в wiki, и не забудьте chmod + x;) ура! – user 11 July 2013 в 20:25
  • 3
    Скрипка Arch wiki действительно работает! Я пробовал сценарий в архивной вики 11 июля 2013 года и изменял его с «nmcli ...» на «su [user] -c« nmcli ... », не работает! следуйте инструкциям, как в wiki, и не забудьте chmod + x;) ура! – user 11 July 2013 в 20:25
  • 4
    Скрипка Arch wiki действительно работает! Я пробовал сценарий в архивной вики 11 июля 2013 года и изменял его с «nmcli ...» на «su [user] -c« nmcli ... », не работает! следуйте инструкциям, как в wiki, и не забудьте chmod + x;) ура! – user 11 July 2013 в 20:25
  • 5
    Скрипка Arch wiki действительно работает! Я пробовал сценарий в архивной вики 11 июля 2013 года и изменял его с «nmcli ...» на «su [user] -c« nmcli ... », не работает! следуйте инструкциям, как в wiki, и не забудьте chmod + x;) ура! – user 11 July 2013 в 20:25
  • 6
    Скрипка Arch wiki действительно работает! Я пробовал сценарий в архивной вики 11 июля 2013 года и изменял его с «nmcli ...» на «su [user] -c« nmcli ... », не работает! следуйте инструкциям, как в wiki, и не забудьте chmod + x;) ура! – user 11 July 2013 в 20:25
  • 7
    Скрипка Arch wiki действительно работает! Я пробовал сценарий в архивной вики 11 июля 2013 года и изменял его с «nmcli ...» на «su [user] -c« nmcli ... », не работает! следуйте инструкциям, как в wiki, и не забудьте chmod + x;) ура! – user 11 July 2013 в 20:25
  • 8
    Ошибка, упомянутая Hugo Eden ( bugs.launchpad.net/ubuntu/+source/network-manager/+bug/280571 ) была исправлена ​​вверх по течению более 5 месяцев назад. Тем не менее, я все еще испытываю это в Точной ... Что дает? – iGadget 29 December 2013 в 20:15
  • 9
    Это не сработало для меня, поэтому я решил посмотреть в /var/log/syslog и увидел следующую ошибку: Mar 4 13:49:51 oleg-HP nm-dispatcher.action: Cannot execute /etc/NetworkManager/dispatcher.d/vpnup: не выполнимый владельцем. к sudo chmod 755 /etc/NetworkManager/dispatcher.d/vpn-up – Oleg Belousov 4 March 2015 в 16:51

Решение, предложенное con-f-use, должно работать, но не из-за давней ошибки:

https://bugs.launchpad.net/ubuntu/+source/ network-manager / + bug / 280571

Однако есть обходные пути. Для последних версий NetworkManager существует утилита командной строки nmcli, которая может быть отредактирована и сохранена как нечто вроде /etc/NetworkManager/dispatcher.d/vpn-up:

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

[Я не тестировал это - пожалуйста, не стесняйтесь тестировать и редактировать в соответствии с результатами]

См.: https://wiki.archlinux.org/index.php/NetworkManager#Use_dispatcher_to_connect_to_a_vpn_after_a_network-connection_is_established имеет больше информации.

14
ответ дан 26 July 2018 в 17:38

Решение, предложенное con-f-use, должно работать, но не из-за давней ошибки:

https://bugs.launchpad.net/ubuntu/+source/ network-manager / + bug / 280571

Однако есть обходные пути. Для последних версий NetworkManager существует утилита командной строки nmcli, которая может быть отредактирована и сохранена как нечто вроде /etc/NetworkManager/dispatcher.d/vpn-up:

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

[Я не тестировал это - пожалуйста, не стесняйтесь тестировать и редактировать в соответствии с результатами]

См.: https://wiki.archlinux.org/index.php/NetworkManager#Use_dispatcher_to_connect_to_a_vpn_after_a_network-connection_is_established имеет больше информации.

14
ответ дан 31 July 2018 в 10:41

Решение, предложенное con-f-use, должно работать, но не из-за давней ошибки:

https://bugs.launchpad.net/ubuntu/+source/ network-manager / + bug / 280571

Однако есть обходные пути. Для последних версий NetworkManager существует утилита командной строки nmcli, которая может быть отредактирована и сохранена как нечто вроде /etc/NetworkManager/dispatcher.d/vpn-up:

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

[Я не тестировал это - пожалуйста, не стесняйтесь тестировать и редактировать в соответствии с результатами]

См.: https://wiki.archlinux.org/index.php/NetworkManager#Use_dispatcher_to_connect_to_a_vpn_after_a_network-connection_is_established имеет больше информации.

14
ответ дан 31 July 2018 в 11:45

Решение, предложенное con-f-use, должно работать, но не из-за давней ошибки:

https://bugs.launchpad.net/ubuntu/+source/ network-manager / + bug / 280571

Однако есть обходные пути. Для последних версий NetworkManager существует утилита командной строки nmcli, которая может быть отредактирована и сохранена как нечто вроде /etc/NetworkManager/dispatcher.d/vpn-up:

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

[Я не тестировал это - пожалуйста, не стесняйтесь тестировать и редактировать в соответствии с результатами]

См.: https://wiki.archlinux.org/index.php/NetworkManager#Use_dispatcher_to_connect_to_a_vpn_after_a_network-connection_is_established имеет больше информации.

14
ответ дан 2 August 2018 в 03:29

Решение, предложенное con-f-use, должно работать, но не из-за давней ошибки:

https://bugs.launchpad.net/ubuntu/+source/ network-manager / + bug / 280571

Однако есть обходные пути. Для последних версий NetworkManager существует утилита командной строки nmcli, которая может быть отредактирована и сохранена как нечто вроде /etc/NetworkManager/dispatcher.d/vpn-up:

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

[Я не тестировал это - пожалуйста, не стесняйтесь тестировать и редактировать в соответствии с результатами]

См.: https://wiki.archlinux.org/index.php/NetworkManager#Use_dispatcher_to_connect_to_a_vpn_after_a_network-connection_is_established имеет больше информации.

14
ответ дан 4 August 2018 в 19:26

Решение, предложенное con-f-use, должно работать, но не из-за давней ошибки:

https://bugs.launchpad.net/ubuntu/+source/ network-manager / + bug / 280571

Однако есть обходные пути. Для последних версий NetworkManager существует утилита командной строки nmcli, которая может быть отредактирована и сохранена как нечто вроде /etc/NetworkManager/dispatcher.d/vpn-up:

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

[Я не тестировал это - пожалуйста, не стесняйтесь тестировать и редактировать в соответствии с результатами]

См.: https://wiki.archlinux.org/index.php/NetworkManager#Use_dispatcher_to_connect_to_a_vpn_after_a_network-connection_is_established имеет больше информации.

14
ответ дан 6 August 2018 в 03:37

Решение, предложенное con-f-use, должно работать, но не из-за давней ошибки:

https://bugs.launchpad.net/ubuntu/+source/ network-manager / + bug / 280571

Однако есть обходные пути. Для последних версий NetworkManager существует утилита командной строки nmcli, которая может быть отредактирована и сохранена как нечто вроде /etc/NetworkManager/dispatcher.d/vpn-up:

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

[Я не тестировал это - пожалуйста, не стесняйтесь тестировать и редактировать в соответствии с результатами]

См.: https://wiki.archlinux.org/index.php/NetworkManager#Use_dispatcher_to_connect_to_a_vpn_after_a_network-connection_is_established имеет больше информации.

14
ответ дан 7 August 2018 в 21:27

Решение, предложенное con-f-use, должно работать, но не из-за давней ошибки:

https://bugs.launchpad.net/ubuntu/+source/ network-manager / + bug / 280571

Однако есть обходные пути. Для последних версий NetworkManager существует утилита командной строки nmcli, которая может быть отредактирована и сохранена как нечто вроде /etc/NetworkManager/dispatcher.d/vpn-up:

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

[Я не тестировал это - пожалуйста, не стесняйтесь тестировать и редактировать в соответствии с результатами]

См.: https://wiki.archlinux.org/index.php/NetworkManager#Use_dispatcher_to_connect_to_a_vpn_after_a_network-connection_is_established имеет больше информации.

14
ответ дан 10 August 2018 в 09:44

Решение, предложенное con-f-use, должно работать, но не из-за давней ошибки:

https://bugs.launchpad.net/ubuntu/+source/ network-manager / + bug / 280571

Однако есть обходные пути. Для последних версий NetworkManager существует утилита командной строки nmcli, которая может быть отредактирована и сохранена как нечто вроде /etc/NetworkManager/dispatcher.d/vpn-up:

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

[Я не тестировал это - пожалуйста, не стесняйтесь тестировать и редактировать в соответствии с результатами]

См.: https://wiki.archlinux.org/index.php/NetworkManager#Use_dispatcher_to_connect_to_a_vpn_after_a_network-connection_is_established имеет больше информации.

14
ответ дан 13 August 2018 в 15:57
  • 1
    обратите внимание, что в 13.04 я должен был поместить этот скрипт в /etc/network/if-up.d и исправить / etc / NetworkManager / system-connections / имя-подключения в соответствии с askubuntu.com/questions/198136/… , чтобы избежать "Нет действительных секретов VPN" ошибка – OlegYch 20 May 2013 в 20:20
  • 2
    Скрипка Arch wiki действительно работает! Я пробовал сценарий в архивной вики 11 июля 2013 года и изменял его с «nmcli ...» на «su [user] -c« nmcli ... », не работает! следуйте инструкциям, как в wiki, и не забудьте chmod + x;) ура! – user 11 July 2013 в 20:25
  • 3
  • 4
    – Oleg Belousov 4 March 2015 в 16:51

В Ubuntu Trusty 14.04 VPN auto connect store в GUI для отдельных сохраненных настроек wi-fi. Системные настройки - Сеть - проверьте заинтересованные Wi-Fi или Lan - Настройки (вкладка «Общие») - выберите «Автоматическое подключение к VPN ...»

8
ответ дан 29 May 2018 в 09:01
Если я правильно помню, он работал некоторое время и больше не работает. Это может быть очевидно, но иногда я не думаю об этом. Вы пытались переустановить, например: sudo apt-get purge network-manager-vpn sudo apt-get install network-manager-vpnc Затем:

Если я правильно помню, это сработало некоторое время, t!

Это может быть очевидно, но иногда я не думаю об этом. Вы пытались переустановить, например: sudo apt-get purge network-manager-vpn sudo apt-get install network-manager-vpnc Затем:

Теперь я хочу, чтобы это VPN-соединение автоматически активировалось, когда я 'в определенной беспроводной сети.

3
ответ дан 29 May 2018 в 09:01
  • 1
    Я до сих пор не пришел, чтобы проверить это. Я отвечу на это, когда захочу. Promise. – turbo 16 June 2011 в 18:40
  • 2
    по моему опыту это на самом деле не работает. Я считаю, что это ошибка в NetworkManager – Conor Rynne 10 July 2011 в 16:42
  • 3
    Да, это сломано, даже в Точной. Он не подключается автоматически O_o – eggonlegs 13 September 2012 в 04:44
  • 4
    Yup - сломан. Не работает (Ubuntu 12.04). – user48956 14 April 2014 в 21:38

Я могу подтвердить это следующее решение, работающее для меня. Я запускаю Ubuntu 14.04 LTS.

Я пошел к значку выключения, а затем к системным настройкам.

Когда откроется экран настроек, я перешел в «Сеть» и сеть WiFi, с которой Я был связан. На одной стороне названия сети есть небольшая стрелка.

Нажмите эту иконку, и вы увидите опцию «Настройки» или «Параметры» (или что-то похожее ) здесь:

Когда откроется следующее окно, просто перейдите на вкладку «Общие», и вы увидите опцию, которая дает вам возможность Автоматическое подключение к VPN. Выберите VPN, который вы хотите подключить при подключении к этому WiFi, и стрелу! Каждый раз, когда вы подключаетесь к этой сети, Ubuntu также подключит вас к этой VPN. :)

Для меня это работает. Надеюсь, это сработает и для всех остальных. Не требует никакого текстового редактора или редактора кода или чего-либо еще ..

2
ответ дан 29 May 2018 в 09:01

Использовать следующий скрипт Python Gist # 1547663.

Первым параметром сценария является имя подключения VPN в NetworkManager, а второе - имена разделяемых запятыми имен сетей, которые следует игнорировать (например, с помощью VPN-подключения у себя дома есть бесполезно).

Пример установки и запуска его во время загрузки:

git clone git://gist.github.com/1547663.git /home/user/autovpn/
echo "python /home/user/autovpn/autovpn.py 'myvpn' 'Auto homenetwork,Auto worknetwork' > /var/log/autovpn.log&" > /etc/rc.local
/etc/rc.local

Теперь, если вы подключитесь к сети (либо Wi-Fi, либо ethernet), она также попытается настроить VPN-соединение.

0
ответ дан 29 May 2018 в 09:01
  • 1
    Я думаю, что этот подход менее изящный, из-за того, что фоновый процесс активен для этого все время, в то время как он может управляться событиями, как в ответе @hugoheden. – gertvdijk 4 December 2012 в 21:37
  • 2
    Он делает больше, чем его ответ: он также обрабатывает повторное подключение VPN и случаи, когда пользователь вручную отключает подключение vpn (что означает, что в этом случае не следует пытаться повторно подключить VPN) – iElectric 5 December 2012 в 17:18

Вам больше не нужны скрипты диспетчера! В 14.04 (Trusty Tahr) вам нужно выполнить следующие шаги после установки параметра автосоединения в графическом интерфейсе NetworkManager.

Хранить секреты vpn в файле конфигурации для VPN-соединения в разделе /etc/NetworkManager/system-connections/YourVPNConnectionName ,

Вы можете достичь этого, установив IPSec secret-flags=0 и Xauth password-flags=0 в файле конфигурации. Затем перейдите в GUI NetworkManager и снова сохраните настройки VPN-соединения. Теперь в файле конфигурации должен присутствовать раздел под названием [vpn-secrets]. Должна быть двойная проверка и автосоединение!

0
ответ дан 29 May 2018 в 09:01

Несмотря на то, что справочная страница перечисляет nmcli con status как действительную команду, приведенное выше решение, предоставленное Hugo Heden, возвращает ошибку "Error: Object 'status' is unknown, try 'nmcli help'"

Я использую nmcli 1.2.2 (nmcli -v ), и я протестировал и изменил следующее для /etc/NetworkManager/dispatcher.d/vpn-up, и он работал как шарм.

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


default_conn=$(nmcli con show --active | grep "${REQUIRED_CONNECTION_NAME}")
vpn_conn=$(nmcli con show id | grep "${VPN_CONNECTION_NAME}")
if [ "${default_conn}" -a ! "${vpn_conn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

Примечание. Вы можете использовать nmcli con show для просмотра всех имен соединений, поскольку они не всегда совпадают с тем, что указано в графическом интерфейсе сетевых подключений

0
ответ дан 29 May 2018 в 09:01
  • 1
    ОП спрашивает о Ubuntu. – ubashu 22 July 2016 в 06:31
  • 2
    Kali и Ubuntu основаны на Debian, поэтому решение часто одно и то же. Я просто пошел дальше и протестировал это на экземпляре Ubuntu 15.10, и ошибка nmcli была такой же, как я упоминал выше. Решение работало точно так же. Версия nmcli, установленная в поле 15.10, равна 1.0.4. – jw00druff 22 July 2016 в 11:35

Вам больше не нужны скрипты диспетчера! В 14.04 (Trusty Tahr) вам нужно выполнить следующие шаги после установки параметра автосоединения в графическом интерфейсе NetworkManager.

Хранить секреты vpn в файле конфигурации для VPN-соединения в разделе /etc/NetworkManager/system-connections/YourVPNConnectionName ,

Вы можете добиться этого, установив IPSec secret-flags=0 и Xauth password-flags=0 в файле конфигурации. Затем перейдите в GUI NetworkManager и снова сохраните настройки VPN-соединения. Теперь в файле конфигурации должен присутствовать раздел под названием [vpn-secrets]. Дважды проверьте его и автосоединение.

0
ответ дан 25 July 2018 в 21:54

Если я правильно помню, он работал некоторое время и больше не работает.

  • Это может быть очевидно, но иногда я не думаю об этом. Вы пытались переустановить, например: sudo apt-get purge network-manager-vpn sudo apt-get install network-manager-vpnc Затем: enter image description here [/g0]

Теперь Я хочу, чтобы это VPN-соединение автоматически активировалось, когда я нахожусь в определенной беспроводной сети.

  • Есть способ подавить сообщение типа «не удалось подключиться», когда ваш пользователи находятся в неправильной сети, но не могут вспомнить, как это произошло. Я не вижу другого способа автоматического подключения графическим способом. Возможно, вам придется написать скрипт, выполняющий соединение, когда в указанной wlan-сети.

Надеюсь, что это помогло.

3
ответ дан 25 July 2018 в 21:54

В Ubuntu Trusty 14.04 VPN auto connect store в GUI для отдельных сохраненных настроек wi-fi. Системные настройки - Сеть - проверьте заинтересованные Wi-Fi или Lan - Настройки (вкладка «Общие») - выберите «Автоподключиться к VPN ...»

8
ответ дан 25 July 2018 в 21:54

Несмотря на то, что справочная страница перечисляет nmcli con status как действительную команду, приведенное выше решение, предоставленное Hugo Heden , возвращает ошибку "Error: Object 'status' is unknown, try 'nmcli help'"

Я использую nmcli 1.2.2 (nmcli -v), и я протестировал и изменил следующее для /etc/NetworkManager/dispatcher.d/vpn-up, и он работал как шарм.

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


default_conn=$(nmcli con show --active | grep "${REQUIRED_CONNECTION_NAME}")
vpn_conn=$(nmcli con show id | grep "${VPN_CONNECTION_NAME}")
if [ "${default_conn}" -a ! "${vpn_conn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

Примечание. Вы можете использовать nmcli con show для просмотра всех имен соединений, поскольку они не всегда совпадают с тем, что указано в графическом интерфейсе сетевых подключений

0
ответ дан 25 July 2018 в 21:54

Я могу подтвердить это следующее решение, работающее для меня. Я запускаю Ubuntu 14.04 LTS.

Я пошел к значку выключения, а затем к системным настройкам.

Когда откроется экран настроек, я пошел в «Сеть» и сеть WiFi, с которой Я был связан. На одной стороне названия сети есть небольшая стрелка.

Нажмите на эту иконку, и вы увидите опцию «Настройки» или «options» (или что-то подобное) здесь:

Когда откроется следующее окно, просто перейдите на вкладку «Общие», и вы увидите который дает вам возможность автоматически подключаться к VPN. Выберите VPN, который вы хотите подключить при подключении к этому WiFi, и стрелу! Каждый раз, когда вы подключаетесь к этой сети, Ubuntu также подключит вас к этой VPN. :)

Для меня это работает. Надеюсь, это сработает и для всех остальных. Не требует никакого текстового редактора или редактора кода или чего-либо еще.

2
ответ дан 25 July 2018 в 21:54

Вам больше не нужны скрипты диспетчера! В 14.04 (Trusty Tahr) вам нужно выполнить следующие шаги после установки параметра автосоединения в графическом интерфейсе NetworkManager.

Хранить секреты vpn в файле конфигурации для VPN-соединения в разделе /etc/NetworkManager/system-connections/YourVPNConnectionName ,

Вы можете добиться этого, установив IPSec secret-flags=0 и Xauth password-flags=0 в файле конфигурации. Затем перейдите в GUI NetworkManager и снова сохраните настройки VPN-соединения. Теперь в файле конфигурации должен присутствовать раздел под названием [vpn-secrets]. Дважды проверьте его и автосоединение.

0
ответ дан 26 July 2018 в 17:38

Если я правильно помню, он работал некоторое время и больше не работает.

  • Это может быть очевидно, но иногда я не думаю об этом. Вы пытались переустановить, например: sudo apt-get purge network-manager-vpn sudo apt-get install network-manager-vpnc Затем: enter image description here [/g0]

Теперь Я хочу, чтобы это VPN-соединение автоматически активировалось, когда я нахожусь в определенной беспроводной сети.

  • Есть способ подавить сообщение типа «не удалось подключиться», когда ваш пользователи находятся в неправильной сети, но не могут вспомнить, как это произошло. Я не вижу другого способа автоматического подключения графическим способом. Возможно, вам придется написать скрипт, выполняющий соединение, когда в указанной wlan-сети.

Надеюсь, что это помогло.

3
ответ дан 26 July 2018 в 17:38

В Ubuntu Trusty 14.04 VPN auto connect store в GUI для отдельных сохраненных настроек wi-fi. Системные настройки - Сеть - проверьте заинтересованные Wi-Fi или Lan - Настройки (вкладка «Общие») - выберите «Автоподключиться к VPN ...»

8
ответ дан 26 July 2018 в 17:38

Использовать следующий скрипт Python Gist # 1547663 .

Первым параметром сценария является имя подключения VPN в NetworkManager, а второе - разделенные запятыми имена сетей, которые следует игнорировать ( например, использование VPN-подключения дома бесполезно).

Пример установки и разрешения запуска во время загрузки:

git clone git://gist.github.com/1547663.git /home/user/autovpn/
echo "python /home/user/autovpn/autovpn.py 'myvpn' 'Auto homenetwork,Auto worknetwork' > /var/log/autovpn.log&" > /etc/rc.local
/etc/rc.local

Теперь, если вы подключаетесь к сети (либо через Wi-Fi, либо через Ethernet ), он также попытается настроить VPN-соединение.

0
ответ дан 26 July 2018 в 17:38

Несмотря на то, что справочная страница перечисляет nmcli con status как действительную команду, приведенное выше решение, предоставленное Hugo Heden , возвращает ошибку "Error: Object 'status' is unknown, try 'nmcli help'"

Я использую nmcli 1.2.2 (nmcli -v), и я протестировал и изменил следующее для /etc/NetworkManager/dispatcher.d/vpn-up, и он работал как шарм.

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


default_conn=$(nmcli con show --active | grep "${REQUIRED_CONNECTION_NAME}")
vpn_conn=$(nmcli con show id | grep "${VPN_CONNECTION_NAME}")
if [ "${default_conn}" -a ! "${vpn_conn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

Примечание. Вы можете использовать nmcli con show для просмотра всех имен соединений, поскольку они не всегда совпадают с тем, что указано в графическом интерфейсе сетевых подключений

0
ответ дан 26 July 2018 в 17:38

Вам больше не нужны скрипты диспетчера! В 14.04 (Trusty Tahr) вам нужно выполнить следующие шаги после установки параметра автосоединения в графическом интерфейсе NetworkManager.

Хранить секреты vpn в файле конфигурации для VPN-соединения в разделе /etc/NetworkManager/system-connections/YourVPNConnectionName ,

Вы можете добиться этого, установив IPSec secret-flags=0 и Xauth password-flags=0 в файле конфигурации. Затем перейдите в GUI NetworkManager и снова сохраните настройки VPN-соединения. Теперь в файле конфигурации должен присутствовать раздел под названием [vpn-secrets]. Дважды проверьте его и автосоединение.

0
ответ дан 31 July 2018 в 10:41

В Ubuntu Trusty 14.04 VPN auto connect store в GUI для отдельных сохраненных настроек wi-fi. Системные настройки - Сеть - проверьте заинтересованные Wi-Fi или Lan - Настройки (вкладка «Общие») - выберите «Автоподключиться к VPN ...»

8
ответ дан 31 July 2018 в 10:41

Использовать следующий скрипт Python Gist # 1547663 .

Первым параметром сценария является имя подключения VPN в NetworkManager, а второе - разделенные запятыми имена сетей, которые следует игнорировать ( например, использование VPN-подключения дома бесполезно).

Пример установки и разрешения запуска во время загрузки:

git clone git://gist.github.com/1547663.git /home/user/autovpn/
echo "python /home/user/autovpn/autovpn.py 'myvpn' 'Auto homenetwork,Auto worknetwork' > /var/log/autovpn.log&" > /etc/rc.local
/etc/rc.local

Теперь, если вы подключаетесь к сети (либо через Wi-Fi, либо через Ethernet ), он также попытается настроить VPN-соединение.

0
ответ дан 31 July 2018 в 10:41

Несмотря на то, что справочная страница перечисляет nmcli con status как действительную команду, приведенное выше решение, предоставленное Hugo Heden , возвращает ошибку "Error: Object 'status' is unknown, try 'nmcli help'"

Я использую nmcli 1.2.2 (nmcli -v), и я протестировал и изменил следующее для /etc/NetworkManager/dispatcher.d/vpn-up, и он работал как шарм.

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


default_conn=$(nmcli con show --active | grep "${REQUIRED_CONNECTION_NAME}")
vpn_conn=$(nmcli con show id | grep "${VPN_CONNECTION_NAME}")
if [ "${default_conn}" -a ! "${vpn_conn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

Примечание. Вы можете использовать nmcli con show для просмотра всех имен соединений, поскольку они не всегда совпадают с тем, что указано в графическом интерфейсе сетевых подключений

0
ответ дан 31 July 2018 в 10:41

Другие вопросы по тегам:

Похожие вопросы: