Титла: проблем с iptables connlimit Публикувано от: h7d8 в Apr 07, 2009, 18:54 Рутирам от интерфейс eth0 - (dhcp - Inet ) към eth1 (static - local network) по следния начин.
Код: iptables -P FORWARD DROP До тук всичко е наред,има интернет и всеки ип адрес е заключен по мак адрес.Реших ,че няма да е зле да огранича сесиите за всеки Х юзър индивидуално(входящи и изходящи).Проверих веднага дали имам нужда от пач пом ,но при команда: Код: iptables -m connlimit --help се оказа ,че не плюе грешки и уж би трябвало да проработи ограничението.Пробвах с Код: echo 1 > /proc/sys/net/ipv4/ipt_connlimit Код: iptables -A FORWARD -p tcp -s 192.168.X.X -m connlimit --connlimit-above 1 -j DROP Приема командите ,но резултат поне не виждам.Доста неща изчетох и вече съм сад. ;D Debian Linux 2.6.26-1-686 не би трябвало да изисква пач за айпитейбълс ,но все пак имам нужда от помощ и питам (сигурно и греша). :) Титла: Re: проблем с iptables connlimit Публикувано от: VladSun в Apr 08, 2009, 10:39 Ако добавяш тези правила след като си пуснал скрипта за защитната ти стена, то не виждам как пакетите ще достигнат до тях при, условие че имаш вече ACCEPT ;)
Не знам каква е стойността по подразбиране на --connlimit-mask параметъра, но за да ограничава за отделно ИП ти трябва: Код
ПП: С тия ACCEPT правила май не си "заключил" по МАК адрес. Ако беше дал и ИП-тата без да ги криеш (все пак са частни ;) ) щях да съм по-точен. Титла: Re: проблем с iptables connlimit Публикувано от: h7d8 в Apr 09, 2009, 05:20 Код Така...по този начин рутира добре и нямам проблеми.Относно маковете ,ако премахна правилото дори и да съм задал ацепт интернет няма.По-добри варианти приемам и не бих се засегнал ,ако съм сложил за рутиране грешни правила.Пробвах лимит-а ,но при пускане на 3-исо файла във флашгет-а ,той си тегли нормално. Как проверявам ,какво се случва? Без никакви правила за лимитиране и без да пускам нещо за теглене резултатът за сесиите е следният: -> C:\>netstat -ano | find /i "established" /c 10 C:\> -> Това е на произволен ип адрес! Добавям и пробвам с различни правила с лимит 50 и резултатът при теглене е: -> C:\>netstat -ano | find /i "established" /c 352 C:\> Според мен вариантите за този резултат са няколко.Като цяло има разминаване в правилата и това води до фалш ,модулът има бъг и не реализира лимитиране или пак съм "късметлия" . ??? Май естеството на проблема изисква да си платя ,някой да ми помогне. ;D damn it! Вече е 5ч. и продължавам да човъркам.Интересно ,че по едно време ми изплю грешка и то я видях ,защото ми затвори конзолата и пуснах монитор-а директно към сървър-а.Даже се оказа ,че има проблем с едната мрежова карта и не се оправи докато не го рестартирах.Проблем ,който до сега не съм имал.Поне през последните 58 дни ъптайм. -> iptables v1.4.2: couldn't load match `connlimit-above` :/lib/xtables/libipt_connlimit-above.so: cannot open shared object file: No such file or directory -> [root@cyber:~]# ls -l /lib/xtables/libipt_connlimit-above.so ls: cannot access /lib/xtables/libipt_connlimit-above.so: No such file or directory [root@cyber:~]# -> Няма никой...щом го търси това означава ,че му трябва ,но защо не дава винаги тази грешка...Има и нещо друго ,което виждам.Добавя правило за лимит ,но то не работи... -> Chain PREROUTING (policy ACCEPT) target prot opt source destination DROP tcp -- 192.168.2.0/24 192.168.2.100 #conn/0 > 1 DNAT tcp -- anywhere anywhere tcp dpts:1024:1026 to:192.168.2.100 Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- anywhere 192.168.2.0/24 MASQUERADE all -- 192.168.2.0/24 anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination -> Не е много на място ,но пък го отразява.Скоро го сложих този дебиан 5 ,но май трябва компилация.Вече нямам конкретен план как да действам и затова ,моля помагайте! За мен това не е проблем от главно значение ,но когато има дори и дребна нужда от нещо то е хубаво да работи. :) [_]3 ПС: Извинявам се ,ако на места съм писал грешно или небивалици.Яко ми се доспа ,надявам се днес по-късно пак да коментираме. Титла: Re: проблем с iptables connlimit Публикувано от: h7d8 в Apr 27, 2009, 02:45 Оп :) май ще изровя тази тема от архива.Не съм подкаръл още въпросния конлимит ,но пък открих какво ми липсва.Дали е пропуснатo да се вметне в ядрото незнам ,но очевидно липсва.Ето и какво липсва при мен:
Код: iptables v1.4.2: Couldn't load match `conlimit':/lib/xtables/libipt_conlimit.so: cannot open shared object file: Липсата на тази библиотека до определена степен обяснява по-горните симптоми. :) Търсих я ,за да я добавя на липсващото място ,обаче я няма никъде.Въпросите на ,който търся решение са: дали има вариант да си я набавя или трябва компилация на ядрото?Дали изобщо ще го има в по-новите ядра или изисква пач-о-матик?Доста теми прегледах ,но във всяка една се разясняваше такъв проблем само за стари ядра.Моето е 2.6.26-2-686 и явно толкова му е интегрирано и изисква допълнително пипане. ??? Интересно е също ,че тази грешка я плюе само ,когато въпросното правило за лимит на сесиите е на 1-во място в листа за изпълнение.До тук стигнах ,ако някой може и има желание да помага.Ще разчитам на вашата помощ ,защото се из*****их! ;D ::) :D [_]3 пс: То май не е само една липсваща библиотека.Бях забравил за по-предния пост.Все пак решението би трябвало да е цялостно. |