VPN Autoconnect

После того, как я не смог повторно запустить. ~ / .bash_profile или любые обычные команды, такие как whoami, grep и т. д. Я решил, что нужно просто повторно экспортировать требуемые пути:

export PATH=/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/cpanel/composer/bin:/usr/local/easy/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin

Это должно работать в большинстве систем, хотя некоторые из этих путей не присутствуют во всех пакетах Linux. Это сработало для меня.

1
задан 5 August 2013 в 14:27

7 ответов

Взгляните на vpnautoconnect.

vpnautoconnect - это демон, который позволяет вам автоматически подключаться (при запуске тоже) vpn создавать с помощью сетевого менеджера. Он может подключаться очень быстро и контролировать полосу пропускания, он работает с соединением pptp и openvpn.

Для получения дополнительной информации и загрузки посетите веб-сайт.

Попробуйте также:

используйте функцию AUTOSTART в /etc/default/openvpn

Или

Выясните UUID вашего VPN-соединения.

nmcli con list | grep -i vpn

UUID - это второй столбец с буквами, цифрами и тире.

Запустите соединение в терминале. Просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он откроется, запустите следующие команды:

nmcli con up uuid <put you UUID here>

Установите это для запуска при запуске.

Перейдите к тире, введите и выберите «Запуск приложений», нажмите «Добавить» и добавьте команду nmcli выше (с UUID). Нажмите «Добавить». В названии введите имя, которое вы хотите использовать, и в Command поместите всю строку nmcli выше. Нажмите «Добавить» еще раз. Теперь перезагрузитесь и попробуйте.

Источник: SourceForge

8
ответ дан 24 May 2018 в 19:20
  • 1
    Я установил и настроил его, перезагрузил мой компьютер, но он не работает. – Paul Woitaschek 7 August 2013 в 22:02
  • 2
    Я добавил дополнительную информацию в свой ответ. – Mitch♦ 15 August 2013 в 21:53
  • 3
    Есть ли доступная документация для vpnautoconnect? Их сайт - это заброшенная страница проекта SourceForge, и пакет не предоставляет man-страницы. Жесткий звук кажется многообещающим. – Tamás Barta 14 July 2015 в 11:22
  • 4
    Кажется, я не могу найти, но я буду продолжать смотреть. – Mitch♦ 14 July 2015 в 11:56
  • 5
    Список действий был переименован в show в 15.04 или 15.10 – Croll 6 February 2016 в 01:49

Я бы рекомендовал проверить скрипт в этой статье:

#!/bin/bash

# YourVPN here is the name of desired vpn connection to monitor
# edit this line:
##################
VPNNAME=YourVPNUUID
# enter desired time between checks here (in seconds)
SLEEPTIME=15
##################

nice=0

for (( ; ; )); do

# creating infinite loop

tested=$(nmcli con status uuid $VPNNAME | grep -c UUID)
#possible results:
# 0 - no connection - need to start
# 1 - working connection, continue.

case $tested in
"0")
echo "Not connected - starting"

#increase nice counter
nice=$[nice+1]

#if "nice start" fails for 3 times
if [ $nice -ge 3 ];
then
#TRY to knock hard way, resetting the network-manager (sometimes it happens in my kubuntu 12.04).
      echo "HARD RESTART!"
      nmcli nm enable false
      nmcli nm enable true
      sleep 5
      nmcli con up uuid $VPNNAME
      nice=0
else
#not yet 3 falures - try starting normal way
      echo "trying to enable."
      nmcli con up uuid $VPNNAME
fi

;;

"1")
echo "VPN seems to work" 

;;
esac

sleep $SLEEPTIME

done

Чтобы узнать значение YourVPNUUID для $ VPNNAME, просто запустите следующее:

nmcli con list | grep -i vpn
1
ответ дан 24 May 2018 в 19:20

vpnautoconnect не работал для меня в 12.04 LTS, и я, похоже, не единственный.

Я немного изучил его и объединил некоторый существующий код, чтобы создать свой первый скрипт bash. Он проверяет, является ли данное VPN-соединение активным, и будет подключаться, если нет. Если он подключен, он будет спать в течение заданного времени, например. 1 минута и повторите процесс бесконечно.

#! /bin/bash

while true
do
   connection="Auto Ethernet"
   vpn_connection="My VPN connection"
   run_interval="60"

   active_connection=$(nmcli dev status | grep "${connection}")
   active_vpn=$(nmcli dev status | grep "${vpn_connection}")

   if [ "${active_connection}" -a ! "${active_vpn}" ];
   then
      nmcli con up id "${vpn_connection}"
   fi

   sleep $run_interval
done

Инструкции:

