Автор Тема: препълване на tc filter handle-id  (Прочетена 2316 пъти)

saturn_vk

  • Напреднали
  • *****
  • Публикации: 215
    • Профил
препълване на tc filter handle-id
« -: Dec 11, 2004, 15:40 »
В опитите си да направя shaper който да обхваща както външният нет, така и БГ локала, се сблъсках с един сериозен проблем. БГ локала е много голям, в момента аз оформявам 1104 събнета, което покриват целият (или поне почти целият) локал. Проблема идва от това че самото стартиране на оформящият скрипт отнема близо минута, при това само за 6 компютъра в мрежа, а за да прибавя друг трябва да го рестартирам целият (от събнет то компютър, и от компютър до събнет за всеки събнет и вътрешен компютър). Програмата tc от iproute2 поддържа промяна на самите филтри по същият начин както на класове (tc class/filter change dev), но класовете си имат класов номер.
Филтрите също имат класов номер, НО:
1 - Той се задава автоматично
2 - При толкова много филтри настъпва следният проблем
Примерен код

filter parent 1: protocol ip pref 4 u32 fh 801::fff order 4095 key ht 801 bkt 0 flowid 1:20
  match d9c58d00/ffffff00 at 16
  match 0a000004/ffffffff at 12
filter parent 1: protocol ip pref 4 u32 fh 801::fff order 4095 key ht 801 bkt 0 flowid 1:20
  match d9c58d00/ffffff00 at 12
  match 0a000007/ffffffff at 16
filter parent 1: protocol ip pref 4 u32 fh 801::fff order 4095 key ht 801 bkt 0 flowid 1:20
  match d9c58d00/ffffff00 at 16
  match 0a000007/ffffffff at 12
filter parent 1: protocol ip pref 4 u32 fh 801::fff order 4095 key ht 801 bkt 0 flowid 1:20
  match d9c58d00/ffffff00 at 12
  match 0a000009/ffffffff at 16
filter parent 1: protocol ip pref 4 u32 fh 801::fff order 4095 key ht 801 bkt 0 flowid 1:20
  match d9c58d00/ffffff00 at 16
  match 0a000009/ffffffff at 12

Това са само малка част от филтрите, но ако погледнете, fh (filter handle) е станал еднакъв за повечето от този клас, защото се е препълнил. И точно това не го разбирам, ако се опитам да прибавя филтър като ръчно задам филтърният номер, или ще ми напише:
Примерен код

RTNETLINK answers: File exists
We have an error talking to the kernel

ако използвам примерно 801::fff
или
Примерен код

RTNETLINK answers: Invalid argument
We have an error talking to the kernel

ако напиша примерно 802::833 (или fff)

Та въпросите са ми следните:
1 - как точно се задава един филтърен номер така че да е валиден (явно не мога просто да напиша 2 3-цифрени числа)
2 - как така толкова филтри имат еднакви номера, въпреки че такава нагласа е невалидна за ядрото
3 - как мога да редактирам тези филтри след като толкова много са с еднакъв номер
4 - Има ли начин автоматично да получавам IP адресите които са в българският локал?

Ще очаквам с нетърпения всякакви полезни идеи '<img'>
Активен

"That is not dead which can eternal lie,
And with strange aeons even death may die."

  • Гост
препълване на tc filter handle-id
« Отговор #1 -: Dec 11, 2004, 16:02 »
Цитат (saturn_vk @ Дек. 11 2004,16:40)

Здрасти !
А не е ли по-лесно да огледаш дали неполучаваш маркирани пакети (например от cisco-to на доставчика ти) и на база маркировка да ограничаваш външния трафик ?
Активен

saturn_vk

  • Напреднали
  • *****
  • Публикации: 215
    • Профил
препълване на tc filter handle-id
« Отговор #2 -: Dec 11, 2004, 17:12 »
не, предпочитам този метод, защото не ме привързва към определен доставчик или доставчици. Не е гарантирано че различни доставчици ще използват еднакви методи, което разваля много неща.
Активен

"That is not dead which can eternal lie,
And with strange aeons even death may die."

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
препълване на tc filter handle-id
« Отговор #3 -: Dec 14, 2004, 23:41 »
Цитат (Guest @ Дек. 11 2004,17':0')

Здрасти !
А не е ли по-лесно да огледаш дали неполучаваш маркирани пакети (например от cisco-to на доставчика ти) и на база маркировка да ограничаваш външния трафик ?

А на мен ми е интересно как ще шейпваш с htb, когато само download-а ти е маркиран... а download се шейпва като се ограничава upload-a, ако не се лъжа '<img'>
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
препълване на tc filter handle-id
« Отговор #4 -: Dec 18, 2004, 12:55 »
Цитат (saturn_vk @ Дек. 11 2004,16:40)
Проблема идва от това че самото стартиране на оформящият скрипт отнема близо минута, при това само за 6 компютъра в мрежа, а за да прибавя друг трябва да го рестартирам целият (от събнет то компютър, и от компютър до събнет за всеки събнет и вътрешен компютър).

'<img'>))))) Е сигурно ще е така . Ти при 100 РС-та ще имаш 100 000 правила ... Направи с iptables верига за БГ-то и верига за международния и след това работи в тези вериги с IP-тата на ПС-тата.
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
how to handle devise 0x0100
Настройка на програми
akif 4 1545 Последна публикация Aug 04, 2005, 18:46
от
BitTornado IP filter
Настройка на програми
cekuf 1 1693 Последна публикация Dec 14, 2005, 01:19
от
Как да заобиколя web filter в работата?
Идеи и мнения
bgivanoval 11 3932 Последна публикация Apr 20, 2006, 09:12
от
Bug: unable to handle kernel paging request at ...
Хардуерни и софтуерни проблеми
hack_man 9 3476 Последна публикация Apr 13, 2007, 10:11
от hack_man
L7-filter
Идеи и мнения
sharan4o 0 1625 Последна публикация Sep 27, 2007, 14:45
от sharan4o