Покажи Публикации - kirtaka1
* Виж публикациите на потр. | Виж темите на потр. | Виж прикачените файлове на потр
Страници: [1]
1  Linux секция за напреднали / Хардуерни и софтуерни проблеми / HTB ograni4enie na trafik -: Dec 20, 2004, 15:39
Така. Тъй като тепърва се уча на HTB, VladSun ще хвърлиш ли един поглед на това.Благодаря ти предварително.
Вътрешната мрежа на доставчика ми е 192.168.х.х, и от скоро всичко минава през VPN-a, но на по-голяма скорост. Затова се наложи да направя следните промени по-долу.

iptables -t mangle -A FORWARD -i ppp0 -o eth1 -s ! 192.168.0.0/16 -d 192.168.0.1 -j MARK --set-mark 0x1
iptables -t mangle -A FORWARD -i ppp0 -o eth1 -s ! 192.168.0.0/16 -d 192.168.0.2 -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -i ppp0 -o eth1 -s ! 192.168.0.0/16 -d 192.168.0.3 -j MARK --set-mark 0x3
iptables -t mangle -A FORWARD -i ppp0 -o eth1 -s ! 192.168.0.0/16 -d 192.168.0.4 -j MARK --set-mark 0x4
iptables -t mangle -A FORWARD -i ppp0 -o eth1 -s ! 192.168.0.0/16 -d 192.168.0.5 -j MARK --set-mark 0x5

tc qdisc add dev eth1 root handle 1: htb default 60
tc class add dev eth1 parent 1: classid 1:1 htb rate 5kbps ceil 6kbps

tc class add dev eth1 parent 1:1 classid 1:10 htb prio 0 rate 1kbps ceil 6kbps
tc class add dev eth1 parent 1:1 classid 1:20 htb prio 0 rate 1kbps ceil 6kbps
tc class add dev eth1 parent 1:1 classid 1:30 htb prio 1 rate 1kbps ceil 5kbps
tc class add dev eth1 parent 1:1 classid 1:40 htb prio 2 rate 1kbit ceil 5kbps
tc class add dev eth1 parent 1:1 classid 1:50 htb prio 1 rate 1kbps ceil 5kbps
tc class add dev eth1 parent 1:1 classid 1:60 htb prio 10 rate 1kbit ceil 6kbps

tc qdisc add dev eth1 parent 1:10 handle 110: sfq perturb 10
tc qdisc add dev eth1 parent 1:20 handle 120: sfq perturb 10
tc qdisc add dev eth1 parent 1:30 handle 130: sfq perturb 10
tc qdisc add dev eth1 parent 1:40 handle 140: sfq perturb 10
tc qdisc add dev eth1 parent 1:50 handle 150: sfq perturb 10
tc qdisc add dev eth1 parent 1:60 handle 160: sfq perturb 10

tc filter add dev eth1 parent 1:0 prio 0 protocol ip handle 1 fw classid 1:10
tc filter add dev eth1 parent 1:0 prio 0 protocol ip handle 2 fw classid 1:20
tc filter add dev eth1 parent 1:0 prio 1 protocol ip handle 3 fw classid 1:30
tc filter add dev eth1 parent 1:0 prio 2 protocol ip handle 4 fw classid 1:40
tc filter add dev eth1 parent 1:0 prio 1 protocol ip handle 5 fw classid 1:50
2  Linux секция за напреднали / Хардуерни и софтуерни проблеми / HTB ograni4enie na trafik -: Dec 18, 2004, 12:21
Значи, идеята е следната, трябва да мога да огранича трафика само който минава през VPN-a. Локалната мрежа на доставчика ми трябва да остане на пълната скорост. Затова не мога да направя iptables -t mangle -A FORWARD -d 192.168.0.1 -j MARK --set-mark 0x1 и т.н.
А това за qdisc ще го прегледам. Благодаря все пак за отговора. Ако някой може да даде още някоя идея ще съм благодарен.
3  Linux секция за напреднали / Хардуерни и софтуерни проблеми / HTB ograni4enie na trafik -: Dec 09, 2004, 16:11
Значи имам eth0, който е свързан към LAN доставчика ми.
eth1, който е свързан към вътрешната ми локална мрежа.
ppp0 се явява VPN през който ползвам internet от LAN доставчика.
Направил съм NAT за ppp0 i eth0, но искам и да разпределя скоростта равномерно(почти:)),
между всички от вътрешната мрежа. HTB i MARK, съм ги компилирал статично в кернела,
защото иначе има проблем с зареждането на MARK. Правя следното:

Маркирам пакетите идващи от VPN-a, като за всяко dest IP давам различен mark.
iptables -t mangle -A FORWARD -i ppp0 -o eth1 -d 192.168.0.1 -j MARK --set-mark 0x1
iptables -t mangle -A FORWARD -i ppp0 -o eth1 -d 192.168.0.2 -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -i ppp0 -o eth1 -d 192.168.0.3 -j MARK --set-mark 0x3
iptables -t mangle -A FORWARD -i ppp0 -o eth1 -d 192.168.0.5 -j MARK --set-mark 0x5

Правя си родителски клас за скорост от 5kpbs. Толкова ми е скоростта на VPN-а.
tc qdisc add dev eth1 root handle 1: htb default 60
tc class add dev eth1 parent 1: classid 1:1 htb rate 5kbps ceil 6kbps

Добавям, подкласове за всеки един потребител, и съответната скорост.
tc class add dev eth1 parent 1:1 classid 1:10 htb prio 0 rate 1kbps ceil 6kbps
tc class add dev eth1 parent 1:1 classid 1:20 htb prio 1 rate 1kbps ceil 6kbps
tc class add dev eth1 parent 1:1 classid 1:30 htb prio 2 rate 1kbps ceil 5kbps
tc class add dev eth1 parent 1:1 classid 1:50 htb prio 4 rate 1kbps ceil 5kbps
tc class add dev eth1 parent 1:1 classid 1:60 htb prio 10 rate 0kbps ceil 6kbps

Насочвам маркираните пакети да минават през дадените по горе класове.
tc filter add dev eth1 parent 1:0 prio 0 protocol ip handle 1 fw flowid 1:10
tc filter add dev eth1 parent 1:0 prio 1 protocol ip handle 2 fw flowid 1:20
tc filter add dev eth1 parent 1:0 prio 2 protocol ip handle 3 fw flowid 1:30
tc filter add dev eth1 parent 1:0 prio 4 protocol ip handle 5 fw flowid 1:50

Според мен тове нещо по горе трябва да работи. Проблема е че не работи. Все едно
че въобще не съм го слагал. Някой ако има идея, или повече опит от мен в HTB, да
удари едно рамо. Ще съм много благодарен на всяка идея.
Edit: Използвам SlackWare 9.1 с ядро 2.4.20. tc инструмента съм го изтеглил от нета с подръжка на HTB. Като ваведа горните редове и ништо не става. Няма разпределение на трафика. Всеки от мрежата дърпа с колкото може.
Страници: [1]