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

Linux секция за начинаещи => Настройка на програми => Темата е започната от: HighWay в Oct 25, 2007, 15:17



Титла: Layer7 patch help
Публикувано от: HighWay в Oct 25, 2007, 15:17
Здравейте

От 2 дни се мъча безуспешно да пачна ядрото и iptables за layer7.
Опитах с 2 различни версии на iptables и на kernel съответно
iptables-1.3.5 и 1.3.7. ядра 2.6.20 и 2.6.21.1 за които има съответните пачове
след пач на ядрото се появяват опциите на layer7 и самото ядро се компилира без проблеми. Пач-а на iptables също минава без проблем , както и компилирането им
За съжаление поддръжка на layer7 така и нямам

iptables v1.3.7: Couldn't load match `layer7':/usr/local/lib/iptables/libipt_layer7.so: cannot open shared object file: No such file or directory


от това става ясно че libipt_layer7.so липсва
Спазил съм точно инструкциите от:
http://l7-filter.sourceforge.net/HOWTO-kernel

този пач съм го слагал успешно на ядро 2.4.х  без проблем, но тук не става ....

Моля , някой които се е сблъсквал с това да помогне

OS Linux Slackware 11

Благодаря

HighWay





Титла: Layer7 patch help
Публикувано от: Hapkoc в Oct 25, 2007, 15:29
Аз конкретно с това не съм се борил, но бих претърсил файловата система за такъв файл с идеята, че просто е инсталиран на друго място.


Титла: Layer7 patch help
Публикувано от: HighWay в Oct 25, 2007, 15:40
Благодаря Hapkoc за бързият отговор
за съжаление никъде няма такъв фаил.
В google има описани 2-3 такива случая ,но без съществено решение за проблема.


Титла: Layer7 patch help
Публикувано от: Gaara в Oct 25, 2007, 16:43
Как точно си пачнал?
Идеята ми е, че ако си пропуснал стъпката chmod +x iptables-XXX/extensions/.layer7-test и гориш :)


Титла: Layer7 patch help
Публикувано от: HighWay в Oct 25, 2007, 17:12
не съм пропуснал и това

предполагам че е някаква тъпа грешка или пропуск от моя страна нямаща нищо общо с патчването но опита ми в Linux не е много голям
И понеже съм се отчаял мога да дам на някои root acc да "погледне" какво става

ако някои има желание за това може да ми се обади в icq
9004831

Благодаря

HighWay


Титла: Layer7 patch help
Публикувано от: VladSun в Oct 25, 2007, 17:21
Имаш ли този файл в /usr/src/iptables/extensions (или там където си разархивирал) ... а libipt_layer7.c ?


Титла: Layer7 patch help
Публикувано от: HighWay в Oct 25, 2007, 17:23
да, има го:

/usr/src/iptables-1.3.7/extensions/libipt_layer7.c


Титла: Layer7 patch help
Публикувано от: VladSun в Oct 25, 2007, 17:40
но нямаш
/usr/src/iptables-1.3.7/extensions/libipt_layer7.so
така ли?

Как точно компилираш iptables-a?


Титла: Layer7 patch help
Публикувано от: HighWay в Oct 25, 2007, 17:43
Да, libipt_layer7.so го няма

компилирам с :
make clean, make dep
make KERNEL_DIR=/usr/src/kernel-2.6.20
make install KERNEL_DIR=/usr/src/kernel-2.6.20
при компилиране не извежда грешка


Титла: Layer7 patch help
Публикувано от: VladSun в Oct 25, 2007, 17:50
http://openfmi.net/docman/view.php/187/135/INSTALL.txt

Дали ще помогне?

ПП: Трябва да прекомпилираш iptables-a, но можеш и да не му даваш първите две команди.





Титла: Layer7 patch help
Публикувано от: HighWay в Oct 25, 2007, 18:01
Благодаря VladSun

Не съм сигурен дали става въпрос за това :
cp extensions/libipt_CLASSIFY.so /usr/local/lib/iptables/libipt_CLASSIFY.so

(това е при компилиране на iptables)

ако е това - има го и работи
сега ще пробвам с P.O.M дали няма нещо което съм пропуснал

HighWay


Титла: Layer7 patch help
Публикувано от: VladSun в Oct 25, 2007, 18:17
Упс :)

Имах предвид да добавиш (ако изобщо може,де) във файла Makefile на iptables - реда за ip ver. 4 разширенията - layer7

а не да пачваш за IPCLASSIFY :)

Освен това, според РЕАДМЕ-то на iptables, за компилиране/инсталиране не ти трябва make dep...


