Linux Advanced Routing - Traffic Control
Без да навлизам в подробности които можете сами да прочетете ще ви дам работещо howto за traffic control над няколко мрежи.

Представете си, че работите в фирма която е голяма и има 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.
Коментирай
 
Потребител : *
Сайт (URL) :
Коментар : *
Въведи текста : *
 ______      ___      _  _     _____     ____    
|      \\   / _ \\   | \| ||  |  ___||  |  _ \\  
|  --  //  | / \ ||  |  ' ||  | ||__    | |_| || 
|  --  \\  | \_/ ||  | .  ||  | ||__    | .  //  
|______//   \___//   |_|\_||  |_____||  |_|\_\\  
`------`    `---`    `-` -`   `-----`   `-` --`  
                                                 
 
Предложи тема
Предложение от : *
Тема : *
Описание : *