Ginace pppd

Marcin Bohosiewicz marcus w venus.wis.pk.edu.pl
Śro, 29 Mar 2000, 12:28:34 CEST


On Wed, 29 Mar 2000, Grzegorz Stanislawski wrote:

> On Wed, 29 Mar 2000, Artur Frysiak wrote:
> > > Po raz kolejny pisze o tym samym. Otoz zainstalowalemPLD na kilku
> > > maszynkach ktore robia za routery dla lacz stalych i we wszystkich
> > > mam ten sam objaw: pppd ginie jak dluzej lacze jest rozpiete.
> > > W logu widac"can't load module char-major-<bardzo_duza_liczba>).
> > Daj odpowiedniego aliasa w /etc/modules.conf a nie stosuj rozwiązań siłowych.
> > alias char-major-<bardzo_duza_liczba> ppp
> >
> > > Proponowalbym, zeby przerobic plik /etc/sysconfig/network-scripts/ifup-ppp,
> > > albo napisac maly wrapperek na pppd  trzymajacy demona jednak w petli. Tak,
> > > zeby ufac ze pppd nie padnie dalej byc nie moze,
> > > bo w praktyce powoduje to koniecznoscrecznego stawiania pppd co jakis czas,
> > > co jest utrudnione jak komputer stoi gdzies w szafie u klienta....
> > > 
> > Naprawde nie widze powodu dla którego miała by istnieć taka pętla. Ale niech się
> > wypowiedzą ludzie z większym doświadczenieniem z ppp (Pepsi, Kravietz?)
> >  
> Zgadzam sie z wigetem.
> Nie rob nic na sile - wez odpowiedni mlotek.
> Jesli zalezy ci na permanentnym pppd to najprosciej bylo by to wpisac do
> inittaba a nie mieszac z jakmimis skryptami (ktore tez moga zemrzec)
> dla pppd w innttabie pozyteczna staje sie opcja call <peer>. poszukaj w
> manie do pppd.
> Ja uzywam takej konfiguracji na wszystkich swoich dzierzawkach.
> Jakbys chcial dorobic tu opcje do zatrzymywania interfejsu to bedzie to
> troche zakrecone ale moze przy zaprzegnieciu do zabawy 
> /etc/{sysconfig}/initscript'a, jakiegos lockfile'a i malego skryptu.

Czemu cigle odkrywamy Ameryke. Inittaby, crony itp.
RedHat ma to od dawna (choc w 6.1 chyba sie niestety z tego wycofali).
Moje pytanie brzmi:
Jak poprawic ifup-ppp zeby jak sie w ifcfg-ppp0 ustawi PERSIST na yes
pppd bylo aktywne od momentu ifup ppp0 do ifdown ppp0 i zeby zadna dodatkowa
metoda nie trzeba bylo tego sprawdzac dla zapobiezenia awarii dzierzawki.

Wydaje mi sie ze petla jest rozwiazaniem najprostszym, bo nie rozumiem
jaki jest zysk z tego ze przy ifup'ie skrypt ifup-ppp ma byc wykonywany do
konca, a nie ubijany w momencie ifdown.

Petla jest chyba elegantsza od skryptu:
#!/bin/sh
if [ ! xxx`ps -A | awk '{print $4}' |grep pppd` = "xxxpppd" ]
        then
        /sbin/ifdown ppp0
        sleep 10
        killall -9 pppd 2>&1 > /dev/null
        ip link set ppp0 down 2>&1 > /dev/null
        sleep 5
        /sbin/ifup ppp0
fi



odpalanego z crona co 5 minut.



M.



-- 
-| == Marcin Bohosiewicz - MB8042-RIPE - marcus w venus.wis.pk.edu.pl == |-
-| == tel. +48 601 485097 - PLD Team -   marcus w krakow.linux.org.pl == |-
-| == Strona Domowa      -       http://venus.wis.pk.edu.pl/marcus/ == |-
-| == PLUG - Komisja Rewizyjna       -     http://www.linux.org.pl/ == |-
-------------- następna część ---------
--- ifup-ppp.orig	Wed Mar 29 11:41:57 2000
+++ ifup-ppp	Wed Mar 29 12:13:09 2000
@@ -45,13 +45,6 @@
     "/usr/sbin/pppd does not exist or is not executable for $DEVICE"
   exit 1
 }
-#[ -f /etc/sysconfig/network-scripts/chat-$DEVICE ] || {
-#  echo "/etc/sysconfig/network-scripts/chat-$DEVICE does not exist"
-#  echo "ifup-ppp for $DEVICE exiting"
-#  logger -p daemon.info -t ifup-ppp \
-#    "/etc/sysconfig/network-scripts/chat-$DEVICE does not exist for $DEVICE"
-#  exit 1
-#}
 opts="lock"
 if [ "${PERSIST}" = "yes" ]; then
   opts="$opts persist holdoff $HOLDOFF"
@@ -91,10 +84,6 @@
 if [ -n "${REPORTFILE}"  ] ; then
   chatrpt="-r ${REPORTFILE}"
 fi
-#CHATSCRIPT=/etc/sysconfig/network-scripts/chat-$DEVNAMR
-#[ -f $CHATSCRIPT ] || {
-#  CHATSCRIPT=/etc/sysconfig/network-scripts/chat-$PARENTDEVNAME
-#}
 > /var/run/ppp-$DEVICE.dev
 (logger -p daemon.info -t ifup-ppp \
     "pppd started for $DEVICE on $MODEMPORT at $LINESPEED" &)&
@@ -104,11 +93,11 @@
   /usr/sbin/pppd -detach $opts $MODEMPORT $LINESPEED \
     connect 'eval /usr/sbin/chat $chatdbg $chatrpt \
     `grep -v ^# ${CHATSCRIPT}`' \
-    remotename $DEVICE ipparam $DEVICE \
+    remotename $DEVICE ipparam $DEVICE linkname $DEVICE\
     ${PPPOPTIONS} &
 else
   /usr/sbin/pppd -detach $opts $MODEMPORT $LINESPEED \
-    remotename $DEVICE ipparam $DEVICE \
+    remotename $DEVICE ipparam $DEVICE linkname $DEVICE \
     ${PPPOPTIONS} &
 fi
  echo "$!" > /var/run/ppp-$DEVICE.pid


Więcej informacji o liście dyskusyjnej pld-devel-pl