limitare trafic
Submitted by cosminb on Sat, 06/03/2006 - 20:53.
Salut,
am si eu o intrebare, tot incerc sa gasesc un program sau mai multe cu, care sa pot face limitare la trafic un exemplu la ceea ce caut:
am o banda de 10MBPS
client 1 limitare la 16KBPS cu up to 512KBPS
client 2 limitare la 64KBPS up to 1024KBPS
sau macar
limitare la 16KBPS fara up to ...
ma gandeam la un program ceva care sa poata lua din banda mea de 10MBPS si sa ii aloce clientului 1 16KBPs
si clientului 2 64KBPS
am incercat cu pf+altq dar nu merge acolo ii pe 15% ,20% ... din banda nu e ceea ce vreau eu .
astept orice raspuns.
»
- Login to post comments
![[banner]](/images/banners/unixro.gif)
![[banner]](/images/banners/progra.png)
![[banner]](/images/banners/undeadly.png)
limitare trafic
Se pot folosi si procente din banda si valori ca b, Kb, Mb, Gb (bit, kilobit, megabit, gigabit). Poti sa folosesti doar valorile daca vrei...
limitare trafic
nu ar fi rau un exemplu daca se poate.
limitare trafic
http://www.devguide.net/books/openbsdfw-02-ed/rules.txt
limitare trafic
ceva mai simplu daca se poate, ala e prea mare si nu inteleg.
limitare trafic
damm... imi era lene sa citesc cu antentie, pentru ceilalti care citesc acest post.
limitarea se face cam asa ceva:
# Queueing: rule-based bandwidth control.
altq on $ext_if bandwidth 10Mb cbq queue { dflt, demo, test, profi }
queue dflt bandwidth 64Kb cbq(default)
queue demo bandwidth 1%
queue test bandwidth 6Kb
queue profi bandwidth 1024Kb
si am pus la ip:
# assign packets to a queue.
pass out on $ext_if from 0.0.0.0 to any keep state queue profi
pass in on $ext_if from 0.0.0.0 to any keep state queue profi
si am incercat de 10 x cu un test de 100MB de la idilis, si garantez ca daca ai scris acolo 64Kb mai mult de 64Kb nu iti da serveru :D
cool :D
thanks for help.
limitare trafic
Nu chiar...
Ca regula generala, traficul care vine dinspre internet il controlezi pe interfata interna si traficul care pleaca spre internet pe interfata externa. Altq-ul din PF nu aloca pachetele in clase decit la IESIREA din interfata, doar acolo se face verificarea.
Presupunind ca faci nat si ai 2 interfete, 10Mbit extern, 100Mbit intern:
ext_if = "rl0" int_if = "rl1" ip_ext_if = "xxx.xxx.xxx.xxx" ip_int_if = "192.168.2.1" gigel_1 = "192.168.2.2" gigel_2 = "192.168.2.3" gigel_... = ................. altq on $int_if bandwidth 80Mb cbq queue { local, extern } queue local bandwidth 70Mb cbq(default) queue extern bandwidth 10Mb { q_gigel_1, q_gigel_2, ..... } queue q_gigel_1 bandwidth 64Kb queue q_gigel_2 bandwidth 64Kb queue q_gigel_.......Am pus 80Mb preventiv, probabil nu o sa se atinga 100Mbit.
In cazul de mai sus, 64Kb sunt maximi. Pentru imprimut din clasa PARINTE (10Mb mai sus) se foloseste cbq(borrow).
queue extern bandwidth 10Mb { q_gigel_1, q_gigel_2, ..... } queue q_gigel_1 bandwidth 64Kb cbq(borrow) queue q_gigel_2 bandwidth 64Kb cbq(borrow) queue q_gigel_.......In concluzie, 64Kb cu imprumut pina la 512Kb si 64Kb cu impumut pina la 256Kb se face destul de complicat.
....................
Dupa asta, aloci traficul in clase in partea de filtrare.
Asta inseamna:
Pachetele sunt introduse in clase la IESIREA din $int_if, ca urmare a "keep state".
Pachetele pentru $ip_int_if, deci traficul intranet (evident daca te intereseaza asta, ex. ai un server ftp intern...), sunt bagate in clasa "local". Clasa "local" este si clasa "default", toate pachetele care nu au fost prinse in clasificari sunt introduse aici, deci mare atentie.
Pachetele "gigeilor" pentru traficul internet sunt bagate in clasele respective....
Si atentie mare la "keep state", pachetele conexiunilor respective sunt lasate sa iasa automat DOAR DIN INTERFATA pe care exista filtarea.
Un "keep state" pe o filtrare "in" pe interfata interna, nu iti asigura nimic pe interfata externa.
Eh cam asta ar fi, pe scurt.
Multa bafta.
limitare trafic
natd, din cate stiu eu se foloseste pentru ipurile pivate, locate 192.* 10.* ... eu folosesc IP reale publice, deci nu folosesc natd .
Merci , dar nu vreau sa limitez reteaua locala , doar IN ca acolo vine downloadu :)
limitare trafic
Clientii aia nu sunt in reteaua locala in spatele ruterului cu nat ?
Daca da, se aplica ce am scris mai sus.
PS:
K, am inteles. E doar rutare.
Oricum ideea ramine aceeasi.
limitare trafic
Salut, clientii mei sunt dupa router, dar am testat eu dupa ce am facut pf, am natd disable si merge perfect, ma intereseaza sa limited downloadu, upload pot sa faca si cu 100MB nu ma intereseaza si reteaua locala nu o limitez din cauza ca am server de Game si DC++ pus si nu pot limita :)
apropo nu ai ideea de o linie ca de ex:
#!/bin/bash
clear
echo
currdate=`date +%d.%m.%Y`
ziua=`date +%d`
echo -n "Introdu IP-ul: "
read ip
echo -n "Data instalarii: $currdate"
read datainst
echo -n "Introdu Nume: "
read nume
am facut asta, dar sa imi scrie datele astea intr-un txt ?
limitare trafic
....
echo "IP: " $ip > fisier.txt
echo "Data Instalarii: " $currdate >> fisier.txt
echo "Nume" $nume >> fisier.txt
..etc