Deci practic singura solutie ramane a 3-a. Pt k prima mi se pare mult prea complicata -- implica mult prea multa experienta si nu detin asa ceva, a 2-a CRED k e prea scumpa si a 4-a consuma. So... o sa urmez ce mi-zi si tu si revin cu rezultatu :) 10x
Vlad ----- Original Message ----- From: "Cristian Dimache" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Tuesday, June 28, 2005 6:24 PM Subject: [rlug] Re: Intrebare incepator HTB > On Tue, 2005-06-28 at 17:34 +0300, Vlad LUPESCU wrote: > > Sal, > > Am si eu o intrebare/problema cum vreti sa-i spuneti. Ea suna cam asa: Am o banda metro de 50Mbits si extern de 2Mbits. Am un GW cu 2 placi de retea. Pe eth0 am ip-ul dat de ISP. Am 2 clase pe care fac FW cf indicatiilor ISP-ului si sunt rutate /23. Acum: > > - am incercat sa fac un script HTB care sa poata face garantari SEPARAT pe rutele de ext/metro. Ex: (clasele mele sunt xxx.xxx.178.0/23) pe ip-ul 178.7 vreau 256Kbits ext si 8Mbits metro; pe IP-ul 178.200 vreau 64kbits ext si 1Mbit metro. Ratele de upload sa fie la jumatatea celor de dw (daca pot sa le introduc eu manual ar fi perfect). > > - un prieten mi-a dat urmatorul script: > > #!/bin/bash > > ETH_IN="eth1" > > ETH_OUT="eth0" > > BANDA_TOTALA="2Mbit" > > # pentru neclasificati ar trebui sa fie banda minima - 1k - aici ar trebui sa ajunga trafic necunoscut, > > # care nu e organizat in shape-uri > > BANDA_NECLASIFICATI="8kbit" > > > > #Shape-uri generale > > /sbin/tc qdisc del dev $ETH_IN root > > /sbin/tc qdisc del dev $ETH_OUT root > > /sbin/tc qdisc add dev $ETH_IN root handle 1 htb default 10 r2q 2 > > /sbin/tc qdisc add dev $ETH_OUT root handle 1 htb default 10 r2q 2 > > /sbin/tc class add dev $ETH_IN parent 1: classid 1:2 htb rate $BANDA_TOTALA > > /sbin/tc class add dev $ETH_OUT parent 1: classid 1:2 htb rate $BANDA_TOTALA > > /sbin/tc class add dev $ETH_IN parent 1:2 classid 1:10 htb rate $BANDA_NECLASIFICATI prio 4 > > /sbin/tc class add dev $ETH_OUT parent 1:2 classid 1:10 htb rate $BANDA_NECLASIFICATI prio 4 > > > > #Shape-uri client 1 - IP 194.126.178.1 si 194.126.179.0/28 > > /sbin/tc class add dev $ETH_IN parent 1:2 classid 1:101 htb rate 1024kbit ceil 1100kbit quantum 65000 prio 4 burst 10k > > /sbin/tc class add dev $ETH_OUT parent 1:2 classid 1:101 htb rate 1024kbit ceil 1100kbit quantum 65000 prio 4 burst 10k > > /sbin/tc filter add dev $ETH_IN parent 1:0 protocol ip prio 100 u32 match ip dst 194.126.178.7/32 classid 1:101 > > /sbin/tc filter add dev $ETH_OUT parent 1:0 protocol ip prio 100 u32 match ip src 194.126.178.7/32 classid 1:101 > > #/sbin/tc filter add dev $ETH_IN parent 1:0 protocol ip prio 100 u32 match ip dst 194.126.179.0/28 classid 1:101 > > #/sbin/tc filter add dev $ETH_OUT parent 1:0 protocol ip prio 100 u32 match ip src 194.126.179.0/28 classid 1:101 > > > > > > #Shape-uri client 2 - IP 194.126.178.128/25 > > #/sbin/tc class add dev $ETH_IN parent 1:2 classid 1:102 htb rate 15Mbit ceil 15Mbit quantum 65000 prio 4 burst 10k > > #/sbin/tc class add dev $ETH_OUT parent 1:2 classid 1:102 htb rate 20Mbit ceil 30Mbit quantum 65000 prio 4 burst 10k > > #/sbin/tc filter add dev $ETH_IN parent 1:0 protocol ip prio 100 u32 match ip dst 194.126.178.128/25 classid 1:102 > > #/sbin/tc filter add dev $ETH_OUT parent 1:0 protocol ip prio 100 u32 match ip src 194.126.178.128/25 classid 1:102 > > > > > > # in exemplul asta clientul 1 are 2 subnet-uri si banda download = banda upload = 10 Mb garantati si 20 Mb limita > > # iar clientul 2 are un subnet si banda download fixata la 15Mb si upload 20Mb garantat si 30 Mb limita superioara > > > > # ATENTIE la filtrele pe eth-uri. Intotdeauna se pun la plecarea pe respectivul eth. > > # Ex. pt. pachete catre 194.126.178.2 download-ul va intra pe eth0 si va > > # iesi pe eth1 asa ca se pune filtrul pt. download pe eth1 cu dst > > # iar upload-ul va intra pe eth1 (dinspre client) si va iesi pe eth0 (spre > > # provider) asa ca se va pune filtrul pe eth0 cu src > > > > > > el a mentionat faptul ca acest script face garantarile si limitele doar pt banda externa. Testand pe ip-ul 178.7 .. stupoare: scriptul limiteaza TOT in valorile introduse de mine. Am si un script care foloseste iptables+mangle insa isi pierde regulile (nu stiu din ce cauza) dupa aproximativ 5 minute. > > > > - mentionez faptul ca am toate clasele de metro intr-un fisier numit clases. > > > > Pls help pt k sunt disperat! > > Vlad > > > > --- > > Detalii despre listele noastre de mail: http://www.lug.ro/ > > > > > Ce va trebui sa faci este sa citesti www.lartc.org. Acolo vei intelege > despre ce este vorba, cum se fac limitarile, etc. > Simplist de tot spus, solutiile tale sunt cam urmatoarele: > - vb cu ISP sa iti trimita extern si metro pe vlan-uri separate, apoi cu > vconfig faci vlanurile si limitarile pe ele (daca reusesti, sa imi zici > si mie, ca nu am incercat) > - vb cu ISP sa iti dea doua conexiuni fizice, una pe metro, una pe > extern (doua fibre). Asa vei putea sa faci separarea foarte frumos, pe > fiecare interfata reala...Atentie: varianta asta costa, ferea! > - marchezi pachetele de metropolitan, si faci shaping pe aceasta > marcare. Detalii la lartc. > - faci reguli pentru fiecare client care sa contina adresele de > metropolitan. CPU consuming, bad results, bad logic... > > > > --- > Detalii despre listele noastre de mail: http://www.lug.ro/ > > > --- Detalii despre listele noastre de mail: http://www.lug.ro/
