ADSL IP route
Radek Hyrsl
radek123 na cbox.cz
Sobota Červen 28 11:49:26 CEST 2003
Já mám profi verzi ADSL na dvou místech od Telecomu. Na jednom místě mi běží
bez výpadku už 3 týdny a na druhém vypadává asi tak jednou za dva dny. Asi
bude záležet na kvalitě telefonní linky.
Jinak ten route by se měl automaticky nastavit, když se aktivuje ppp
rozhraní. Jestli se nepletu tak u RadHatu v
/etc/sysconfig/network-scripts/ifcfg-ppp0
by měl být parametr DEFROUTE=yes nebo v /etc/ppp/options parametr
defaultroute. Každé 3 minuty pak spouštím skript, který zkouší ping na
gateway Telecomu a případně znovu aktivuje ppp rozhraní
#!/bin/bash
# Check if ADSL Connection is still up... of not, kill it and restart
#
# (C) 2002 Mark Janssen, licensed under the GNU GPL version 2.
#
# Revision 1.1: A new version of ping had a different summary line, making
# checkadsl always fail (Grumble). Changed filter for packet loss to
# compensate this.
# Revision 1.2: Make it even better by just getting the percentage field
# out of the output
REMOTE=80.188.22.126 # testovaci IP adresa
MODEM=10.0.0.138 # IP adresa ADSL modemu
CHECK=`/bin/ping -c 5 -q $REMOTE | /bin/grep "loss"`
COUNT=`/bin/echo $CHECK | tr ' ' '\n' | grep '%$'`
LOGFILE=/var/log/adsl.log
date
if [[ "$COUNT" == "" ]]
then
echo "Captain, the regex-es are failing again, she can't take it"
echo "Please try and fix the bug (Has ping changed ???)"
echo "Check = '$CHECK'"
echo "Count = '$COUNT'"
echo "Restarting connection..."
COUNT="100%"
fi
if [[ "$COUNT" == "100%" ]]
then
echo "WARNING: Packet loss ($COUNT)"
# Kill all pptp processes and restart connection
/usr/bin/killall pptp
# /usr/bin/killall pppd
sleep 2
# kill -9 `ps -ef | grep -e pptp -e pppd | grep -v grep | awk '{print $2}'`
sleep 2
rm -f /var/lock/LCK..pts*
cd /root
# nohup /usr/sbin/pptp $MODEM --phone pc1 file /etc/ppp/options.adsl >>
$LOGFILE &
/usr/sbin/pptp $MODEM >> $LOGFILE
else
echo "OK: $COUNT Packet loss"
fi
echo "----------------------------------------------------"
Další informace o konferenci Linux