Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: defilers в Sep 01, 2011, 19:02



Титла: iptables mark + tc over bond
Публикувано от: defilers в Sep 01, 2011, 19:02
Здравейте, искам да огранича download-a на няколко ип-та. Конгигурацията ми е следната:

Имам 2 bond интерфейс-а: bond0 i bond1 с round robin.
bond0 (вътрешен интерфейс) включва eth2 и eth4
bond1 (външен интерфейс) включва eth0, eth1 и eth3
върху bond1 имам 4 vlan-a

Така сега върху bond0 искам да използвам iptables + tc за да огранича download-a със следния код:
Код
GeSHi (Bash):
  1. #!/bin/sh
  2. /sbin/tc qdisc del dev bond0 root    2> /dev/null > /dev/null
  3. /sbin/iptables -t mangle -F
  4. /sbin/iptables -t nat -F
  5. /sbin/iptables -t nat -A POSTROUTING -s 10.0.0.5 -j MASQUERADE
  6.  
  7. /sbin/tc qdisc add dev bond0 root handle 1: htb default 2
  8. /sbin/tc class add dev bond0 parent 1: classid 1:1 htb rate 100mbit
  9. /sbin/tc class add dev bond0 parent 1:1 classid 1:2 htb rate 1mbit ceil 32mbit
  10. /sbin/tc filter add dev bond0 parent 1:0 protocol ip prio 1 handle 2 fw classid 1:2
  11.  
  12. # Internet class
  13. /sbin/tc class add dev bond0 parent 1:1 classid 1:3 htb rate 8mbit ceil 16mbit prio 1
  14.  
  15. # Client class
  16. /sbin/tc class add dev bond0 parent 1:3 classid 1:7 htb rate 1mbit ceil 8mbit prio 1
  17. /sbin/iptables -t mangle -A FORWARD -o bond0 -d 10.0.0.5 -j MARK --set-mark 0x7
  18. /sbin/tc filter add dev bond0 parent 1:0 protocol ip prio 1 handle 7 fw classid 1:7
  19.  
  20.  
След известно тестване от 10.0.0.5 се оказа, че не може да достигне и 4mbit. Къде бъркам ?


Титла: Re: iptables mark + tc over bond
Публикувано от: VladSun в Sep 02, 2011, 12:52
Отдавна не съм си играл с tc, но ще пробвам да помогна. Първо, ако ще ползваш IPMARK (или IPCLASSIFY) не ти трябват филтри за всяко ИП, а един "празен" филтър (за IPMARK, IPCLASSIFY няма нужда от никакви филтри).

Отделно, мисля, че default class-а ти няма нужда от филтър към него.

Никъде не виждам queueing discipline (qdisc) за ИП-то. Това е лощо! :)

Малко за четене :
http://www.linux-bg.org/cgi-bin/y/index.pl?id=advices&key=380752598&page=article
http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=386924398


Титла: Re: iptables mark + tc over bond
Публикувано от: defilers в Sep 03, 2011, 21:06
Благодаря за насоките в крайна сметка използвах classify и sfq и нещата потръгнаха.