Создайте пустой текстовый файл с именем, например. vpn-auto-connector.sh (я сохранил его в своей домашней папке) Щелкните правой кнопкой мыши файл и выберите «Свойства» - «Разрешения» и установите флажок «Разрешить выполнение файла как программы». (Возможно, вам придется сохранить файл в другом месте и / или изменить read / write / execture, если ваш компьютер имеет несколько пользователей.) Скопируйте код сверху в созданный файл. Замените значения следующих трех переменных: connection = «Auto Ethernet» vpn_connection = «Мое VPN-соединение» run_interval = «60». Их можно найти, открыв сетевой диспетчер. В моем случае соединение = «Авто Ethernet» - это мое активное проводное соединение (не протестированное с помощью беспроводной сети), а vpn_connection = «Мое VPN-соединение» - это имя моего VPN соединение. run_interval = "60" - это промежуток времени в секундах для повторения сценария. Откройте Applications-> System Tools-> Preferences-> Startup Applications. Добавьте подходящее имя, например «VPN Auto Connector», и для команды выберите файл .sh, который вы сохранили ранее. Теперь скрипт bash будет запущен при запуске и wil Я продолжаю проверять, активно ли VPN-соединение. Вы можете попробовать, отключив VPN-соединение, и его необходимо активировать автоматически снова.
1
ответ дан 24 May 2018 в 19:20
  • 1
    Большое спасибо. Этот сценарий легко понять. – Evan Hu 8 May 2016 в 17:05

Vpnautoconnect отлично работает в Ubuntu 12.04, 13.04 и 13.10 (я думаю, что в 13.10 опция «connect автоматически» в Network-Manager была исправлена ​​и работает сейчас)

Итак, если у вас есть проблемы, чтобы установить его или заставить его работать, или не найти параметр «openvpn» в выпадающем меню Network-Manager для создания открытого соединения vpn, вы можете следовать этому тату, который дает вам все шаги, очень четкие

Посмотрите ЗДЕСЬ

И дайте мне знать: -)

0
ответ дан 24 May 2018 в 19:20

Вот очень надежный и надежный сценарий, который будет:

Проверьте, подключены ли вы к какой-либо VPN. Если нет, подключитесь к последнему активному VPN

Это особенно полезно если вы регулярно подключаетесь к различным VPN-сетям, так как вам не нужно указывать одно VPN-соединение для повторного подключения.

#!/bin/bash

nmcli --mode multiline --fields uuid,vpn connection status | grep -qc "^VPN:.*yes" 1>/dev/null 2>&1

if [ $? -ne 0 ]; then
        last_vpn_uuid=`nmcli --mode tabular --fields uuid,type,timestamp connection list | grep -E "\s+vpn\s+" | sort -k3 -nr | head -n1 | awk '{ print $1 }'`

        nmcli connection up uuid "$last_vpn_uuid"
fi
0
ответ дан 24 May 2018 в 19:20
  • 1
    Это действительно интересно, но оно вызывает несколько ошибок: $ nmcli -version nmcli tool, версия 0.9.10.0 $ lsb_release -a Нет доступных LSB-модулей. Идентификатор дистрибьютора: Ubuntu Описание: Ubuntu 15.04 Release: 15.04 Codename: яркий – gare 14 September 2015 в 04:09

Я на Ubuntu 14.04 LTS на нескольких машинах. В связи с тем, что у меня есть некоторые особые предпосылки:

Я не хочу сохранять пароль в диспетчере паролей. Я использую гостевую систему VirtualBox, которая теряет VPN при повторном подключении к сети. Диалог пароля открывается несколько раз при повторном подключении Я использую резервный VPN-сервер (переход на другой ресурс). Используя файл конфигурации для uuids

, я работаю с этим очень проверенным и очень надежным сценарием:

автоматический повторный скрипт (virtualbox, failover vpn, nm-applet bug, config file)

Есть, однако, некоторые оговорки с апплетами сетевого администратора, которые я мог бы временно решить (см. раздел «Устранение неполадок» в статье).

vpnautoconnect не работает для меня.

0
ответ дан 24 May 2018 в 19:20

answer by @vincentYo выглядит прямо, но я не мог это сделать, поэтому я сделал это как показано ниже.

step1: создать сценарий оболочки и добавить команду vpn

] vim auto_vpn.sh

#!/bin/sh vpnc --enable-1des

step2: откройте файл sudoer и сообщите ядру, чтобы он не запрашивал пароль для этого файла.

vim auto_vpn.sh

sudo vim / etc / sudoers

имя пользователя ALL = (root) NOPASSWD: your_shell_script.sh [ ! d9]

большинство вещей внутри этого файла будут прокомментированы, просто добавьте, как показано ниже

имя пользователя ALL = (root) NOPASSWD: your_shell_script.sh

пример:

* * * * * sudo /home/sharath/workspace/work/src/auto_vpn.sh

sharath ALL = (root) NOPASSWD: / home / Шарат / рабочее пространство / работа / SRC / auto_vpn.sh

0
ответ дан 24 May 2018 в 19:20

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

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