[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