PPTP reconnect Problemchen

Mr. BBQ

Der Wurstfachverkäuferin
ich hab hier ein selbstgeschriebenes reconnect-script

Code:
while true ; do

# Test if connection is really ok
/sbin/ping -c 1 www.tilt-lan.com >/dev/null
if [ $? != 0 ]
  then
        echo "#############################################"
        echo "#connection is not ok - trying once again...#"
        echo "#############################################"

        # Here I am using the IP-address from my ISP's gateway
        /sbin/ping -c 1 213.229.45.253 >/dev/null
        if [ $? != 0 ]
          then
                echo "######################################"
                echo "#connection is dead - reconnecting...#"
                echo "######################################"

                echo " "

                echo "######################"
                echo "#killing pf daemon...#"
                echo "######################"

                /sbin/pfctl -d

                # define log file
                LOG=/var/log/adsl

                echo "#########################################"
                echo "#starting connection, or reconnecting...#"
                echo "#########################################"
                /usr/bin/pkill -9 /usr/local/sbin/pptp
                /usr/local/sbin/pptp 10.0.0.138 &
                sleep 30

                echo " "

                echo "####################################"
                echo "#starting or restarting firewall...#"
                echo "####################################"
                /sbin/pfctl -e -F all -f /etc/pf.conf

                /bin/date >> $LOG
                echo "### connection lost and restartet ###" >> $LOG
        fi
fi


    sleep 60 # wait one minute and then check again


done

mein problem ist nun, dass meine leitung manchmal trotzdem ausfällt. was ich herausgefunden habe, bleibt manchmal das script bei "/sbin/ping -c 1 www.tilt-lan.com >/dev/null" oder "/sbin/ping -c 1 213.229.45.253 >/dev/null" hängen und zwar wenn ich manuel pinge gibt er mir aus "ping: unknown host" bzw. "no route to host" wie kann ich diesen fehler wieder umgehen?
 
hmm, anscheinend hat keiner einen tipp. aber jetzt hab ich noch eine frage:

ist es vielleicht klüger wenn ich daraus einen cronjob mach und die endlosschleife rausgebe?
 
Du solltest einfach nicht ping verwenden um zu prüfen ob du noch online bist. Schließlich kann ja auch der Rechner auf der anderen Seite down sein. Grep dir einfach aus ifconfig raus, was du so brauchst.
 
hmm, ich hab das jetzt mal getestet

ifconfig und die interessante zeile ist die inet die ich mit grep schnappe.
Code:
ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
        groups: ppp egress
        [COLOR="Red"]inet 212.41.255.73 --> 213.229.45.253 netmask 0xfffffff8[/COLOR]

verliert jetzt das modem durch einen stromausfall den saft bleibt diese zeile jedoch. die sollte ja nach einiger zeit nicht mehr da sein.

probier ich nun einen ping bleibt dieser hängen und überschreitet sogar die maximale wartezeit. mein router weiss anscheinend dann nicht mehr wohin mit den paketen. ich versteh das ganze nicht wieso das nicht so funktioniert wie ich das will.
 
Hallo Mr. BBQ,

mache doch einfach folgendes:
Hole mit mit sed oder awk die IP-Adresse aus der Ausgabe von ifconfig. Diese IP-Adresse pingst Du an. Setze beim ping ein Timeout von ca. 5 Sekunden (ping blabla -t 5 ). Der return-code staht dann in $?.

Hoffe geholfen zu haben

Viele Grüße

Jürgen
 
Zurück
Oben