Титла: Layer7 patch help
Публикувано от: HighWay в Oct 25, 2007, 18:23
Да, точно сега разглеждам Makefile ,а и попаднах на една полезна страничка
http://ipclassify.relef.net/index.html
където това е описано

Благодаря. ще се опитам да се справя :)

HighWay


Титла: Layer7 patch help
Публикувано от: VladSun в Oct 26, 2007, 03:29
:) Моята страничка си намерил :)

Макар че, не виждам какво общо има тя с Layer7 patch-а





Титла: Layer7 patch help
Публикувано от: HighWay в Oct 26, 2007, 12:00
Да, пачнах за CLASSIFY и бе успешно
просто това ме накара да разгледам как по точно става пачването, за да открия че в един от фаиловете има грешен път към layer7.h
до сега винаги пачвах механично и никога не знаех какво точно прави това :)
Изглежда че има някаква разлика в пачовете за iptables и kernel.
Както и да е проблемът се реши и имам работещ layer7 но както се оказа - не мога да шейпна BitTorrent протокола нито с layer7 нито с ipp2p.Нито да бъде спрян.
Предполагам че протокола вече е криптиран защото преди се маркираше само с ipp2p

Благодаря за оказаната помощ и съветите :)

HighWay





Титла: Layer7 patch help
Публикувано от: Gaara в Oct 26, 2007, 12:03
Инсталирал ли си протоколите на Л7?
Дал ли си правило и точен път до плъгините?

Edit:
Цитат

--l7dir <directory>  : Look for patterns here instead of /etc/l7-protocols/
                       (--l7dir must be specified before --l7proto if used!;)
--l7proto [!] <name> : Match the protocol defined in /etc/l7-protocols/







Титла: Layer7 patch help
Публикувано от: HighWay в Oct 26, 2007, 12:34
да, протоколите са инсталирани
тествано е на edonkey - работи

BR

HighWay


Титла: Layer7 patch help
Публикувано от: VladSun в Oct 26, 2007, 15:01
Браво за дебъга :)

Ако торент трафика е криптиран, май няма много какво да се направи ...


Титла: Layer7 patch help
Публикувано от: HighWay в Oct 26, 2007, 15:40
Благодаря :)

постигнах някакъв частичен успех с :

iptables -I FORWARD -m string --string "BitTorrent" --algo bm --to 65535 -j DROP

24271 2621K DROP       0    --  any    any     anywhere             anywhere            STRING match "BitTorrent" ALGO name bm TO 65535


но за шейпване на BitTorrent протокола едва ли ще свърши работа.

поздрави

HighWay


Титла: Layer7 patch help
Публикувано от: VladSun в Oct 26, 2007, 15:43
Можеш да ползваш connmark - така ще можеш да следиш всички пакети към тази връзка.


Титла: Layer7 patch help
Публикувано от: Gaara в Oct 26, 2007, 15:51
Пробвай нещо от сорта на:
Примерен код

iptables -t mangle -A PREROUTING -d 192.168.0.0/24 -m layer7 --l7dir /etc/l7-protocols/file_types/ --l7proto bittorrent -j MARK --set-mark 6

tc class add dev eth0 parent 1:1 classid 1:6 htb rate 15kbps ceil 25kbps
tc filter add dev eth0 parent 1:0 protocol ip prio 1 handle 6 fw classid 1:6
tc qdisc add dev eth0 parent 1:6 handle 6: pfifo limit 10


Титла: Layer7 patch help
Публикувано от: HighWay в Oct 27, 2007, 13:39
Благодаря Gaara

аз се заех да почета малко за connmark преди да продължа
ще опитам с това което ми даде :)

ако не греша :
tc class add dev eth0 ... тази dev трябва да е откъм страната на клиентите т.е вътрешната мрежа ?


BR

HighWay





Титла: Layer7 patch help
Публикувано от: Gaara в Oct 27, 2007, 14:34
Цитат (HighWay @ Окт. 26 2007,16:40)
Благодаря :)

постигнах някакъв частичен успех с :

iptables -I FORWARD -m string --string "BitTorrent" --algo bm --to 65535 -j DROP

24271 2621K DROP       0    --  any    any     anywhere             anywhere            STRING match "BitTorrent" ALGO name bm TO 65535


но за шейпване на BitTorrent протокола едва ли ще свърши работа.

поздрави

HighWay

Еми според мен по-правилно е
Примерен код

iptables -t filter -A FORWARD -m layer7 --l7proto edonkey -j DROP

за да спреш торент трафика.