Автор Тема: tc shape  (Прочетена 1624 пъти)

vox

  • Напреднали
  • *****
  • Публикации: 147
  • Distribution: HP-UX, Solaris, AIX
  • Window Manager: console only
  • #!/bin/ksh
    • Профил
tc shape
« -: Nov 11, 2011, 18:54 »
Здравейте, имам нужда от насоки и идеи .. както и от малко помощ.

намерих си един скрипт за контрол на трафика,

Код
GeSHi (Bash):
  1. #!/bin/bash
  2.  
  3. PROG="/sbin/iptables"
  4. CLASS="/sbin/tc class add dev eth1 parent"
  5. MANGLE="/sbin/iptables -t mangle -A POSTROUTING"
  6. FILTER_DST="/sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst"
  7. FILTER_SRC="/sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src"
  8.  
  9. function CLASSDEF {
  10.   /sbin/tc class add dev eth1 parent $1 classid $2 htb rate $3 ceil $4 quantum 1500
  11. }
  12.  
  13. function DST {
  14.   /sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst $1 flowid $2
  15. }
  16.  
  17. function SRC {
  18.   /sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src $1 flowid $2
  19. }
  20.  
  21. function SRCDST {
  22.   /sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src $2 flowid 1:$1
  23.   /sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst $2 flowid 1:$1
  24. }
  25.  
  26. function CLIENT {
  27.   /sbin/tc class add dev eth1 parent 1:$1 classid 1:$2 htb rate $3 ceil $4 quantum 1500
  28.   /sbin/tc qdisc add dev eth1 parent 1:$2 sfq perturb 10
  29.   /sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src $5 flowid 1:$2
  30.   /sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst $5 flowid 1:$2
  31. }
  32.  
  33.  
  34. $PROG -t mangle -F
  35.  
  36. /sbin/tc qdisc del dev eth1 root
  37. /sbin/tc qdisc add dev eth1 root handle 1: htb default 99
  38.  
  39. CLASSDEF   1:  1:1 512kbps 512kbps
  40.  
  41. #CLIENT          1     1001     512kbps  640kbps         192.168.0.1/32             # gw
  42. CLIENT          1     1002      512kbps  640kbps         192.168.0.2/32             # user2
  43. CLIENT          1     1003      512kbps  640kbps         192.168.0.3/32             # user3
  44. CLIENT          1     1004      512kbps  640kbps         192.168.0.4/32             # user4
  45. CLIENT          1     1005      512kbps  640kbps         192.168.0.5/32             # user5
  46. CLIENT          1     1006      512kbps  640kbps         192.168.0.6/32             # user6
  47. CLIENT          1     1007      512kbps  640kbps         192.168.0.7/32             # user7
  48. CLIENT          1     1008      512kbps  640kbps         192.168.0.8/32             # user8
  49. CLIENT          1     1009      512kbps  640kbps         192.168.0.9/32             # user9
  50. CLIENT          1     1010      512kbps  640kbps         192.168.0.10/32            # user10
  51.  
  52. $MANGLE -d 192.168.0.0/24 -j eth1
  53. $MANGLE -s 192.168.0.0/24 -j eth1

работи си скрипта, но при стартиране ми изкарва следната грешка ...но както казах дори и с грешка работи!

root@gw:~# ./tc.sh
RTNETLINK answers: No such file or directory
iptables v1.4.10: Couldn't load target `eth1':/lib/xtables/libipt_eth1.so: cannot open shared object file: No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.10: Couldn't load target `eth1':/lib/xtables/libipt_eth1.so: cannot open shared object file: No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
root@gw:~#

----------------------------------------------------------------------------

Немога да разбера кое не е наред за да изкарва грешката и да работи ?
Друго което искам да попитам е, възможно ли е посредством скрипта да ограничавам интернет, но връзката ми с gw-то да се запазва локално бърза, тоест да достигам голями скорости с 192.168.0.1 и да няма ограничение. Какво трябва да направя за да задам ограничение на upload-а различен от download-а ?


П.С :
OS Ubuntu 11.04 server
eth0 - external ip
eth1 - internal ip

/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward


Активен

No Windows, no Gates only apache inside

vitamin4o1

  • Напреднали
  • *****
  • Публикации: 45
  • Distribution: Debian GNU/Linux
  • Window Manager: KDE 4
    • Профил
Re: tc shape
« Отговор #1 -: Nov 11, 2011, 21:35 »

Друго което искам да попитам е, възможно ли е посредством скрипта да ограничавам интернет, но връзката ми с gw-то да се запазва локално бърза, тоест да достигам голями скорости с 192.168.0.1 и да няма ограничение. Какво трябва да направя за да задам ограничение на upload-а различен от download-а ?


