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. Като ваведа горните редове и ништо не става. Няма разпределение на трафика. Всеки от мрежата дърпа с колкото може.
|
|
|
|