🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Bernhard Lukas Fri, 07 Sep 2001 09:01
ADSL reconnect script
#18
Author: Bernhard Lukas
Date: Fri, 07 Sep 2001 09:01
88 lines
4820 bytes
konfiguration:
 - SuSE 7.0 (x86, 2.2.x Kernel)
 - ppp-2.3.11-106
 - pptp-linux-1.0.2 (also die normale ungepatchte Version)
 - ein Alcatel Modem (BCAA), Einwahl bei Inode (ADSL)
 - 2 Netzwerkkarten, eth1 (192.168..) und eth0 (10.0..) als Interfaces

problem: (scripts siehe unten)
telnet zum rechner, dann su, dann "online" -> alles passt. irgendwann hauts
mich raus. also "offline" ausgef�hrt und solang bis kein output auf STDERR(?)
mehr kommt und dann wieder "online"...

sehr unkomfortabel das alles, deshalb hab ich (da die scripts als cron-job
nicht zu gebrauchen sind (weil erst der call manager und alles was pptp zu
tun hat gekillt sein muss) ein "reconnect" script gebastelt. das schreibt mir
dann in das fenster gleich den status der verbindung (up, down, reconnect).

theoretisch k�nnte ich also die loop und das sleep 30 raushauen und das
script als cronjob laufen lassen, ABER irgendwann kann ich das nicht mehr neu
starten weil immer im "adsl.err" (STDERR umgeleitet) dann folgendes steht:
-----------------------------------------------------------------------------
warn[open_unixsock:pptp_callmgr.c:308]: Call manager for x.x.x.x is
already running.
fatal[callmgr_main:pptp_callmgr.c:124]: Could not open unix socket for
x.x.x.x
fatal[launch_callmgr:pptp.c:213]: Call manager exited with error 256
-----------------------------------------------------------------------------
nat�rlich hab ich zu dem problem auch schon was gefunden, aber selbst ein
"rm /var/run/pptp/10.0.0.138" hilft oft nicht weiter, weil manchmal existiert
die datei schon nicht mehr und der socket is immer noch "in use"(?).

fragen:
1. kann mir jemand URLs zeigen wo pptp, ppp und diese bl�den unix domain
   sockets fuer dummies (naja, fast-dummies) erkl�rt werden?
2. wie kann ich bewerkstelligen dass mein k�bel gleich beim hochfahren mit
   dem connecten anfangt (a la "reconnect") und das dann als cronjob? ich
   habs so wie auf der inode-homepage nachgemacht und es hat ned gscheit
   hingehaut!
3. kann es sein dass ich als erstes argument an das pptp die IP �bergeben
   soll weils die open_unixsock(inetaddr)-funktion hostnamen ned vertragt?
4. ist mir sonstwo ein kapitaler fehler unterlaufen?

sh-scripts: (leicht gek�rzt)

/usr/local/sbin/online:
-----------------------------------------------------------------------------
/usr/local/sbin/pptp adsl 1>./adsl.out 2>./adsl.err &
sleep 10
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/ipchains -A forward -j MASQ -i ppp0
---------------------adsl ist als 10.0.0.138 in der /etc/hosts eingetragen---

/usr/local/sbin/offline:
-----------------------------------------------------------------------------
ps -ax > ./adsl.tmp
cat ./adsl.tmp | grep pppd && /usr/bin/killall pppd > /dev/null
cat ./adsl.tmp | grep pptp && /usr/bin/killall pptp > /dev/null
---------------------weiss nicht ob die reihenfolge hier wichtig ist---------

/usr/local/sbin/reconnect:
-----------------------------------------------------------------------------
while true; do
  sleep 30
  if (ps -axu | grep pptp | grep -v grep > /dev/null); then
    if (ping -c2 -w2 mach3 2>/dev/null | grep -c round-trip >/dev/null); then
      echo -n "-"   # the interface is up and connected
    else
      echo -n "_"   # the interface is down, but the call manager exists
      /usr/local/sbin/offline 1>/dev/null 2>/dev/null
      sleep 8
      /usr/local/sbin/offline 1>/dev/null 2>/dev/null
      sleep 1
      /usr/local/sbin/online  1>/dev/null 2>/dev/null
      echo -n "r"   # reconnected
    fi
  else
    /usr/local/sbin/online 1>/dev/null 2>/dev/null
    echo -n "R"     # reconnected
  fi
done
----------mach3 ist als 195.58.161.6 in der /etc/hosts eingetragen-----------

sorry f�r dieses LANGE posting, aber vielleicht kann mir hier trotzdem jemand
helfen, sonst setz ich n�mlich mein graffel von server komplett neu auf...


-- 
Greetings, Bernhard Lukas
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads