Avatar billede thokarl Nybegynder
02. september 2003 - 08:26 Der er 4 kommentarer og
1 løsning

Bandwidth Control

Hvis jeg nu har f.eks 20 maskiner der skal på internettet, hvordan tildeler jeg så en lige stor del af båndbreden.

Og kan jeg få lov til at "låne" båndbrede hvis der nu kun sidder 5 på internettet?
Avatar billede bufferzone Praktikant
02. september 2003 - 08:31 #1
Se dette sprm, idet jeg ikke kn huske hvad linuxprogrammet hedder

http://www.eksperten.dk/spm/395569
Avatar billede thokarl Nybegynder
02. september 2003 - 11:39 #2
det må da også kunne lade sig gøre med ipfw der ligger i freebsd. Jeg vil gerne have muligheden for at kunne "låne" båndbrede. Der er jo ikke meget sjovt i hvis man er den eneste der er på internettet og det så skal gå med en hastighed svarende til 56k
Avatar billede skwat Praktikant
07. september 2003 - 23:44 #3
ipfw er det du skal gå efter, søg efter pipe
Avatar billede darkside Nybegynder
07. september 2003 - 23:48 #4
Avatar billede z_master Nybegynder
19. oktober 2003 - 23:47 #5
For at kunne bestemme hvor meget båndbredde hver klient på netværket skal have, så skal du bruge dummynet som ligger i IPFW. Denne skal compiles ind i din kerne.

Læs "man ipfw". Der vil du finde information omkring traffic control/traffic shaping.

For at dele ens båndbredde dynamisk, så 5 deler hele forbindelsen selvom der mange gange er 20 på, som også vil have lige stor del af det, det er ikke muligt.
Jeg har selv tjekket det ind. Dog har jeg lavet et lille script, som teknisk set burde dele forbindelsen i lige store dele ligemeget hvor mange klienter der er på. Dog kræver det at du bruger ipnat, ipf og IPFW med dummynet.

Installering af ipnat og ipf kan ses her: http://www.muine.org/~hoang/freenat.html

Mit script:
#!/usr/local/bin/bash
BANDWIDTH="2300"
USERS=`/sbin/ipnat -l | awk '{print $2}' | grep 10. | sort -u | uniq | wc -l | sed -e 's/^  *//'`
USERS=`expr $USERS`
USER_BANDWIDTH=`expr $BANDWIDTH / $USERS + 1`
tmp=`/sbin/ipfw delete 1100`
tmp=`/sbin/ipfw pipe delete 1`
tmp=`/sbin/ipfw pipe delete 2`
tmp=`/sbin/ipfw pipe 1 config mask src-ip 0xff000000 bw ${USER_BANDWIDTH}Kbit/s queue 40Kbytes`
tmp=`/sbin/ipfw pipe 2 config mask dst-ip 0xff000000 bw ${USER_BANDWIDTH}Kbit/s queue 40Kbytes`
tmp=`/sbin/ipfw add 1100 pipe 1 ip from 10.0.0.0/8 to any out`
tmp=`/sbin/ipfw add 1100 pipe 2 ip from any to 10.0.0.0/8 in`

BANDWIDTH="2300" <-- Er i kbit/s.
Dette program skal ligges ind i et shell script, som bliver kørt via cron, som root. Så tjekker den hvert minut hvor mange ip'er der bruger forbindelsen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester