[linux] Re: ADSL en default route (Aanvulling)

Marc Fellman marc.fellman op gmail.com
Wo Aug 2 23:16:22 CEST 2006


Op 2-8-06 heeft Martijn van Oosterhout<kleptog op svana.org> het volgende
geschreven:
> On Wed, Aug 02, 2006 at 10:17:37AM +0200, Marc Fellman wrote:
> > Ik ben het helemaal met je eens. Voor iedereen die gebruik maakt van
> > ADSL (en ik denk niet alleen bij XS4ALL) is er een redelijk grote kans
> > dat ze hiermee te maken hebben. Je merkt er alleen niets van als je op
> > het standaard pad blijft want dan doet de speedtouch de routing en zit
> > je op een private segment (10.0.0.X). Ik heb dus begrepen dat deze
> > truuk (gateway op een afwijkend netwerk dan de interface) vooral wordt
> > gebruikt vanwege het tekort aan IP nummers. Ik heb het vermoeden dat
> > er ook een ander reden is maar ik weet niet welke ;-).
> Ah, maar dan heb je eigenlijk te maken met een point-to-point link. Die
> heeft helemaal geen netmask, alleen twee IP's. Dat krijg je zo:
>
> ifconfig eth0 <jouwip> pointopoint <remoteip> netmask 255.255.255.255
>
> Dan is je gateway <remoteip> en is dus inderdaad niet in de buurt van
> <jouwip>. Maar ik weet niet hoe dat via DHCP opgesteld kan worden...
>

Ik heb ook nog geen idee. Voorlopig ben ik maar begonnen aan een
script. Hieronder staat het prototype en ik ben van plan dit script
elke minuut te draaien zodat het automagisch de routes toevoegt als de
interface in de lucht komt. Er zullen vast nog wel onvolkomenheden in
zitten (Ik moet geloof ik ook nog even afvragen of er wel een zinnig
IP-nummer op de externe interface zit (RED)).

Hieronder mijn (prototype) script:
<BEGIN>
#!/bin/bash

PUMPTIME=`date|cut -b 10-16`
DHCPTEST=`ps -eaf|grep "dhclient -pf"|grep -v grep|wc -l`
DHCPPID=`ps -eaf|grep "dhclient -pf"|grep -v grep|cut -b 11-16`
REDINTF=`cat /var/efw/uplinks/main/settings|grep RED_DEV|cut -f 2 -d "="`
REDUP=`netstat -rn|grep ${REDINTF}|wc -l`
PUMPUP=`ps -eaf|grep "pump"|grep -v "pump"|wc -l`

if [ "${REDUP}" != "0" ]; then
   if [ "${DHCPTEST}" != "0" ]; then
      echo " deleting dhclient process"
      kill ${DHCPPID}
   fi
   if [ "${PUMPUP}" = "0" ]; then
      pump -i ${REDINTF}
      sleep 3
      GATEWAY=`tail -1000 /var/log/messages|grep "${PUMPTIME}"|grep
"pumpd"|grep "gateway"|cut -f 9 -d" "|tail -1`
      route del default ${REDINTF} 2> /dev/null
      route del host ${REDINTF} 2> /dev/null
      route add -host ${GATEWAY} ${REDINTF}
      route add default gateway ${GATEWAY}
   fi
fi

<END>

Ik hoor graag aanvullingen. Ik moet misschien in plaats van op een
bepalde time stamp greppen op de pid van pumpd in mijn messages maar
dat volgt nog. Ik zag dat gebruik werd gemaakt van dhclient als dhcp
client en die rapporteerd niet genoeg over het DHCPOFFER. Daarom dat
ik pump gebruik maar omdat deze niet standaard meegeleverd wordt kan
ik niet zomaar de output gebruiken naar tsdout dus daarom in de
messages file. Als iemand nog suggesties heeft (of aanvullingen en/of
verbeteringen) dan hoor ik dat graag.


Met Vriendelijke Groet / With Kind Regards

Marc Fellman



More information about the Linux mailing list