Не ми стана ясно на кои интерфейси (вътрешен или външен прилагаш tc и в коя посока) ....
TC се ползва за да ограничаваш точно ъплоуда. Например: за да можеш да избираш днс заявките да бъдат с по-голям приоритет от всичко останало, което да доведе до по-бързо отваряне на уеб страници в браузъра (например). Като цяло не можеш да спреш трафика който е тръгнал към твоя гейтуей, можеш само да го изхвърляш със някой от модулите на tc (поне така беше преди 5-8 години), но това сигурно ще доведе до пре-предаване на същия този трафик, затова няма да ти е от полза. Нямам време да прочета скрипта, че ме чакат за по  [_]3 .... Поне дай повече подробности за топологията и това къде я прилагаш, за да може някой да ти помогне.

Относно грешките които ти излизат - не знам за кво става въпрос ....

В обобщение .. tc има най-добра употреба при ъплоуд трафика, за доунлоуд не знам .... Може би е вариант да го ограничаваш на 192,168,0,1 и на двете мрежови карти - за външна и вътрешна мрежа, и за двата интерфейса да работиш в посока ъплоуд (вътрешния интефейс ъплоудва към вътрешната мрежа, външния - към външната). Не знам какъв ще е ефекта върху вътрешната мрежа, но с подходящи правила може и да стане.

 [_]3

Поздрави,  [_]3
Активен

vox

  • Напреднали
  • *****
  • Публикации: 147
  • Distribution: HP-UX, Solaris, AIX
  • Window Manager: console only
  • #!/bin/ksh
    • Профил
Re: tc shape
« Отговор #2 -: Nov 11, 2011, 22:03 »
Аз съм писал в П.С, че eth1 ми е вътрешната мрежа тоест зад нея са ip-тата 192.168.0.2,3,4,5,6,7.. искам техния трафик да огранича.
Активен

No Windows, no Gates only apache inside

teleport

  • Напреднали
  • *****
  • Публикации: 134
    • Профил
Re: tc shape
« Отговор #3 -: Nov 11, 2011, 22:59 »
Последните 2 реда я вадят тази грешка:

Код:
$MANGLE -d 192.168.0.0/24 -j eth1
$MANGLE -s 192.168.0.0/24 -j eth1

Това става:
Код:
iptables -t mangle -A POSTROUTING -d 192.168.0.0/24 -j eth1
iptables -t mangle -A POSTROUTING -s 192.168.0.0/24 -j eth1

Нещо не е довършено. Би могло да е '-i eth1' и '-o eth1', по пак след това трябва да има '-j XXXXX'.
Активен

vox

  • Напреднали
  • *****
  • Публикации: 147
  • Distribution: HP-UX, Solaris, AIX
  • Window Manager: console only
  • #!/bin/ksh
    • Профил
Re: tc shape
« Отговор #4 -: Nov 12, 2011, 12:37 »
Дане би да трябва да си опиша eth1 във /etc/network/interfaces, понеже двата ми интерфейса са описани във файла firewall който се намира в /root , и се зарежда със стартиране на системата...

Код
GeSHi (Bash):
  1. #setnetwork interfaces
  2. ifconfig eth0 up
  3. ifconfig eth0 87.120.21X.XXX netmask 255.255.255.192
  4. ifconfig eth1 up
  5. ifconfig eth1 192.168.0.1 netmask 255.255.255.0
  6.  

към teleport, пробвах в края на скрипта с -o eth1 , и част от грешката се загуби ...тоест загуби се това "RTNETLINK answers: No such file or directory" , но другата част си остана "iptables v1.4.10: Couldn't load target `eth1':/lib/xtables/libipt_eth1.so: cannot open shared object file: No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.10: Couldn't load target `eth1':/lib/xtables/libipt_eth1.so: cannot open shared object file: No such file or directory

Try `iptables -h' or 'iptables --help' for more information."
« Последна редакция: Nov 12, 2011, 19:18 от vox »
Активен

No Windows, no Gates only apache inside

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
SHAPE на потребител!
Хардуерни и софтуерни проблеми
ERROR_404 1 1629 Последна публикация Nov 24, 2003, 15:32
от stockton
shape
Настройка на програми
alpha 1 1604 Последна публикация Jan 30, 2004, 14:29
от nizz
Htb shape проблем
Настройка на програми
iline 2 1568 Последна публикация Aug 14, 2006, 11:30
от iline
Shape-ване на вътрешни мрежи
Настройка на програми
spritable 4 1772 Последна публикация Nov 02, 2006, 15:40
от spritable
htb shape
Хардуерни и софтуерни проблеми
dido2 0 1127 Последна публикация Apr 02, 2009, 21:50
от dido2