Титла: Printk: n messages suppressed Публикувано от: PAIN1 в Mar 19, 2007, 19:05 Заменете Н с някое 3 или 4 цифрено число и ще получите какъв ерор получавам.
Ситуацията е следната, за пръв път ми се случва. В един момент забелязвам че компютъра е доста натоварен(почти напълно) и плюе тези грешки една след друга, а в същото време се генерират около 2.5мб вход и 2.5мб изход към eth0 (което е локалната мрежа). Предположих аз , някой ме флооди .... ама не мога да разбера кой, жалко. Разрових се в интернет, нямаше много полезни резултати. Пише, че когато компютъра работи като сървар продължително време натрупва много кеш или някаква информация, не разбрах точно и алтернативата е да се вдигне лимита в /proc/sys/net/ipv4/neigh/default/gc_thresh1 /proc/sys/net/ipv4/neigh/default/gc_thresh2 /proc/sys/net/ipv4/neigh/default/gc_thresh3, Наистина ли е това или някой наистина ми прави проблеми. В смисъл къде да търся проблема ? Слак 10.2 Кернел 2.6.16 Мерси. Титла: Printk: n messages suppressed Публикувано от: VladSun в Mar 19, 2007, 21:47 Аз имам спец. скрипт за настройване на нет параметрите:
Събирал съм ги от много места, та... не ме карай да ти обяснявам ред по ред ![]() Титла: Printk: n messages suppressed Публикувано от: PAIN1 в Mar 19, 2007, 22:44 Там е работата, че като дропнах всички пакети през този интерфейс този трафик спря. Някой ме флооди, но не мога да разбера как и къде в смисъл порт ...... Как предизвиква такъв ерор и къде да търся кой е ?
Титла: Printk: n messages suppressed Публикувано от: Hapkoc в Mar 19, 2007, 23:12 Нищо не ти пречи да пуснеш логване на пакетите от iptables:
-A INPUT ... -j LOG "Some prefix: " Само внимателно, че покрай атаката може да ти свърши мястото на диска. :) Титла: Printk: n messages suppressed Публикувано от: KPETEH в Mar 20, 2007, 11:40 Я вкарай тези редове в скрипта на стената :
Може пък неволно някой да те флуди от локалната мрежа особено ако машините са уиндоуси някой може да е пълен с вируси,троянци и прочее. ![]() Титла: Printk: n messages suppressed Публикувано от: gat3way в Mar 20, 2007, 12:50 Значи проблемът е ясен - препълва ти се ARP таблицата. Очевидно или се намираш в голям етернет сегмент, или се намираш в етернет сегмент, където много (?) често интерфейсите взимат различен IP адрес, или някой идиот съвсем нарочно го прави - безкрайно лесно е да си напишеш един скрипт, който вдига интерфейса с различен phys/network адрес и ходиш да arping-ваш с новият си адрес "жертвата" докато му напълниш ARP кеша.
Принципно някъде беше написано - в kernelspace не се реализират големи ARP таблици, така или иначе non-pageable паметта е ценна. Има вариант с user-space ARP демон, който никога не съм пробвал и не знам доколко е решение.Ако някой го е правил може да каже повече. Бързо подобрение на ситуацията - първо намали стойността на gc_interval, което е максималното време между две "зачиствания" на стари ARP записи в таблицата. Второ, вдигането на gc_thresh1 не е вариант, когато проблемът се дължи на нечия малоумна шега. Накратко, gc_thresh2 е броят арп записа, при който задължително минава garbage collection механизъма за изхвърляне на "стари" стойности. Когато броят записи падне под gc_thresh1, тогава процесът на "изхвърляне" се прекратява. В момента в който това става, машината малко или много се товари да го прави постоянно. Ако проблемът наистина се дължи на атака, това може до голяма степен да се разбере по това, което ти е в АРП таблицата - ако не можеш да си комуникираш с повечето хостове вътре в нея, значи е съмнителна работата. Ако това се дължи на атака, нещата не се решават много ефективно с ръчкане на procfs entries. Единият вариянт е да си създадеш статични (permament) АРП ентрита за хостовете, с които искаш да си комуникираш - така никога няма да имаш проблем, поне с комуникацията с тях. Другият вариант: разиграваш се с iptables mac match-a или с arptables и набиваш ръчно правила с кои двоики ИП-МАК адреси да си комуникираш и с кои-не. В последният случай въобще няма да ти дреме за такива атаки, но пък е и неудобен, защото ако ти трябва да си говориш с повече хостове или пък им се назначават динамично адреси от някакъв pool, нещата загрозняват. Препълването на АРП таблицата е лошо нещо, води до невъзможност в частни случаи да комуникираш с хостове от твоят етернет сегмент. Garbage collection-a на "стари" ентрита от таблицата пък както си забелязал, тормози машината. Титла: Printk: n messages suppressed Публикувано от: PAIN1 в Mar 20, 2007, 13:21 Мерси за подробните обяснения.
Тоест ако е така, то програмата която използва сменя мак адресите и пинква постоянно ? Там е работата, че опитах да логвам дропнатите пакети(предварително си аксептвам няколко тръстед аипита , защото наистина съм в голяма мрежа), но syslog-a ми стои празен
И все пак, ако е атака, искам да видя от къде идва? Титла: Printk: n messages suppressed Публикувано от: VladSun в Mar 20, 2007, 14:16 Пусни си един tcpdump в момента на атаката :
като замениш ethX с вътрешната ти карта (преполагам, че от там идва атаката) Титла: Printk: n messages suppressed Публикувано от: Gaara в Mar 27, 2007, 16:49
VladSun, може ли малко пояснение по тези редове. Ако правилно съм разбрал това е някакъв вид tunning: /proc/sys/net/core/rmem_max - максимално получен tcp window /proc/sys/net/core/wmem_max - максимално изпратен tcp window като им задаваш стойност, която зависи от интернет връзката и пропускателна способност (16mbit). Прочетох малко, нищо почти не разбрах, но се казва, че не е хубаво и да се пипат tcp_rmem (запазена памет за tcp буфера за получаване) и tcp_wmem (за изпращане), а ти задаваш точно определени стойности (4kbit 64kbit 16mbit). Също така видях, че трябва да се зададе и 0 на tcp_timestamps. Може ли малко пояснение, че ми грабна интереса? Титла: Printk: n messages suppressed Публикувано от: VladSun в Mar 28, 2007, 23:55 Дадох съдържанието на скрипт писан преди 3 години ... честно казано не помня кой знае какво за него - имам спомени, че съм го писал по документи намерени от google за "tcp tune linux", но не съм 100% сигурен. Съжалявам, че не мога да помогна
![]() |