19. august 2002 - 12:51Der er
58 kommentarer og 1 løsning
fair deling af båndbredde
Hejsa Alle eksperter
Jeg har en internet forbindelse som jeg gerne vil dele med mine naboer. Men den ene SUGER alt båndbredde med kazaa, imesh osv.. jeg vil derfor gerne opsætte en server-linux-ting som kan håndtere båndbredde forbruget. Jeg tænker at squid sikkert kan klare jobbet men aner ikke hvordan. Er der nogen som kan hjælpe.?
...og jeg vil f.eks. gerne have at bruger1 får 20%, bruger2 får 20%.. og bruger3 får 60%.. hvordan gør man det?
Kan man i givet fald gøre det sådan at proxy serveren kun må bruge xxKbit af internetforbindelsen i det hele taget?.. sådan at jeg kan sikre båndbredde til nogle servere som står uden for proxy. dvs..
bruger1 -- \ bruger2 -- - switz2 - proxy - / \ bruger3 -- - switz1 - internet servere / ..proxy tager f.eks. 40% af båndbredden og resten går derfor til serverne (resten af netværket).
Jeg håber meget, at nogle kan hjælpe mig.. iøvrigt jeg vil meget gerne have grundige instrukser og ikke blot links til andre sider.
Dette er bestemt ikke nemt. Først og fremmest ville jeg nok angribe problemet på en anden måde, end med Squid.
Først skal du have en 2.4+ Kernel. Dernæst skal den være kompileret med QOS/CBQ support. Dernæst skal du læse dig igennem en lille hardcore manual som du finder her:
^ Som er et lille script der gør det "relativt" nemt at komme igang med det du søger.. Men husk CBQ skal være supporteret af din Kernel.
Efterskrift: At give dig en step-by-strp guide er stort set umuligt - eller omend meget meget tidskrævende. Hvis du kigger på mit første link, vil du forstå hvorfor.
Jeg forslår du tager dig en "snak" med vedkommende der bruger alt båndbredden. Eller alternativt lukker for de porte som vedkommende benytter meget. evt. bare åbner dem om natten.
På mit hjemmenetværk som jeg deler med mine naboer har jeg løst det på den måde at folk:
1: Har en forståelse for at der er andre på netværket 2: Folk der benytter directConnect o.s.v. sætter en meget lav limit på upload. 3: Sørger for at begrænse sig indenfor rimelighedens grænser.
Vi er 8 der deler en 2Mbit på den måde uden problemer vel og mærke :-) Og det har derfor ikke været nødvendigt for mig at gøre dette.
Jeg takker meget for den respons jeg har fået.. især for indlæg nummer ét.
Men jeg kan blot ikke gennemskue hvorfor det skulle være så stort et problem.. det kan da ikke passe at denne problematik er SÅ stort et problem - at det nærmest er umuligt..
jeg har i sinde at prøve indlæg nummer et idag.. men jeg er stadig ked af at skulle gennem et dokument skrevet af en nørd på nettet.. problemet med disse er at der ALTID mangler et eller andet.. og at man selv skal finde ud af hvad der mangler og hvor man finder denne information.
Derfor skrev jeg til eksperten - fordi jeg tænkte at en eller anden på eksperten havde gjort dette før - og derfor havde nogle erfaringer at dele.
Men hvis du følger de "første" link vil jeg anbefale dig at glemme squid indtil videre. Det squid kan hjælpe dig med er ikke det du har problemer med (kazaa m.m.) Der *SKAL* du bruge CBQ - derfor postede jeg det direkte link til CBQ.init som har forskellige konfigmuligheder.
Squid delen er typisk bare "delay pools" hvilket går på enkelte typer af webtrafik, f.eks. .avi eller .mp3 filer. hvilket jo ikke er problemet for dig, og typisk ikke vil give det store problem i dit netværk, fordi det er peer2peer programmerne som giver problemerne.
mht til hvor nemt det er at gå til, så vil jeg sige, at cbq.init gør det lige akurat omkring 140x så nemt.. Tro mig uden cbq.init vil det først være slemt :-)
Det kan godt være at jeg er en MEGA spade - men jeg kan ikke få noget af det til at fungere.. !?!?!
Er der ingen som har prøvet dette her skidt før?.. som sagt har jeg ikke meget at bruge links til - fordi de simpelthen ikke giver uddybende svar... der er altid et eller andet som de har "glemt" at skrive. sidste link til http://wipl-wrr.sourceforge.net/ giver blot links videre... og til en dokumentation som starter med følgende:
"This document is not written by a person knowing a lot about the Linux kernel so some of the information and terminology presented here may be wrong. And they might be much more complicated than this text leaves the impression of. " ...ikke specielt betryggende.. hvis man fortsætter bliver man gjort opmærksom på at man skal hente en fil en ved navn: "tc" som skulle være i iprouter pakken.. man får en link.. men opdager at der ligger 15 filer som kunne indholde "tc".. hvilken spørger man sig selv om.. ja denne information må man søge andet steds.. og det er her hunden, katten, guldfisken og alle andre kæledyr ligger begravet.. Linux nørder som skriver dokumentation tænker ikke på at deres læsere ikke har prøvet den problemstilling, som de beskriver, før. Derved bliver deres dokumentation minus værd.!
.. og til "Ib-rene-cairo".. Ikke at det kommer dig ved.. men jeg har IKKE en almindelig bæ-adsl-forbindelse.. jeg har derimod en fastlinie forbindelse med tilhørende 192 IP adresser.. så lad være med at spille smart.!
Til at starte med skal du altså bare sætte din Gateway op med Iptables.
Hvad benytter du nu ipchains eller iptables? Hvilken linux bruger du?
Ib-rene-cairo: Du aner ikke hvad du taler om. 1: Du kan ikke se hvilken udbyder han har og der er forskellige betingelser for de forsk. udbydere og isp'er
whynot >> Slap af og talt ordentligt til folk. Jeg prøver ikke at spille smart, men påpeger at det du vil gører normalt ikke er lovligt, så du nok skulle læse betingelserne for dit abonentment.
dank >> Der er ingen ISPér der tillader at man deler f.eks. en ADSL på den måde.
til ib-rene-cairo.. du drejer diskutionen væk fra mit spørgsmål - nemlig at håndtere båndbredden til forskellige maskiner i et netværk ud til internettet. Desuden antyder du at jeg ikke er klar over betingelserne i min kontrakt med min udbyder. Derfor bliver jeg sur.. Hvis du vil diskutere betingelser for de forskellige udbydere - så start dit eget indlæg - og hold snuden væk fra denne.
whynot >> Jeg vil IKKE diskutere. Jeg gør opmærksom på et muligt problem med et enkelt indlæg. Du kunne vælge at ignorere det, eller kort sige at det ikke er relevant. Så havde den ikke været længere. Istedet vælger du skabe dig fuldstændig tosset. Utroligt at man ikke kan tale ordentlig til hinanden.
[root@rea /]# rpm -q cbq pakke cbq er ikke installert
[root@rea /]# /sbin/cbq.init start bash: /sbin/cbq.init: No such file or directory
Det ser for meg ut som om cbq ikke er installert på en "standard RH 7.3". Der i mot så ser det ut som om der finnes en kernel modul som støtter cbq slik at cbq vil kunne fungere med den eksisterende standard kernel hvis det øvrige installeres.
Fant at dette eksemplet lå et annet sted også. Kopierte til cbq.init Kan kjøre denne filen med både start og stop parameter. Ingen feilmelding. Litt snodig plassering. Hvordan kan man få verifisert om det fungerer ??
[root@langbein /]# cd /etc/sysconfig/cbq [root@langbein cbq]# ls cbq-0000.example cbq.init [root@langbein cbq]# /etc/sysconfig/cbq/cbq.init start [root@langbein cbq]# /etc/sysconfig/cbq/cbq.init stop [root@langbein cbq]#
Kan man kjøre scriptet fra en slik plassering ?? Hvordan ver man om "cbq" kjører ??
Da var faktisk det der skulle til. På en RH maskine burde dette være mere enkelt idet kernel er forberedt på dette. Jeg testkørte ved at downloade en stor fil fra tucows.dk hvor jeg altid henter med 200KB/S nu kan jeg kun hente med det der står i cbq config filen
HURAA HURRA HURRA!!
Jeg laver en guide til lws.dk og smider op senere på ugen
RH 7.1+7.2 burde virke "out of the box" dog skal man oprette en config fil RH7.3 = cbq.init skal installeres Debian: iproute2 skal installeres. Kernel skal omkompileres. cbq.init skal installeres
OK OK Tror faktisk det kjører her også, det kommer i hvert fall ingen feil meldinger. Den PC en jeg testet på er imidlertid ingen router men en server med ett kort og ikke noe 192 nettverk. Har en annen router maskin. (RH 7.2) Tester videre på denne litt senere ..
JEg er faktisk utrolig glad for denne tråd. Det inspirerede mig til at afprøve dette emne, som jeg kan se gang på gang at mange mennesker har problemer med. Jeg skriver en guide til lws.dk og er derfor meget intereseredet i at høre dine erfaringer med RedHat gateway'en. Jeg har ikke længere selv RH fordi jeg nu benytter min egen custom linux dists samt Debian og Gentoo
Det ser vel ut som om Red Haten min ikke kjører mht cbq til tross for at scriptet eksekveres uten feilmeldinger ..?? Kunne du være så snill å lage en kort resyme av hvordan du mener "Red Hat modellen" skulle virke, så vil jeg forsøke å få tid til litt testing .. :-)
Jeg spør vel kanskje litt i "hytt og pine" ettersom jeg ikke har lest særlig mye om "cbq", men hva er det egentlig cbq fordeler båndbredde mellom - ? Det er mellom nettverks segmenter eller rettere sagt mellom nettverksadaptere !? (Er det rett ?) Det vil da si at dersom man skal oppnå en faktisk båndbredde deling mellom brukere, så må disse sitte på hvert sitt nettverkssegment tilsluttet hver sin nettverksadapter i router maskinen ?!! (Rett eller ikke rett ??)
# RULE=:25,10.2.2.128/26:5000 # selects traffic going from anywhere on port 50 to # port 5000 in network 10.2.2.128 # # RULE=10.5.5.5:80, # selects traffic going from port 80 of single host 10.5.5.5
Hvis jeg forstår dette korrekt, så betyder det jo at man kan vælge hele netværk eller single ip adresser.
mht til Red Hat så er jeg lidt "bange" for hvorfor de har fjernet cbq.init fra RH 7.3 - måske er det fordi det ikke har virket med 7.2 & 7.1 - jeg ved det ikke med sikkerhed.. Men her er opskriften: (utestet)
1: installer nyeste version af cbq.init. omdøb denne til /sbin/cbq.init 2: opret config filen
Jeg har desuden forsøgt at "ødelægge" cbq.init ved at fjerne TC + cqb modlet m.m. Det er min erfaring at cbq.init er meget effektivt til at fortælle hvis der mangler noget. Så hvis der ikke kommer nogle fejl er det sikkert fordi værdierne i config filen er forkerte (eth, network segm.) o.s.v.
pps jeg har p.t. kun fået dette til at fungere med alm. traffic shaping og ikke med grokster o.s.v. Dette roder jeg lidt videre med senere på ugen.
Jeg har lige set ALLE de indlæg som i har lavet.. jeg tester det imorgen (måske endda først onsdag).. har simpelthen ikke tid før.. men det ser jo lovende ud :)
Har diskutert det litt her over fjorden. Man mener her også at trafikkbegrensningen sansynligvis vil være pr ip på det interne nettverket. Vil forsøke å få tid til å test... Takker for den siste oppsummeringen !
dette er vel egentlig en 50% løsning. I ett LAN med 10 maskiner, hvor hver client er tildelt 10% av delt internett bånd bredde. så er det vel ønskelig med en minimums hastighet på 10% pr client, dersom alle maskiner er i bruk. Dersom 9 maskiner står ubrukt, så er også 100% av båndbredden tilgjengelig, og den ene maskinen i bruk burde da ha fått full utnyttelse av båndbredden. I disse eksemplene er det arbeidet med en garantert maximum hastighet pr client maskin ?? er det mulig å snu dette til en garantert minimums hastighet pr client maskin, hvor server maskinen tildeler en minimumshastighet på f.eks 10% pr aktiv forbindelse ?
Skallenet: Du har da ret. Men hvis du ser på hvad der blev spurgt om, nemlig at brugerne tager alt båndbredden til f.eks. Kazaa så er cbq.init rent faktisk en god løsning til dette problem, idet båndbredden kan begrænses til at benytte f.eks. 10% af max på enkelte porte, f.eks. Kazaa eller DirectConnect.
Mvh Dank De løsninger jeg valgte at teste gik på båndbredden, hvilket skyldes at jeg ikke har Kazaa eller lign som jeg kan teste med. At ændre mit løsningsforslag til f.eks. Kazaa og lign er et spørgsmål om at ændre 4-5 linier i cbq.init konfigfilen.
Mht til alm webbrug mener jeg ikke at man skal lave en begrænsning overhovedet. Hvis det dog skulle vise sig at være et problem, at folk downloader mange .zip filer fra http kan dette løses med Squid Delay pools. Men som udgangspunkt, mener jeg ikke man bør gøre dette, hvilket jeg også skrev i nogle af mine første indlæg i denne tråd.
Desuden mente jeg at man skulle starte med denne løsning uden Squid idet det ville komplicere installationen unødigt meget.
Lækkert.!.. Tak til dank - mange gange... glæder mig til at se proceduren på lws.dk.. hvis jeg iøvrigt har nogle velbeskrevne procedurer til f.eks. opgradering af kernel (som jeg har lavet til mig selv) - vil lws.dk så være interesseret i at få disse?
Mht. det med relativ begrænsninger og "bedre" udnyttelse båndbredden - jeg har talt med en af mine kammerater - han fortæller at det bør kunne lade sig gøre med cbq.init. Jeg kan dog ikke umiddelbart se hvordan det skal gøres.. men selvfølgelig kan det lade sig gøre. Når jeg finder ud af det - poster jeg det selvfølgelig.
Supergodt whynot! Hvilket "miljø" fik du det til at virke under? RH7.2 ??? Fik du også Kazaa, Groskter o.s.v. begrænseren til at virke?
Mht. til tingene til lws.dk er vi meget intereseret? Er det noget du kan sende til mig? email: michael@1go.dk - så jeg kan se hvad det er for noget?
Sidste note omkring cbq.init: cbq.init er jo kun et tool til tc (traffic control) - i princippet er der langt flere muligheder end dette relativt simple tool har. Med f.eks. noget der heddder hbq er betydeligt mere avanceret. Men jeg synes bare at cbq.init var et godt sted at starte :-)
Langbein: Dette var ikke løst uden din hjælp. Vil du have nogle point så opretter jeg et spørgsmål til dig.
det som jeg har gjort er udelukket at afteste med manuelle downloads.. og derfor ikke prøvet endnu med kazaa og andet snask.
Men jeg forventer at det også vil virke - jeg kan ikke se hvorfor det ikke skulle være det samme.. Men såfremt det omgår cbq.init.. jamen så må der være tale om nogle settings som blot skal ændres lidt. Alt kører jo gennem denne her "proxy"-ting og derfor må jo kunne styre også disse programmer.
mht. lws.dk jamen det kan jeg godt.. jeg finder lige tingene frem og sender dem til dig :) Så kan du se om det er noget i kan bruge eller ej. Som sagt er jeg langt fra ekspert og derfor kan det være at det er for ringe en standard.. men nu må vi jo se.
hqb.init :ø] Skulle være noget mere avanceret end CBQ - med mulighed for en bedre sharing ved f.eks. et meget lidt belasted net. Men jeg har ikke rigtigt fået kigget på det endnu.
Synes godt om
Ny brugerNybegynder
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.