Lösung - VPN Zwangstrennung zu FritzBox aufheben

diver68

diver68

Aktives Mitglied
Thread Starter
Dabei seit
24.07.2011
Beiträge
587
Reaktionspunkte
185
Hallo

ich weiß dass dieses Thema immer mal wieder aufgegriffen wurde, allerdings m.E nie eine vernünftige Lösung gefunden wurde. Da ich sehr häufig beruflich unterwegs bin, und mich somit sehr oft in ungesicherten (Hotel)Wlan´s aufhalten muss, verbinde ich mich immer via VPN zu meinem Netz z.H. Der Router z.H. ist eine FB 7490.
Leider ärgerte es mich immer wieder, dass nach knapp einer Stunde die VPN Verbindung erneuert werden musste (Client/LAN, LAN/LAN funktioniert ja tadellos) Nach endlosen Recherchen in verschiedenen Foren konnte ich jetzt folgende Lösung extrahieren. Bei Interesse geht bitte wie folgt vor.
Kopiert dieses Skript in ein neues Dokument im Text Editor und speichert es als FILE.sh ab z.B. auf dem Schreibtisch ab. .sh ist wichtig!
Code:
#!/bin/bash
 
 
EXPECTED_ARGS=1
E_BADARGS=65
 
 
printHelp ()
{
        echo
        echo -e "\tPurpose: For fixing and unfixing your vpn connections"
        echo -e "\tUsage: sudo `basename $0` [options]\n"
        echo -e "\tOptions"
        echo -e "\tprep\t - fixes racoon.conf. Run only once!!!"
        echo -e "\t\t this adds --> include "/etc/racoon/remote/*.conf" to /etc/racoon/racoon.conf \n"
        echo -e "\tunprep\t - unfixes racoon.conf."
        echo -e "\t\t this removes --> include "/etc/racoon/remote/*.conf" from /etc/racoon/racoon.conf \n"
        echo -e "\tfix\t - run after you login to the vpn. This will disconnect you!"
        echo -e "\t\t This will change the lifetime to 168 hours in the IP.conf file\n"
        echo -e "\tunfix\t - run after your done with the vpn."
        echo -e "\t\t Do this if you need to connect to an other location or you can't connect to the vpn.\n"
 
 
}
 
 
if [ $# -lt $EXPECTED_ARGS ]
then
printHelp
exit $E_BADARGS
fi
 
 
#################
if [ $1 = prep ]
        then
 
 
mkdir -p /etc/racoon/remote
echo -e "creating directory /etc/racoon/remote \n"
cp -a /etc/racoon/racoon.conf /etc/racoon/racoon.conf.orig
echo -e "backing up /etc/racoon/racoon.conf to /etc/racoon/racoon.conf.orig\n"
 
 
echo 'include "/etc/racoon/remote/*.conf" ;' >> /etc/racoon/racoon.conf
echo -e 'adding this line --> include "/etc/racoon/remote/*.conf" ;" <-- to end of /etc/racoon/racoon.conf\n'
fi
 
 
#################
if [ $1 = unprep ]
        then
 
 
rm -rf /etc/racoon/remote
echo -e "removing directory /etc/racoon/remote \n"
 
 
sed -i -e '/include "\/etc\/racoon\/remote\/\*\.conf" ;/d' /etc/racoon/racoon.conf
 
 
echo -e 'removing lines --> include "/etc/racoon/remote/*.conf" ;" <-- from /etc/racoon/racoon.conf\n'
fi
 
 
#################
if [ $1 = fix ]
        then
mv /var/run/racoon/*.conf /etc/racoon/remote
 
 
sed -i -e 's~include "/var/run/racoon/\*\.conf"~#include "/var/run/racoon/\*\.conf"~' /etc/racoon/racoon.conf
 
 
sed -i -e 's/lifetime time 3600 sec/lifetime time 168 hours/' /etc/racoon/remote/*.conf
 
 
 
 
launchctl stop com.apple.racoon
launchctl start com.apple.racoon
 
 
fi
 
 
#################
if [ $1 = unfix ]
        then
sed -i -e 's~#include "/var/run/racoon/\*\.conf"~include "/var/run/racoon/\*\.conf"~' /etc/racoon/racoon.conf
rm -f /etc/racoon/remote/*
 
 
launchctl stop com.apple.racoon
launchctl start com.apple.racoon
 
 
fi
 
 
#################

Anschließend gebt ihr im Terminal folgende Befehle ein:
Code:
sudo sh FILE.sh prep
Code:
sudo sh FILE.sh fix

Anschließend könnt ihr das Skript starten.
Wie ihr im Skript seht, ist die Dauer der VPN Verbindung auf 168h eingestellt, ihr könnt die natürlich beliebig runtersetzen auf 6h oder 24h.

Gruß

Zitat roedert:
Ausserdem muss das Script auch noch "executable" sein

chmod +x ~/Desktop/FILE.sh

Danke
 
Zuletzt bearbeitet:
Hy supper habe mich immer gewundert warum das immer passiert:d
Gibt es auch etwas für windows ?
leider geht es nicht, die Datei ist auf dem Schreibtisch
Code:
toby-macbook-air-3:~ Toby$ sudo sh FILE.sh prep
Password:
sh: FILE.sh: No such file or directory
 
sudo sh FILE.sh prep

sudo sh ~/Desktop/FILE.sh prep

oder wenn du dich schon im Verzeichnis Desktop befindest

sudo sh ./FILE.sh prep

Ausserdem muss das Script auch noch "executable" sein

chmod +x ~/Desktop/FILE.sh
 
  • Gefällt mir
Reaktionen: Tobich
Für Windows habe ich, mangels Masse, nichts.

Wnn der File auf dem Schreibtisch ist, dann

sudo sh /Users/DEINNAME/Desktop/FILE.sh prep
dann
sudo sh /Users/DEINNAME/Desktop/FILE.sh fix

Gruss
 
@roedert Du warst schneller... :)
 
Es wird ausgeführt aber mit einem Fehler:

Code:
 line 1: {rtf1ansiansicpg1252cocoartf1265cocoasubrtf210: command not found
/Users/Toby/Desktop/FILE.sh: line 2: syntax error near unexpected token `}'
/Users/Toby/Desktop/FILE.sh: line 2: `{\fonttbl\f0\fmodern\fcharset0 Courier;}'
toby-air-3:~ Toby$
 
Es handelt sich bei deiner Datei um keine reine Textdatei, sondern um eine formatiert RTF-Datei.

Um eine reine Textdatei zu erstellen nutze ein passenderen Editor (zB TextWrangler) oder erstelle/bearbeite die Datei gleich im Terminal mit nano oder vi.
 
Es handelt sich bei deiner Datei um keine reine Textdatei, sondern um eine formatiert RTF-Datei.

Um eine reine Textdatei zu erstellen nutze ein passenderen Editor (zB TextWrangler) oder erstelle/bearbeite die Datei gleich im Terminal mit nano oder vi.

..oder wandle die Datei vor dem Speichern in eine reine Textdatei um (Menu Format oder cmd-shift-T)
 
Zurück
Oben Unten