Ik probeer, zoals de mensen die hier vaker komen denk ik nu wel weten
een linux router op te zetten die ook bandbreedte kan limiteren.
Dat eerste lukt prima, firewall enz gaat goed, maar nu het bandbreedte limiteren. Ik doe dit volgens de volgende site's, die daar duidelijke info over geven.
Dat zijn de volgende adressen:
http://www.knowplace.org/shaper/requirements.html - Vooral op deze pagina het laatste stuk is straks belangrijk.
http://www.trekweb.com/~j.../linux_tc_minihowto.shtml
Ik doe dit met HTB ipv met CBQ, want dat zou beter zijn. Ik maak daarbij gebruik van een eenvoudig script dat de gecompliceerde "TC class add dev blablabla" regels verzint, helaas werkt dit niet zoals het zou moeten werken; ik kan het het beste uitleggen door de log file te laten zien door het uitgebreide LOG bestand te laten zien van het programma.
Klik hier om de logfile te bekijken in je browser
Nu denk ik te weten waar het door komt; het laatste stuk dat op d eerst genoemde site staat wil niet lukken; het compileren van IProute2.
Dit staat er op de site, voor de luie mensen:
Ik pas daarna het "Makefile" bestand aan dat bij iproute2-2.4.7-now-ss020116-try.tar.gz zit. Ik laat dat helemaal hetzelfde, aangezien mijn Linux kernel 2.4.22 is uitgezipt in de directory /usr/src/linux.
Ik heb ook, nadat het dus niet ging werken, de DESTDIR= variabele aangepast naar een bestaande lege map. Verder heb ik iproute nog gedeinstalleerd. Natuurlijk heb ik zelf mijn kernel gecompileerd met de nodige opties; ik heb ook de opties van die website nog eens geprobeerd, ook zonder effect (als module, meegebakken, het maakt niet uit).
Ik krijg tijdens het compileren deze melding:
Ik denk dus dat het probleem is dat ik die iptables niet goed krijg gecompileerd. Eerst kreeg ikook nog een melding of ik eerst m'n kernel wilde compileren, ik nam aan dat ze de linux kernel bedoelden, deze heb ik dus (nog maar een keertje, 90 minuten wachten is leuk op z'n P100 systeem) ook gecompileerd. Nu is die melding gelukkig weg, ik geloof dus dat het daaraan lag, maar hij komt nu niet echt verder. Op de website staat of je een 2.4.20 of hogere kernel wil gebruiken, anders zou je de kernel ook nog moeten patchen; ik gebruik dus 2.4.22 ( ook belangrijk: Op Debain, de nieuwste). Op de 2e site die ik noemde gebruiken ze de 2.4.18 kernel, en die patchen ze daar. Ik heb die patch ook nog geprobeerd op mijn 2.4.22 kernel, maar dat helpt ook niet; alleen een rijtje foutmeldingen.
Is mijn kernel te nieuw? Ik kan nog eens de 2.4.18 gebruiken.... maar misschien is dit wel een heel simpel probleem? ( hoop ik
)
Ik heb ook via apt iproute en iptables geinstalleerd, en ook nog eens gedeinstalleerd voor het compileren van iproute2.
pff, een heel verhaal, sorry, maar ik kon het niet korter maken met deze info
Ik hoop dat iemand mij hieruit kan helpen
edit:
mmm, met de juiste zoekterm vind ik iemand die dat probleem ook heeft zie ik net; zie http://archives.neohapsis...nux/owl/2003-q3/0015.html en eventueel de threat daarboven. Het zou dus aan m'n kernel liggen
ik lees verder...
edit2:
En wat http://www.mail-archive.c...man.ds9a.nl/msg06277.html staat, dat werkt ook niet voor mij; een link gemaakt naar een niet bestaande dir, de src dit hernoemt, het maakt neit uit, zelfde foutmeldingen helaas. Ik ga anders maar naar een andere kernel verhuizen
edit3:
Ik heb een oplossing, hij is nu aan het compileren. Ik weet niet of ik straks ook een nieuwe linux kernel moet installeren? Denk het niet, maar ik kijk zo wel.
Het probleem is als volgt op de te lossen voor mensen die dat willen weten:
Er zit een fout in linux-2.4.22 en hoger schijnt, in een bestand. Dit bestand vervang je door een bestand op je eigen linux bak, maakt niet uit of die bak op dezelfde kernel draait. Dat gaat als volgt:
Ga eerst naar je linux source directory, standaard /usr/src/linux. Daarin ga je naar de directory /include/linux. Je wijzigt daar even het bestand in.h naar bijvoorbeeld in.h.old ofzo, kan je altijd nog terug (misschien bij compileren kernel?). Hierna ga je naar de directory op je pc, niet source dus, naar /usr/include/linux. Daar kopieeer je het bestand in.h naar de source directorywaar je net dat bestand hebt gerenamed.
Hierna werkt het compileren
nu hopen dat de rest ook gaat werken
Dat eerste lukt prima, firewall enz gaat goed, maar nu het bandbreedte limiteren. Ik doe dit volgens de volgende site's, die daar duidelijke info over geven.
Dat zijn de volgende adressen:
http://www.knowplace.org/shaper/requirements.html - Vooral op deze pagina het laatste stuk is straks belangrijk.
http://www.trekweb.com/~j.../linux_tc_minihowto.shtml
Ik doe dit met HTB ipv met CBQ, want dat zou beter zijn. Ik maak daarbij gebruik van een eenvoudig script dat de gecompliceerde "TC class add dev blablabla" regels verzint, helaas werkt dit niet zoals het zou moeten werken; ik kan het het beste uitleggen door de log file te laten zien door het uitgebreide LOG bestand te laten zien van het programma.
Klik hier om de logfile te bekijken in je browser
Nu denk ik te weten waar het door komt; het laatste stuk dat op d eerst genoemde site staat wil niet lukken; het compileren van IProute2.
Dit staat er op de site, voor de luie mensen:
Bij mij krijg ik dan het volgende op m'n scherm, bij die laatste opdracht:[ *] Download and untar the content of iproute2-2.4.7-now-ss020116-try.tar.gz
[ *] Download and untar the content of htb3.6-020525.tgz - Note: You might want to make a directory first if you don't want the scatter
[ *] While inside the iproute2 directory, run patch -p1 < /path/to/htb3.6_tc.diff
[ *] After patching, run make && make install
[ *] If you run "strings /sbin/tc |grep -i htb" it should return:
htb_util
htb2_util
Usage: ... qdisc add ... htb [default N] [r2q N]
... class add ... htb rate R1 burst B1 [prio P] [slot S] [pslot PS]
TC HTB version %d.%d
htb: failed to calculate rate table.
htb: failed to calculate ceil rate table.
htb2
Zoals je ziet mis ik dus htb2, bovenaan en onderaan. Dit komt waarschijnlijk (bijna zeker van) omdat ik iproute2 niet opnieuw gecompileerd krijg, met of zonder de patch die je eerst installeert op die iproute bestanden, dat wel slaagt.htb_util
Usage: ... qdisc add ... htb [default N] [r2q N]
possible to use HTB on very fast devices
... class add ... htb rate R1 burst B1 [prio P] [slot S] [pslot PS]
htb: failed to calculate rate table.
htb: failed to calculate ceil rate table.
router:/etc#
Ik pas daarna het "Makefile" bestand aan dat bij iproute2-2.4.7-now-ss020116-try.tar.gz zit. Ik laat dat helemaal hetzelfde, aangezien mijn Linux kernel 2.4.22 is uitgezipt in de directory /usr/src/linux.
Ik heb ook, nadat het dus niet ging werken, de DESTDIR= variabele aangepast naar een bestaande lege map. Verder heb ik iproute nog gedeinstalleerd. Natuurlijk heb ik zelf mijn kernel gecompileerd met de nodige opties; ik heb ook de opties van die website nog eens geprobeerd, ook zonder effect (als module, meegebakken, het maakt niet uit).
Ik krijg tijdens het compileren deze melding:
Ik ben trouwens wel als root ingelogd, ik gebruik alleen die user directory als opslagplaatsrouter:/home/pierre/iproute2# make
make[1]: Entering directory `/home/pierre/iproute2/lib'
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g -I../include-glibc -I/usr/include/db3 -include ../include-glibc/glibc-bugs.h -I/usr/src/linux/include -I../include -DRESOLVE_HOSTNAMES -c -o ll_map.o ll_map.c
In file included from ../include-glibc/netinet/in.h:7,
from ll_map.c:19:
/usr/src/linux/include/linux/in.h:140: field `gr_group' has incomplete type
/usr/src/linux/include/linux/in.h:146: field `gsr_group' has incomplete type
/usr/src/linux/include/linux/in.h:147: field `gsr_source' has incomplete type
/usr/src/linux/include/linux/in.h:153: field `gf_group' has incomplete type
/usr/src/linux/include/linux/in.h:156: field `gf_slist' has incomplete type
make[1]: *** [ll_map.o] Error 1
make[1]: Leaving directory `/home/pierre/iproute2/lib'
make: *** [all] Error 2
router:/home/pierre/iproute2#
Ik denk dus dat het probleem is dat ik die iptables niet goed krijg gecompileerd. Eerst kreeg ikook nog een melding of ik eerst m'n kernel wilde compileren, ik nam aan dat ze de linux kernel bedoelden, deze heb ik dus (nog maar een keertje, 90 minuten wachten is leuk op z'n P100 systeem) ook gecompileerd. Nu is die melding gelukkig weg, ik geloof dus dat het daaraan lag, maar hij komt nu niet echt verder. Op de website staat of je een 2.4.20 of hogere kernel wil gebruiken, anders zou je de kernel ook nog moeten patchen; ik gebruik dus 2.4.22 ( ook belangrijk: Op Debain, de nieuwste). Op de 2e site die ik noemde gebruiken ze de 2.4.18 kernel, en die patchen ze daar. Ik heb die patch ook nog geprobeerd op mijn 2.4.22 kernel, maar dat helpt ook niet; alleen een rijtje foutmeldingen.
Is mijn kernel te nieuw? Ik kan nog eens de 2.4.18 gebruiken.... maar misschien is dit wel een heel simpel probleem? ( hoop ik
Ik heb ook via apt iproute en iptables geinstalleerd, en ook nog eens gedeinstalleerd voor het compileren van iproute2.
pff, een heel verhaal, sorry, maar ik kon het niet korter maken met deze info
Ik hoop dat iemand mij hieruit kan helpen
edit:
mmm, met de juiste zoekterm vind ik iemand die dat probleem ook heeft zie ik net; zie http://archives.neohapsis...nux/owl/2003-q3/0015.html en eventueel de threat daarboven. Het zou dus aan m'n kernel liggen
edit2:
En wat http://www.mail-archive.c...man.ds9a.nl/msg06277.html staat, dat werkt ook niet voor mij; een link gemaakt naar een niet bestaande dir, de src dit hernoemt, het maakt neit uit, zelfde foutmeldingen helaas. Ik ga anders maar naar een andere kernel verhuizen
edit3:
Ik heb een oplossing, hij is nu aan het compileren. Ik weet niet of ik straks ook een nieuwe linux kernel moet installeren? Denk het niet, maar ik kijk zo wel.
Het probleem is als volgt op de te lossen voor mensen die dat willen weten:
Er zit een fout in linux-2.4.22 en hoger schijnt, in een bestand. Dit bestand vervang je door een bestand op je eigen linux bak, maakt niet uit of die bak op dezelfde kernel draait. Dat gaat als volgt:
Ga eerst naar je linux source directory, standaard /usr/src/linux. Daarin ga je naar de directory /include/linux. Je wijzigt daar even het bestand in.h naar bijvoorbeeld in.h.old ofzo, kan je altijd nog terug (misschien bij compileren kernel?). Hierna ga je naar de directory op je pc, niet source dus, naar /usr/include/linux. Daar kopieeer je het bestand in.h naar de source directorywaar je net dat bestand hebt gerenamed.
Hierna werkt het compileren
[ Voor 17% gewijzigd door pierre-oord op 18-11-2003 19:12 ]
Ondernemer in tech (oud LOQED.com, nu UpToMore.com)