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/


Raspunde prin e-mail lui