par MasterSleepy » 02 Déc 2003 07:21
Salut,
<BR>
<BR>J'ai aussi eu ce problème, pour mon cas je pensais que cela venait de mon FAI qui n'acceptais pas de reconnection trop rapide.
<BR>
<BR>Voilà mon /etc/init.d/pppoa :
<BR>#=================BEGIN CUT====================
<BR>#!/bin/sh
<BR># Description : Starts and stops an ADSL connection (PPPoA) #/etc/rc.d/init.d/pppoa
<BR>
<BR>
<BR>LOG=/var/log/adsl
<BR>
<BR>getip()
<BR>{
<BR> IP=`/sbin/ifconfig ppp0 | fgrep "inet ad" | cut -f2 -d":" | cut -f1 -d" "`
<BR>}
<BR>
<BR>killallprocess()
<BR>{
<BR> for i in `pidof pppoa3`
<BR> do
<BR> kill -9 $i
<BR> done
<BR> for i in `pidof pppd`
<BR> do
<BR> kill -9 $i
<BR> done
<BR> for i in `pidof modem_run`
<BR> do
<BR> kill -9 $i
<BR> done
<BR>}
<BR>
<BR>start()
<BR>{
<BR> echo -n "Starting pppoa (version 3) :"
<BR> echo $(date)" : Loading USB modules ..." >> $LOG
<BR> rmmod usb-uhci
<BR> modprobe usb-uhci
<BR> mount -t usbdevfs none /proc/bus/usb
<BR> sleep 2
<BR> echo $(date)" : Loading microcode ..." >> $LOG
<BR> /usr/local/bin/modem_run -f /usr/local/bin/mgmt.o -m
<BR> echo $(date)" : Microcode loaded" >> $LOG
<BR> modprobe n_hdlc
<BR> route del default
<BR> echo $(date)" : Running pppd" >> $LOG
<BR> /usr/sbin/pppd call adsl
<BR> echo $(date)" : ADSL Started" >> $LOG
<BR> sleep 20
<BR> # /sbin/e-smith/expand-template /etc/rc.d/init.d/masq
<BR> # service masq restart
<BR> /etc/vanhees.homeip.net.conf
<BR> /etc/rc.d/init.d/nut restart
<BR> /etc/rc.d/init.d/snortd restart
<BR>}
<BR>
<BR>stop()
<BR>{
<BR> echo -n "Shutting down pppoa (version 3) : "
<BR> echo $(date)" : Killing pppd ..." >> $LOG
<BR> killproc pppd
<BR> echo $(date)" : ADSL Stopped" >> $LOG
<BR>
<BR>}
<BR>
<BR>restart()
<BR>{
<BR> echo $(date)" : Restarting ADSL connection ..." >> $LOG
<BR> echo $(date)" : Killing pppd ..." >> $LOG
<BR> killproc pppd
<BR> echo $(date)" : pppd killed" >> $LOG
<BR> sleep 2
<BR> echo $(date)" : Starting pppd" >> $LOG
<BR> route del default
<BR> /usr/sbin/pppd call adsl
<BR> echo $(date)" : ADSL Started" >> $LOG
<BR> sleep 20
<BR> # /sbin/e-smith/expand-template /etc/rc.d/init.d/masq
<BR> # service masq restart
<BR> /etc/vanhees.homeip.net.conf
<BR>}
<BR>
<BR>hardrestart()
<BR>{
<BR> echo $(date)" : HARDKilling pppd ..." >> $LOG
<BR> killallprocess
<BR> echo $(date)" : Wait 1 min before reconnect ..." >> $LOG
<BR> sleep 30
<BR> echo $(date)" : Starting normal service ..." >> $LOG
<BR> start
<BR>}
<BR>
<BR>. /etc/rc.d/init.d/functions
<BR>
<BR>case "$1" in
<BR> start)
<BR> start
<BR> ;;
<BR>
<BR> stop)
<BR> stop
<BR> ;;
<BR>
<BR> restart)
<BR> restart
<BR> ;;
<BR>
<BR> hardrestart)
<BR> hardrestart
<BR> ;;
<BR> *) echo "Usage: $0 { start,stop,restart,hardrestart }"
<BR>exit 1
<BR>esac
<BR>exit 0
<BR>#=================END CUT====================
<BR>
<BR>Comme tu peux le voir, j'ai rajouté un hardrestart.
<BR>OK c'est plutôt méchant comme restart mais ça marche nickel.
<BR>
<BR>Voici maintenant le script de reconnection dans /usr/local/bin/reco-pppoa:
<BR>#==================BEGIN CUT========================
<BR>#!/bin/sh
<BR># By Baz (Merci à lui!)
<BR>
<BR>LOCKFILE=/var/lock/subsys/pppoa
<BR>
<BR>#Check IPs from ifconfig
<BR>getip()
<BR>{
<BR> IP=`/sbin/ifconfig ppp0 | fgrep "inet ad" | cut -f2 -d":" | cut -f1 -d" "`
<BR>}
<BR>
<BR>getstatus()
<BR>{
<BR> STAT=`cat $LOCKFILE`
<BR>}
<BR>
<BR>#Check if ppp0 is up, if not, restart the connction
<BR>getip
<BR>#Pas d'ip on n'est pas connecter
<BR>if ! [ "$IP" ]; then
<BR> #Verification du status du process
<BR> getstatus
<BR> if [ "$STAT" = "FIRSTRESTART" ]; then
<BR> #Le premier redemarrage n'a rien donné
<BR> #on essaye plus violent
<BR> /etc/rc.d/init.d/pppoa hardrestart &
<BR> exit
<BR> else
<BR> # Premier redemarrage
<BR> echo "FIRSTRESTART" > $LOCKFILE
<BR> /etc/rc.d/init.d/pppoa restart &
<BR> exit
<BR> fi
<BR>else
<BR> #ON est connecter
<BR> #Verification du status pour savoir si il faut mettre le fichier à blanc
<BR> echo > $LOCKFILE
<BR>
<BR>fi
<BR>#=======================END CUT=======================
<BR>
<BR>Voilà avec deux scripts là ça devrait plus te le faire.
<BR>
<BR>A+
"Microsoft fera quelque chose qui ne plantera jamais quand ils commenceront à fabriquer des clous "
http://www.vanhees.cc