Archief - default route verdwijnt

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

cooLopke

Legacy Member
Beste

Op mijn huidige router (Edimax BR-6104K) heb ik momenteel een custom firmware staan van OpenWRT. Vervolgens heb ik zelf een scriptje geschreven wat ervoor zorgt dat mijn MAC-adres van mijn WAN-poort gewijzigd wordt en dan een nieuw DHCP adres van Telenet ontvang. Dit was nodig vermits de DHCP-server van Telenet vermoedelijk een statische DHCP-lijst bijhoudt. Deze cronjob laat ik dagelijks uitvoeren, zodat ik dagelijks een nieuw IP-adres ontvang.

Het enige probleem is nu dat wanneer mijn MAC-adres gewijzigd is, dat er na een x-aantal uur (meestal ongeveer om de 2 uren) de default route verdwijnt uit mijn routing tabel (de default route is er eigenlijk wel nog, maar het wil niet afprinten en wil eveneens werken). Heeft er iemand een idee hoe ik dit kan oplossen?

Alvast bedankt.

Grtz

Zir0h

Legacy Member
Dus de default route verdwijnt, maar verdwijnt ook niet ook niet?!
Hoe werkt je script? Release DHCP, change MAC, request DHCP?

cooLopke

Legacy Member
Ja, de default route verdwijnt in de route tabel, maar is er eigenlijk nog. Want als ik route add default gw <gateway adres van telenet> ingeef, zegt die dat die al bestaat.

Mijn script werkt als volgt: (het berekenen van mac-adres heb ik eruit gelaten)

Code:
ifconfig eth0 down
#dan haal ik uit een bestand mijn huidig mac-adres en 
#doe daar afhankelijk van de ronde + 1 of + 2 en zet deze terug om naar
#hexadecimale getallen (deze code post ik niet omdat dit niet zo belangrijk is)
#dit is eigenlijk om een random mac-adres te maken vermits $RANDOM op 1
#of andere manier niet wil werken

ifconfig eth0 hw ether $newMac
ifconfig eth0 up

udhcpc eth0
route add default gw <gateway adres van telenet>

Zir0h

Legacy Member
Zoek je udhcpc.sh script en pas daar uw default gw lijn aan.
/lib/rcscripts/net/udhcpc.sh
Of gebruik locate.

cooLopke

Legacy Member
Ik denk dat ik de fout gevonden heb. Ik gebruik namelijk een script die niet op de default locatie staat "/usr/share/udhcpc/default.script". Dus geef ik als optie steeds -s <pad van het script> mee. Ik heb dus het commando van udhcpc gewijzigd (en idd het commando route staat al in de udhcpc script, was ik even vergeten). Normaal zou het nu moeten werken. Het zal afwachten worden tot morgen.

Bedankt!

Grtz

cooLopke

Legacy Member
Ok, ik heb nog steeds hetzelfde probleem... =(. Het script werkt en verandert mijn WAN-poort zijn MAC, maar na een tijdje +/- 2 uur verdwijnt ineens de default route. Als ik dan reboot doe, heeft de router het oude MAC-adres terug en gaat het goed, zolang eth0 niet wijzigt van zijn oorspronkelijk MAC-adres.

udhcpc script:

Code:
#!/bin/sh

PATH=/bin:/usr/bin:/sbin:/usr/sbin

RESOLV_CONF="/etc/resolv.conf"

update_interface()
{
        [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
        [ -n "$subnet" ] && NETMASK="netmask $subnet"
        /sbin/ifconfig $interface $ip $BROADCAST $NETMASK
}

update_routes()
{
        if [ -n "$router" ]
        then
                #echo "deleting routes"
                #route del default

                for i in $router
                do
                        /sbin/route add default gw $i
                done
        fi
}

update_dns()
{
        echo -n > $RESOLV_CONF
        [ -n "$domain" ] && echo domain $domain >> $RESOLV_CONF
        for i in $dns
        do
                echo adding dns $i
                echo nameserver $i >> $RESOLV_CONF
        done
}

deconfig()
{
        /sbin/ifconfig $interface 0.0.0.0
}

case "$1" in
    bound)
        update_interface;
        update_routes;
        update_dns;
    ;;
                                                                                
    renew)
        update_interface;
        update_routes;
        update_dns;
    ;;
                                                                                
    deconfig)
        deconfig;
    ;;
                                                                                
    *)
        echo "Usage: $0 {bound|renew|deconfig}"
        exit 1
    ;;
esac
                                                                                
exit 0

mijn script (wijzig mac en dhcp renewal):

Code:
ifconfig eth0 down
#dan haal ik uit een bestand mijn huidig mac-adres en 
#doe daar afhankelijk van de ronde + 1 of + 2 en zet deze terug om naar
#hexadecimale getallen (deze code post ik niet omdat dit niet zo belangrijk is)
#dit is eigenlijk om een random mac-adres te maken vermits $RANDOM op 1
#of andere manier niet wil werken

ifconfig eth0 hw ether $newMac
ifconfig eth0 up

udhcpc eth0 -s <pad van het script>

Script dat wordt aangeroepen:

Code:
#!/bin/sh

/bin/run-parts --arg=$1 /etc/udhcpc.d

Iemand een idee?

Grtz
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan