/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Traffic Shaping med FreeBSD
Fra : Andreas Jeppesen


Dato : 04-02-03 20:33

Jeg har netop, med hjælp fra en ven, installeret FreeBSD 4.7, og fået sat
noget natd og ipfw op og det er så meningen at den skal stå som router for
min kabelforbindelse.

Vi er fire om at dele en 2mbit linie, ( 512kbit nu, men den blir snart
større :) ) og det er en herlig blanding af gamere og leechere, derfor
ønsker jeg at få sat noget traffic shapeing op, men jeg er lidt i tvivl om
hvordan jeg skal gribe det an.
Den nemme løsning ville være at definere at en enkelt Ip max kan bruge xx
antal kbit,
( f.eks ipfw add pipe 1 ip from any to 10.0.0.0/24
ipfw pipe 1 config bw 1800Kbit/s queue 20 mask dst-ip 0x000000ff )
ved hjælp af ipfw, men hvis de så der er to der belaster linien på engang
hjælper det jo ikke.

Så jeg tænkte om der ikke er en måde man kan traffic shape ved hjælp af
porte frem for ip ?
Enten ved at reservere xx kbit til bestemte porte, eller ved en slags port
priotering, så eksempelvis port 27015 får højere priotet, end port 21 osv
osv.
Hele formålet med det er at forhindre lag/packet loss i online spil, selvom
at linien er belastet.

Jeg har læst http://info.iet.unipi.it/~luigi/ip_dummynet/ , men har ikke
rigtig set noget mulighed for at gøre det jeg ønsker.
Skal jeg ha fat i noget andet end ipfw, eller har jeg bare overset noget ?
Og skulle det her måske ha været postet i dk.edb.netvaerk ?

Udover det savner jeg også lidt materiale om basic brug af bash shell. I
freebsd håndbogen står der ikke rigtig noget. Hvordan kopiere mand end fil
? Flytter ? Jeg har lavet nogen søgninger på google, men det har altid været
mere avanceret bash scripting jeg har fanget. Det vil jeg også gerne lære,
jeg vil bare gerne lige have styr på grundprincipperne. Hvis der er nogen
der har nogen gode links ville det være fedt.



--
Vh
Andreas Jeppesen




 
 
Tonni Aagesen (05-02-2003)
Kommentar
Fra : Tonni Aagesen


Dato : 05-02-03 02:33

Andreas Jeppesen wrote:

> Vi er fire om at dele en 2mbit linie, ( 512kbit nu, men den blir snart
> større :) ) og det er en herlig blanding af gamere og leechere, derfor
> ønsker jeg at få sat noget traffic shapeing op, men jeg er lidt i tvivl om
> hvordan jeg skal gribe det an.

Prøv at kigge på CBQ / HTB. Der er en del om emnet her:

http://www.docum.org/


--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>


Thomas Corell (05-02-2003)
Kommentar
Fra : Thomas Corell


Dato : 05-02-03 09:44

Andreas Jeppesen wrote:
>
> Den nemme løsning ville være at definere at en enkelt Ip max kan bruge xx
> antal kbit,
> ( f.eks ipfw add pipe 1 ip from any to 10.0.0.0/24
> ipfw pipe 1 config bw 1800Kbit/s queue 20 mask dst-ip 0x000000ff )

D.o. vil giver hver bruger en (dynamisk) pipe, med 1800Kbit/s
begrænsning. Det du leder efter er nok nærmere 'dynamic queues'.

F.eks (taget frit fra hovedet, så der er nok syntax fejl ;))

ipfw add 10 allow ip from 10.0.0.0/24 to 10.0.0.0/24
ipfw add 20 queue 1000 ip from any to 10.0.0.0/24
ipfw queue 1000 config pipe 1010 mask dst-ip 0x000000ff
ipfw pipe 1010 config bw 1800Kbit/s

> ved hjælp af ipfw, men hvis de så der er to der belaster linien på engang
> hjælper det jo ikke.
>
> Så jeg tænkte om der ikke er en måde man kan traffic shape ved hjælp af
> porte frem for ip ?

Det er nok vejen frem, match trafik og smid den i en kø (afhængig af
trafikken) der vægter pakkerne ('weight'), og så smider dem i en enkelt
pipe.

Men du har et grundlæggende problem. For at det virker optimalt skal
vægtning/prioriteringen ske på den router der smider trafikken ind i
"flaskehalsen".

Jeg går udfra at du ikke kan shape på den router der smider pakker mod
din router ? ;)

> Enten ved at reservere xx kbit til bestemte porte, eller ved en slags port
> priotering, så eksempelvis port 27015 får højere priotet, end port 21 osv
> osv.

Du mener ?:

ipfw add 10 allow ip from 10.0.0.0/24 to 10.0.0.0/24
ipfw add 20 queue 1000 ip from any 27015 to 10.0.0.0/24
ipfw add 30 queue 1005 ip from any to 10.0.0.0/24
ipfw queue 1000 config pipe 1010 weight 100
ipfw queue 1005 config pipe 1010 weight 1
ipfw pipe 1010 config bw 1800Kbit/s

--
Don't waste space

Dennis Pedersen (05-02-2003)
Kommentar
Fra : Dennis Pedersen


Dato : 05-02-03 14:59


"Thomas Corell" <intheNOSPAMnews@corell.dk> wrote in message
news:slrnb41jn2.2iu5.intheNOSPAMnews@mail.corell.dk...
> Andreas Jeppesen wrote:
> >
> > Den nemme løsning ville være at definere at en enkelt Ip max kan bruge
xx
> > antal kbit,
> > ( f.eks ipfw add pipe 1 ip from any to 10.0.0.0/24
> > ipfw pipe 1 config bw 1800Kbit/s queue 20 mask dst-ip 0x000000ff )
>
> D.o. vil giver hver bruger en (dynamisk) pipe, med 1800Kbit/s
> begrænsning. Det du leder efter er nok nærmere 'dynamic queues'.

dynamisk pipe?
dvs båndbreden bliver delt ligeligt mellem de aktive brugere?


/Dennis



Thomas Corell (05-02-2003)
Kommentar
Fra : Thomas Corell


Dato : 05-02-03 15:09

Dennis Pedersen wrote:
>
> "Thomas Corell" <intheNOSPAMnews@corell.dk> wrote in message
> news:slrnb41jn2.2iu5.intheNOSPAMnews@mail.corell.dk...
>> Andreas Jeppesen wrote:
>> >
>> > Den nemme løsning ville være at definere at en enkelt Ip max kan bruge
> xx
>> > antal kbit,
>> > ( f.eks ipfw add pipe 1 ip from any to 10.0.0.0/24
>> > ipfw pipe 1 config bw 1800Kbit/s queue 20 mask dst-ip 0x000000ff )
>>
>> D.o. vil giver hver bruger en (dynamisk) pipe, med 1800Kbit/s
>> begrænsning. Det du leder efter er nok nærmere 'dynamic queues'.
>
> dynamisk pipe?

'mask dst-ip 0x000000ff' gør at du opretter dynamiske pipe's

'man ipfw':

"Thus, when dynamic pipes are used, each flow will get the same
bandwidth as defined by the pipe, whereas when dynamic queues are
used, each flow will share the parent's pipe bandwidth evenly
with...."

--
Don't waste space

Andreas Jeppesen (05-02-2003)
Kommentar
Fra : Andreas Jeppesen


Dato : 05-02-03 18:31


