VPN PPTP per Script starten

Status
Für weitere Antworten geschlossen.

azohles

Benutzer
Mitglied seit
01. Jul 2014
Beiträge
78
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen bitte um Mithilfe.


Folgendes Senario

Standort A:

Modell: Synology DS 213j
Firmware: DSM 5.x
Internetzugang: DSL 1und1
Router: Draytek Vigor 2820n mit VPN Server
Surveillance Station CMS als Host

Standort B:
Modell: EDS14
Firmware: DSM 5.x
Internetzugang: UMTS ins I-Net

Quickconnect funzt
VPN Client per PPTP
Surveillance Station mit 2 Kameras
CMS Aufnahmeserver

Standort B stellt verbindung zum Standort A her funzt alles wunderbar bis Standort A die Zwangstrennung hat.
Dies dauert aber immer irgendwie zu lang bis die neue IP aufgelöst wird und demzufolge schlägt die wiedereinwahl zum Stabdort A fehl und ich muss mich immer neu per Quickconnect verbinden und VPN starten.

dies kann man ja nun auch per Script machen wenn ich sage das script mittels aufgabenplanen immer um 02:00 Uhr zu starten.

Gruß Andre
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo Andre,

schau Dir deine Konfigurationsfiles unter /usr/syno/etc/synovpnclient/pptp an. Dann nimm die vorhandene id und den Namen deiner Verbindung und passe das Script wie hier beschrieben mit deinen eigenen Daten an.

Die id findest Du mit folgendem Befehl auf der Konsole

Rich (BBCode):
ls -l /usr/syno/etc/synovpnclient/pptp

Ab in den Aufgabenplaner damit und fertig. Kein Hexenwerk. Alternativ hat auch jemand hier im Forum das Script für die Einwahl modifiziert so das dann mehr als 10 Einwahlversuche gemacht wurden. Ich würde aber den Wert nicht zu hoch wählen. Finde den Thread jetzt aber nicht und kann im Augenblick auch auf keine DS mit DSM 5 schauen. Unter 4.3 war das erheblich einfacher :)

Gruß Frank
 

azohles

Benutzer
Mitglied seit
01. Jul 2014
Beiträge
78
Punkte für Reaktionen
0
Punkte
0
Hallo Frank,

daS mit der scriptanpassung habe ich gelesen und etwas angepasst.

Werde mal die Nacht abwarten und schauen ob es geht ansonsten versuche ich mal das von dir vielen dank.

Gruß Andre
 

azohles

Benutzer
Mitglied seit
01. Jul 2014
Beiträge
78
Punkte für Reaktionen
0
Punkte
0
Hallo Frank,

das mit der Anpassung aat leider nicht den gewünschten erfolg gebracht.

Habe jetzt das script was du mir als link geschickt hast verwendet und angepasst.

ist es normal das wenn ich es im Aufgabenplaner stündlich laufen lasse der er den tunnel immer wieder trennt.

Dies ist etwas doof da ich dann immer wieder benachrichtigung bekommen das der Aufnahmeserver getrennt wurde.

Ist es irgendwie möglich das er prüft ob der tunnel da ist und erst wenn er weg ist neu verbindet.

Gruß André
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo Andre,

Script stammt nicht von mir, deshalb nur eine Beschreibung zum Ablauf um eine Verbindung aufzubauen. Zuerst wird ein Textfile mit den entsprechenden Daten erstellt und dann synovpnc mit connect aufgerufen. Wird die Verbindung getrennt dann löscht synovpnc automatisch das Textfile. Schreibe gerade vom Pad und da ist das immer ein bischen schwierig mal gleichzeitig einen Blick auf das Script zu werfen.

Habe aber im Kopf das dort mit einem if-Block zuerst grprüft wird ob das Textfile vorhanden ist. Gegebenenfalls dort die entsprechenden Befehle für connect entfernen (falls vorhanden). Dann sollte es funktionieren.

Gruß Frank
 

azohles

Benutzer
Mitglied seit
01. Jul 2014
Beiträge
78
Punkte für Reaktionen
0
Punkte
0
Hallo Frank,

Wie meinst du das. könntest du mich dabei bitte unterstützen.

gegebenenfalls dort die entsprechenden Befehle für connect entfernen (falls vorhanden). Dann sollte es funktionieren.

Hier mein Script

Rich (BBCode):
#!/bin/sh
PFAD=/usr/syno/etc/synovpnclient
if [ -f $PFAD/vpnc_connecting ]  ; then
 synovpnc connect --id=p1404647410    
 synovpnc get_conn 
else    
 touch $PFAD/vpnc_connecting    
 echo "conf_id= p1404647410" >>$PFAD/vpnc_connecting    
 echo "conf_name=buero" >>$PFAD/vpnc_connecting    
 echo "proto=pptp" >>$PFAD/vpnc_connecting    
 synovpnc connect --id=p1404647410    
 synovpnc get_conn
fi

Gruß André
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo Andre,

die rot markierte Zeile aus dem Script entfernen.

Rich (BBCode):
#!/bin/sh
PFAD=/usr/syno/etc/synovpnclient
if [ -f $PFAD/vpnc_connecting ]  ; then
 synovpnc connect --id=p1404647410    
 synovpnc get_conn 
else    
 touch $PFAD/vpnc_connecting    
 echo "conf_id= p1404647410" >>$PFAD/vpnc_connecting    
 echo "conf_name=buero" >>$PFAD/vpnc_connecting    
 echo "proto=pptp" >>$PFAD/vpnc_connecting    
 synovpnc connect --id=p1404647410    
 synovpnc get_conn
fi

Kann das gerade nicht nachprüfen, aber das sollte es gewesen sein.

Gruß Frank
 

azohles

Benutzer
Mitglied seit
01. Jul 2014
Beiträge
78
Punkte für Reaktionen
0
Punkte
0
Hi Frank,

Hab dies jetzt bei mir geändert wie du es gesagt hast. Jetzt ist das Problem wenn der Tunnel steht baut er ihn ab aber nicht mehr auf.

Gruß Andre
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo Andre,

hab das mal prüfen können. Die vpnc_connecting ist nur während des Verbindungsaufbaus existent und es stimmt ein weiterer connect trennt die Verbindung. War glaube ich mal anders. Aber wer weiß .... das Gedächtnis. Somit muß mit "synovpnc get_conn" erst einmal getestet werden ob überhaupt eine Verbindung existiert. Hab da mal was zusammengeschrieben. Sollte eigentlich funktionieren. Du mußt nur die entsprechenden Zeilen ändern, dann sollte das auch bei Dir gehen.

Rich (BBCode):
#!/bin/sh
PFAD=/usr/syno/etc/synovpnclient

VPN_ID=p1405101031
CONF_NAME=RZ4
PROTOCOL=pptp

VPN_COMMAND=/usr/syno/bin/synovpnc
TOUCH_COMMAND=/bin/touch
ECHO_COMMAND=/bin/echo
GREP_COMMAND=/bin/grep

if echo `$VPN_COMMAND get_conn` | $GREP_COMMAND -q "No connection!!"  ; then
 if [ -f $PFAD/vpnc_connecting ]  ; then
  $VPN_COMMAND connect --id=$VPN_ID
  $VPN_COMMAND get_conn 
 else    
  $TOUCH_COMMAND $PFAD/vpnc_connecting    
  $ECHO_COMMAND "conf_id="$VPN_ID >$PFAD/vpnc_connecting    
  $ECHO_COMMAND "conf_name="$CONF_NAME >>$PFAD/vpnc_connecting    
  $ECHO_COMMAND "proto="$PROTOCOL >>$PFAD/vpnc_connecting    
  $VPN_COMMAND connect --id=$VPN_ID
  $VPN_COMMAND get_conn
 fi
else
 $VPN_COMMAND get_conn
fi

Vieleicht geht es auch mit reconnect, konnte das aber nicht richtig ergründen unter welchen Bedingungen.

Gruß Frank
 

stepman

Benutzer
Mitglied seit
29. Jan 2013
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Ich hatte das gleiche Problem und habe mir ein Script geschrieben, welches zunächst mit ifconfig prüft, ob die Verbindung besteht.
Wenn nicht, unternimmt es 5 Versuche im Abstand von 30s, da der erste manchmal bei mir nicht klappt.

Rich (BBCode):
#!/bin/sh
NAME=name
ID=l1234567890
PROTOCOL=l2tp
CONFIGFILE="/usr/syno/etc/synovpnclient/vpnc_connecting"

for i in 1 2 3 4 5
do
   echo "Durchgang $i"
   if `ifconfig ppp0 | grep -q TX`
   then
      echo "VPN is running"
      break
   else
      echo "VPN is down"
      if [ -f $CONFIGFILE ]
      then
         synovpnc connect --id=$ID
         synovpnc get_conn
      else
         touch $CONFIGFILE
         echo "conf_id=$ID" >> $CONFIGFILE
         echo "conf_name=$NAME" >> $CONFIGFILE
         echo "proto=$PROTOCOL" >> $CONFIGFILE
         synovpnc connect --id=$ID
         synovpnc get_conn
      fi
   fi
   sleep 30s
done

Vielleicht hilft es jemandem weiter...
 

CrimsonGlory

Benutzer
Mitglied seit
08. Okt 2011
Beiträge
218
Punkte für Reaktionen
13
Punkte
18
Hallo zusammen,

ich bin gerade am versuch die Verbindung per Aufgabenplaner einzurichten aber irgendwie klappt es nicht so ganz.
Habe folgendes gemacht:
Des Script von Post #10 in der Aufgabenplaner reinkopiert und die werte für NAME, ID, PROTOCOL von meiner NAS genommen.
Ich weiß nur nicht was ich unter CONFIGFILE nehmen soll, dort wir auf das verzeichnis vpnc_connecting verwiesen. Ich haber aber unter dem verzeichnis synovpnclient nur die verzeichnisse l2tp, opvenvpn, pptp, scripts.

Kann mir da jmd. sagen ob es bis jetzt ok ist und was cih unter CONFIGFILE eintragen soll?

Danke
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0

CrimsonGlory

Benutzer
Mitglied seit
08. Okt 2011
Beiträge
218
Punkte für Reaktionen
13
Punkte
18
Hallo Frank,

ich hab das jetzt versucht so auszuführen und leider ohne erfolg.

So sieht das Coding im Aufgabenplan bei mir aus:

Rich (BBCode):
#!/bin/sh
NAME=VPN_PPTP
ID=connect_p1372785732
PROTOCOL=pptp
CONFIGFILE="/usr/syno/etc/synovpnclient/vpnc_connecting"

for i in 1 2 3 4 5
do
   echo "Durchgang $i"
   if `ifconfig ppp0 | grep -q TX`
   then
      echo "VPN is running"
      break
   else
      echo "VPN is down"
      if [ -f $CONFIGFILE ]
      then
         synovpnc connect --id=$ID
         synovpnc get_conn
      else
         touch $CONFIGFILE
         echo "conf_id=$ID" >> $CONFIGFILE
         echo "conf_name=$NAME" >> $CONFIGFILE
         echo "proto=$PROTOCOL" >> $CONFIGFILE
         synovpnc connect --id=$ID
         synovpnc get_conn
      fi
   fi
   sleep 30s
done

In der Ordner pptp habe ich folgende Dateien:
connect_p1372785732
options_p1372785732.pptp
pptpclient.conf

gruß
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Tja, wahrscheinlich fehlen da irgendwelche Pfade. stepman hat ja auf diese Angabe verzichtet. Der Aufgabenpaner hat erst einmal keine PATH Variable. Keine Ahnung wie bzw. mit welcher Umgebung er das aufgerufen hat. Nimm das Script von mir das funktioniert oder füge die einzelnen Pfade zu den jeweiligen Befehlen hinzu bzw. kopiere die folgende Zeile an den Anfang, dann dürfte auch das Script von stepman im Aufgabenplaner laufen.

Rich (BBCode):
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
export PATH

Gruß Frank
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Mit ist noch aufgefallen das deine ID falsch ist. Da kommt kein "connect" vorne weg. Sieh dir bitte noch einmal die Originalscripte an.

Gruß Frank
 

CrimsonGlory

Benutzer
Mitglied seit
08. Okt 2011
Beiträge
218
Punkte für Reaktionen
13
Punkte
18
Hallo Frank,

das connect war das Problem, ich habe es eins zu eins aus dem Verzeichnis übernommen.
Jetzt funktioniert dein Script sowie der andere.

Vielen Dank für die Hilfe.

gruß
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat