Добавено на: 2010-05-06 21:45:45
Без да навлизам в подробности които можете сами да прочетете ще ви дам работещо howto за traffic control над няколко мрежи.
Представете си, че работите в фирма която е голяма и има 15 отдела. Хубаво е всеки отдел да е в различна мрежа като примерно 192.168.10.*, 192.168.11.* и т.н. Предимствата на подобно накъсване на мрежата са доста големи, но в момента няма да навлизам в теория.
Можете да ползвате следния скрипт който аз ползвах едно време за да огранича трафика на определени мрежи.
Съвсем прост и изчистен за да е и по-разбираем.
Идеята е, че на всяка мрежа определяте максимална и минимална скорост.
За да видите какво се случва и какви са ви правилата ползвайте tc qdisc show dev eth1.
Или пък:
Трафик контрол може да се прави и с Squid, но не ви го препоръчвам.
Според мен това е задължително за един системен администратор.
Все пак TC е доста сложно за начинаещи и препоръчвам да спрете с linux-а и да вземете едно freebsd където може да ползвате The OpenBSD Packet Filter .
Много по-лесен и приятен е за работа. Когато аз се занимавах със системна администрация този пакет още го нямаше "портнат" за linux.
Представете си, че работите в фирма която е голяма и има 15 отдела. Хубаво е всеки отдел да е в различна мрежа като примерно 192.168.10.*, 192.168.11.* и т.н. Предимствата на подобно накъсване на мрежата са доста големи, но в момента няма да навлизам в теория.
Можете да ползвате следния скрипт който аз ползвах едно време за да огранича трафика на определени мрежи.
Съвсем прост и изчистен за да е и по-разбираем.
#!/bin/bash
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: htb default 60
tc class add dev eth0 parent 1: classid 1:1 htb rate 10mbit
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 60kbps ceil 64kbps prio 5
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 60kbps ceil 64kbps prio 5
tc class add dev eth0 parent 1:1 classid 1:13 htb rate 60kbps ceil 64kbps prio 5
FILTER_IP="/sbin/tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst"
$FILTER_IP 192.168.**.** flowid 1:11
$FILTER_IP 192.168.**.** flowid 1:12
$FILTER_IP 192.168.**.** flowid 1:13
Идеята е, че на всяка мрежа определяте максимална и минимална скорост.
За да видите какво се случва и какви са ви правилата ползвайте tc qdisc show dev eth1.
Или пък:
tc qdisc del dev eth1 root 2>/dev/null
tc qdisc add dev eth1 root handle 1:0 htb default 1
tc class add dev eth1 parent 1:0 classid 1:2 htb rate 103809024
tc qdisc add dev eth1 parent 1:2 handle 2:0 sfq perturb 10
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip src 192.168.0.1 flowid 1:2
tc class add dev eth1 parent 1:0 classid 1:3 htb rate 4092kbit
tc class add dev eth1 parent 1:3 classid 1:4 htb rate 4092kbit ceil 0
tc class add dev eth1 parent 1:3 classid 1:9 htb rate 4092kbit ceil 0
tc class add dev eth1 parent 1:4 classid 1:5 htb rate 8kbit ceil 100kbit
tc qdisc add dev eth1 parent 1:5 handle 5:0 sfq perturb 10
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.210 flowid 1:5
Трафик контрол може да се прави и с Squid, но не ви го препоръчвам.
Според мен това е задължително за един системен администратор.
Все пак TC е доста сложно за начинаещи и препоръчвам да спрете с linux-а и да вземете едно freebsd където може да ползвате The OpenBSD Packet Filter .
Много по-лесен и приятен е за работа. Когато аз се занимавах със системна администрация този пакет още го нямаше "портнат" за linux.