"Thomas Corell" <intheNOSPAMnews@corell.dk> wrote in message
news:slrnb41jn2.2iu5.intheNOSPAMnews@mail.corell.dk...
> Andreas Jeppesen wrote:
> >
> > Den nemme løsning ville være at definere at en enkelt Ip max kan bruge
xx
> > antal kbit,
> > ( f.eks ipfw add pipe 1 ip from any to 10.0.0.0/24
> > ipfw pipe 1 config bw 1800Kbit/s queue 20 mask dst-ip 0x000000ff )
>
> D.o. vil giver hver bruger en (dynamisk) pipe, med 1800Kbit/s
> begrænsning. Det du leder efter er nok nærmere 'dynamic queues'.

Ja, det gør jeg sikkert :)

> F.eks (taget frit fra hovedet, så der er nok syntax fejl ;))
>
> ipfw add 10 allow ip from 10.0.0.0/24 to 10.0.0.0/24
> ipfw add 20 queue 1000 ip from any to 10.0.0.0/24
> ipfw queue 1000 config pipe 1010 mask dst-ip 0x000000ff
> ipfw pipe 1010 config bw 1800Kbit/s
>
> > ved hjælp af ipfw, men hvis de så der er to der belaster linien på
engang
> > hjælper det jo ikke.
> >
> > Så jeg tænkte om der ikke er en måde man kan traffic shape ved hjælp af
> > porte frem for ip ?
>
> Det er nok vejen frem, match trafik og smid den i en kø (afhængig af
> trafikken) der vægter pakkerne ('weight'), og så smider dem i en enkelt
> pipe.
>
> Men du har et grundlæggende problem. For at det virker optimalt skal
> vægtning/prioriteringen ske på den router der smider trafikken ind i
> "flaskehalsen".
>
> Jeg går udfra at du ikke kan shape på den router der smider pakker mod
> din router ? ;)

Nej, så rare er TDC ikke :)

> > Enten ved at reservere xx kbit til bestemte porte, eller ved en slags
port
> > priotering, så eksempelvis port 27015 får højere priotet, end port 21
osv
> > osv.
>
> Du mener ?:
>
> ipfw add 10 allow ip from 10.0.0.0/24 to 10.0.0.0/24
> ipfw add 20 queue 1000 ip from any 27015 to 10.0.0.0/24
> ipfw add 30 queue 1005 ip from any to 10.0.0.0/24
> ipfw queue 1000 config pipe 1010 weight 100
> ipfw queue 1005 config pipe 1010 weight 1
> ipfw pipe 1010 config bw 1800Kbit/s
>

Det ser virkelig ud som noget jeg kan bruge, jeg takker mange gange.

Andreas

> --
> Don't waste space



Thomas Corell (06-02-2003)
Kommentar
Fra : Thomas Corell


Dato : 06-02-03 09:19

Andreas Jeppesen wrote:
> "Thomas Corell" <intheNOSPAMnews@corell.dk> wrote in message
>>
>> Du mener ?:
>>
>> ipfw add 10 allow ip from 10.0.0.0/24 to 10.0.0.0/24
>> ipfw add 20 queue 1000 ip from any 27015 to 10.0.0.0/24
>> ipfw add 30 queue 1005 ip from any to 10.0.0.0/24
>> ipfw queue 1000 config pipe 1010 weight 100
>> ipfw queue 1005 config pipe 1010 weight 1
>> ipfw pipe 1010 config bw 1800Kbit/s
>
> Det ser virkelig ud som noget jeg kan bruge, jeg takker mange gange.

Alternativt kunne du reservere bw til dine spil:

ipfw add 10 allow ip from 10.0.0.0/24 to 10.0.0.0/24
ipfw add 20 allow ip from any 27015 to 10.0.0.0/24
ipfw add 30 pipe 1000 ip from any to 10.0.0.0/24
ipfw pipe 1000 config bw 1500Kbit/s

Bare husk, at det ikke virker 100% som du ønsker, da det er i den
forkerte ende af "flaskehalsen".

Du skal også huske at med d.o. så åbner du for al trafik med sourceport
27015, så onde mennesker vil ikke generes af evt. efterfølgende regler,
hvis de kommer fra den port.

--
Don't waste space

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408855
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste