> wipl-wrr.sourceforge.net
>
> Det deler ikke båndbredden hårdt i 2mbit/10, men deler snarere
> båndbredden i lige store bidder - n bid pr. kørende maskine. Forudsat
> maskinen udnytter sin båndbredde - ellers bliver den ubrugte
> båndbredde delt mellem de maskiner, som forsøger at bruge den.
>
> Jeg har ret gode erfaringer med det på en 2mbit linje delt på ~150
> værelser (hvoraf mange bruger internettet lidt eller slet ikke), men
> det er ikke helt nemt at sætte ordentligt op - det kræver at man
> prøver sig lidt frem med indstillingerne - når man altså har fået
> patchet og oversat kernen og installeret brugerværktøjerne rigtigt.
Jeg er blevet spurgt om at poste opsætningen... Den består af en del
filer...
Maskinen kører debian potato og er dedikeret firewall/router. Den kører
ved siden af WRR også iptables. Det er en 350MHz K6-2 med 128Mb RAM
(hvilket er rigeligt), sidder på en 2mbit fast linje forbundet til et
100mbit net med 270 lejemål (hvoraf der står computere i ca. 150).
Den har en 2.4.17 kerne installeret med kernepatchen fra wrr-pakken
installeret samt nogle iptables patches (som intet med trafikstyringen
har at gøre). Den har konfigureret SFQ, CBQ, WRR og U32 - alle som
moduler (der står i konfigurationen at de skal være moduler).
wipl er installeret i /usr/local (i hånden; ikke med debians
pakkesystem).
iproute2 2.2.4-now-ss991023 er patchet med patchen i wrr-pakken og
installeret i /usr/local (ligeledes i hånden).
Herefter har jeg groft sagt fulgt eksemplerne i WRR-pakken - lagt dem i
/etc/wrr/, /etc/wipld.conf og /etc/mrtg/.
Stinavne, IP-adresser, MAC-adresser mv. er rettet så de passer overens
med maskinens filsystem.
Vores router har XXX.XXX.XXX.1, maskinen er konfigureret med
XXX.XXX.XXX.2 på begge netkort samt 172.16.0.2 på det interne (eth0).
Proxy ARP er slået til på begge netkort. På indersiden står der både
maskiner med XXX.XXX.XXX.0/27-adresser og 172.16.0.0/12.
WRR sættes nu i gang med start.sh fra /etc/wrr/ (køres i screen, da den
ikke afslutter). De mest kritiske parametre er BW_IN og BW_OUT. Dem
kommer du nok til at eksperimentere med indtil det fungerer som det
skal.
Man kan - hvis man har en apache installeret (naturligvis firewallet,
så man kun selv kan se indholdet af den) følge trafikforbruget for de
enkelte IP'er. Man er nødt til at sætte den således, at man ikke
udnytter linjen 100% (fidusen er netop at man gør firewallen til det
svage led fremfor internetlinjen).
N år det hele er sat op og kører, kan man tune det ordentligt ved at
stille på BW_IN og BW_OUT og derefter køre ./qdisc/manual-update.sh fra
/etc/wrr/. Deler den båndbredden urimeligt, skal BW_IN og BW_OUT
justeres ned, udnytter man for lidt af linjen skal de justeres op.
Før opsætningen var vi nødt til at lukke for KaZaa, Edonkey osv. da tre
brugere kunne spise 230kb/s på fildelingsprogrammer (dvs. mange
samtidige forbindelser) og kun efterlade 10kb/s til en enkelt
ftp-forbindelse (hvor serveren i hvert fald ikke var begrænsningen) -
det umuliggjorde i høj grad også SSH. Efter opsætningen vil de
ovenstående 3 brugere kun få 80kb/s hver og efterlade 80kb/s til
ftp-manden.
Jeg har lagt de involverede filer på
http://www.amagerkollegiet.dk/~moffe/
Rasmus
--
-- [ Rasmus "Møffe" Bøg Hansen ] ---------------------------------------
ATA100 is another testimony to the fact that pigs can be
made to fly given sufficient thrust (to borrow an RFC)
-Alan Cox
----------------------------------[ moffe at amagerkollegiet dot dk ] --