Автор Тема: Настройка на VPN клиент  (Прочетена 766 пъти)

rcbandit

  • Напреднали
  • *****
  • Публикации: 144
    • Профил
Настройка на VPN клиент
« -: Nov 19, 2011, 19:34 »
Здравейте,
    Имам един VPS сървър който свързвам ръчно към Cisco VPN server чрез vpnc клиент. Всичко работи но проблема е че когато се рестартира или спре VPN сървъра трябва ръчно да стартирам клиента.
Знам че по принцип може да се направи cron job който да стартира клиента но проблема е какво ще стане ако вече веднъж е стартиран клинета. Всеки път се въвежда ръчно username password.
Дали има някакъв начин това да се реши и всеки път когато се разпадне връската тя автоматично сама да се подновява.

Поздрави

п.п намерих решение:
Значи vpnc може да се настрой да записва в файл номера на процеса на vpnc. Може да се направи един cron job който да проверява дали номера оставен в файла го има като процес, ако го няма да старитара vpnc отново. Обаче нямам си идея как ще се напише това.
Може ли малко помощ за скрипта.
« Последна редакция: Nov 19, 2011, 22:24 от rcbandit »
Активен

rcbandit

  • Напреднали
  • *****
  • Публикации: 144
    • Профил
Re: Настройка на VPN клиент
« Отговор #1 -: Nov 19, 2011, 22:52 »
Намирате ли грешки в този код? За първи път пиша bash script, поне на пръв поглед работи.

Код:
#!/bin/sh
SERVICE='vpnc'
 
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
    echo "$SERVICE service running, everything is fine"
else
    echo "$SERVICE is not running"
    echo "Starting $SERVICE"
    vpnc test --local-port 0 --pid-file /var/run/vpnc/pid
fi
Активен

dejuren

  • Напреднали
  • *****
  • Публикации: 1025
  • Distribution: Ubuntu, RedHat
  • Window Manager: lxde KDE4
    • Профил
Re: Настройка на VPN клиент
« Отговор #2 -: Nov 24, 2011, 20:35 »
Намирате ли грешки в този код? За първи път пиша bash script, поне на пръв поглед работи.

Код:
#!/bin/sh
SERVICE='vpnc'
 
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
    echo "$SERVICE service running, everything is fine"
else
    echo "$SERVICE is not running"
    echo "Starting $SERVICE"
    vpnc test --local-port 0 --pid-file /var/run/vpnc/pid
fi

Нормален код, само може да заместиш echo с logger, например:
Код:
logger "$SERVICE is not running, starting now"
Така съобщенията ще ти отиват в messages, вместо в cron лог-а. Но ако ти е все едно може и да не променяш нищо. Освен това може да махнеш едната част на if-a и да не отчиташ, че cron се е изпълнил, той и без това няма къде да ходи, да оставиш само частта при която vpnc действително се стартира отново.
Активен

http://webchat.freenode.net/?channels=ubuntu-bg
The quieter you become, the more you are able to hear.
Две седмици цъкане с мишката спестяват два часа четене на документацията.