AdmSasha Posted November 10, 2012 · Report post Дело не в 64bit. У меня 32bit sendto() at /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/Net/RawIP.pm line 630. (in cleanup) Not a HASH reference at /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/Net/RawIP.pm line 691 during global destruction. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
disappointed Posted November 10, 2012 · Report post AdmSasha Какой дистрибутив? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AdmSasha Posted November 10, 2012 · Report post AdmSasha Какой дистрибутив? Mandriva Linux release 2010.0 (Official) for i586 kernel: 2.6.31.5-server-1mnb perl: v5.10.1 rpm: perl-Net-Pcap-0.160.0-1mdv2010.0 perl-Net-RawIP-0.250.0-1mdv2010.0 perl-NetPacket-0.41.1-2mdv2010.0 libpcap1-1.0.0-7mdv2010.0 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
darnet Posted November 10, 2012 · Report post 0 вместо "xyz" у меня работает, только ответы от сайтов прилетают быстрее чем успевает скрипт выплюнуть фейковый ответ. (скрипт опаздывает где-то на 100мс) - т.е. если сайт быстрее ответит - получается облом (тестил со своим удалённым сервером, если при генерации страницы сделать задержку - всё в порядке) =) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
disappointed Posted November 10, 2012 · Report post darnet а чего он 100мс делает? ) наверно стоит попробовать порулить этим числом my $pcap_t = Net::RawIP->pcapinit($dev, $filter_str, 1500, 250); Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Wingman Posted November 11, 2012 · Report post А rst серверу не получилось пока отсылать? Я наверно тупой вопрос задам, но всё же задам =) Чтобы не пропустить отматченый пакет к серверу (чтобы избежать проблемы с быстрым ответом сервера) - выход только писать модуль к нетфильтру, и все пакеты прогонять через подобный скрипт, для пропуска ожидая "разрешения", что вызовет бешеные накладные расходы? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted November 11, 2012 · Report post На попробовать - есть диверт сокеты. http://www.netlab.linkpc.net/forum/index.php?topic=175.0 Я отправлял копии пакетов юзерспейсной проге, но можно и сами пакеты. В линуксах диверты вроде тоже есть. Если будет получатся и то что я описал в своих постах выше удастся решить или забить то тогда имеет смысл отлаженный код пихать в модуль. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Wingman Posted November 11, 2012 (edited) · Report post или ip_queue заюзать, как вариант Основные проблемы: 1. Нужно собирать фрагментированные пакеты; 2. Держать список для данных соединений; 3. Нужно регэкспать; 4. Держать большой список для регэкспа с ип адресами и регэкспами; 5. Всё это делать в ядре. И ещё, если оно ставится "с боку" и видит траф только в одну сторону, то с редиректами могут быть проблемы. 1,2 - да, проблемки 3,4 - Зачем? В реестре урлы чёткие прописаны =) Кроме того, часть записей там домены, можно тупо по хосту рубить 5 - так ли это необходимо? Про редиректы - какие проблемы, например? Edited November 11, 2012 by Wingman Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
darnet Posted November 11, 2012 · Report post darnet а чего он 100мс делает? ) наверно стоит попробовать порулить этим числом my $pcap_t = Net::RawIP->pcapinit($dev, $filter_str, 1500, 250); я пробовал с предыдущей версией, где было: $packet->send(); #(видимо по умолчанию какая-то задержка есть) в потом посмотрел последнюю - где уже: $packet->send(0,1); и с ней вроде не нужно задержек - скрипт успевает опередить ответ. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted November 12, 2012 · Report post 3,4 - Зачем? В реестре урлы чёткие прописаны =) Кроме того, часть записей там домены, можно тупо по хосту рубить 4 нужно для того чтобы быстрее проверять. Выцепляем из л3 заголовка дст ип, быстренько по нему находим заблокирован он или нет, или какие урл поискать в данных. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Hawk128 Posted November 12, 2012 · Report post А может ли кто-нибудь выложить более менее готовый вариант взаимодействия с их архивом? (Получение списка). Может даже с обработкой и какими-либо действиями шлюзе? Очень желательно под фрю. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AlKov Posted November 12, 2012 · Report post AdmSasha Какой дистрибутив? Mandriva Linux release 2010.0 (Official) for i586 kernel: 2.6.31.5-server-1mnb perl: v5.10.1 rpm: perl-Net-Pcap-0.160.0-1mdv2010.0 perl-Net-RawIP-0.250.0-1mdv2010.0 perl-NetPacket-0.41.1-2mdv2010.0 libpcap1-1.0.0-7mdv2010.0 А iptables есть? NAT? Может где-то тут проблема живёт? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
darnet Posted November 12, 2012 (edited) · Report post А может ли кто-нибудь выложить более менее готовый вариант взаимодействия с их архивом? (Получение списка). Может даже с обработкой и какими-либо действиями шлюзе? Очень желательно под фрю. с электронной подписью они неприятно осложнили жизнь. фактически для подписи надо использовать Crypto pro - для виндоуз и линукс он есть, под фрю кажется нету. кажется в этой ветке или соседних писали, что они пока не придираются к дате формирования запроса. Т.е. можно один раз сформировать запрос руками и потом постоянно его скармливать с подписью. Edited November 12, 2012 by darnet Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Wingman Posted November 12, 2012 · Report post http://forum.nag.ru/forum/index.php?showforum=1 тут в верхних темах уже несколько готовых решений лежит Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AlKov Posted November 13, 2012 · Report post А вариант iptables + squid + redirect кто-нибудь реализовать пробовал? Например, в iptables заворачиваем в сквид все IP из списка, а в сквиде разбираем url и в случае совпадения редиректим на страничку с "ай-ай!". С iptables всё понятно, а вот со сквидом что-то торможу.. :( Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Wingman Posted November 13, 2012 · Report post Я так сейчас делаю, пока dpi на тест не приехало или другого решения не придумалось Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AlKov Posted November 13, 2012 · Report post Я так сейчас делаю, пока dpi на тест не приехало или другого решения не придумалось А конфигом сквида не поделитесь? В плане, как редиректить на страницу с уведомлением. Я что-то совсем в нём заблудился.. Всё позабыл, после пятилетнего НЕ_юзания кальмара.. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Wingman Posted November 13, 2012 · Report post В сквиде url_rewrite_program /usr/bin/squidGuard -c /etc/squidGuard/squidGuard.conf /etc/squidGuard/squidGuard.conf dbhome /etc/squidGuard/db logdir /var/log/squidGuard/ dest fed { domainlist fed/domains urllist fed/urls expressionlist fed/exp } acl { default { pass !fed all redirect 302:http://zapret.provider.name } } Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
bass_v Posted November 13, 2012 · Report post Всем привет! Подскажите вопрос. может кто нибудь сталкивался. На rhel 6.3 висит сквид и сквидгард. Сквид работает, внутренние acl отрабатывают. Сквидгард в процессах висит. root 3407 0.0 0.0 72964 2928 ? Ss 16:05 0:00 squid -f /etc/squid/squid.conf squid 3409 0.0 0.2 77020 11624 ? S 16:05 0:00 (squid) -f /etc/squid/squid.conf squid 3411 0.0 0.0 10252 1552 ? S 16:05 0:00 (squidGuard) -c /etc/squid/squidguard.conf squid 3412 0.0 0.0 10248 1528 ? S 16:05 0:00 (squidGuard) -c /etc/squid/squidguard.conf squid 3413 0.0 0.0 10248 1528 ? S 16:05 0:00 (squidGuard) -c /etc/squid/squidguard.conf squid 3414 0.0 0.0 10248 1544 ? S 16:05 0:00 (squidGuard) -c /etc/squid/squidguard.conf squid 3415 0.0 0.0 10248 1544 ? S 16:05 0:00 (squidGuard) -c /etc/squid/squidguard.conf squid 3416 0.0 0.0 20076 1104 ? S 16:05 0:00 (unlinkd) Даю команду echo "http://www.porn.com 10.0.0.1/ - - GET" | squidGuard -d -c /etc/squid/squidguard.conf Выводит вроде верно есть редирект на нужный сайт 2012-11-13 16:36:07 [3512] New setting: dbhome: /var/lib/squidGuard/db 2012-11-13 16:36:07 [3512] New setting: logdir: /var/log/squidGuard 2012-11-13 16:36:07 [3512] init domainlist /var/lib/squidGuard/db/porn/domains 2012-11-13 16:36:07 [3512] loading dbfile /var/lib/squidGuard/db/porn/domains.db 2012-11-13 16:36:07 [3512] init urllist /var/lib/squidGuard/db/porn/urls 2012-11-13 16:36:07 [3512] loading dbfile /var/lib/squidGuard/db/porn/urls.db 2012-11-13 16:36:07 [3512] init domainlist /var/lib/squidGuard/db/socialnet/domains 2012-11-13 16:36:07 [3512] loading dbfile /var/lib/squidGuard/db/socialnet/domains.db 2012-11-13 16:36:07 [3512] init urllist /var/lib/squidGuard/db/socialnet/urls 2012-11-13 16:36:07 [3512] loading dbfile /var/lib/squidGuard/db/socialnet/urls.db 2012-11-13 16:36:07 [3512] squidGuard 1.3 started (1352810167.011) 2012-11-13 16:36:07 [3512] squidGuard ready for requests (1352810167.013) 2012-11-13 16:36:07 [3512] source not found 2012-11-13 16:36:07 [3512] no ACL matching source, using default http://fnkc.ru 10.0.0.1/- - - 2012-11-13 16:36:07 [3512] squidGuard stopped (1352810167.013) А на машине где сквид стоит шлюзом нет редиректа((. Не могу понять в чем дело Может в этом? sudo -u squid squidguard -c /etc/squid/squidguard.conf -d -C all Вывод 2012-11-13 18:09:38 [3769] New setting: dbhome: /var/lib/squidGuard/db 2012-11-13 18:09:38 [3769] New setting: logdir: /var/log/squidGuard 2012-11-13 18:09:38 [3769] init domainlist /var/lib/squidGuard/db/porn/domains 2012-11-13 18:09:38 [3769] Error db_open: Permission denied 2012-11-13 18:09:38 [3769] going into emergency mode Хотя какие только права не выставлял все без толку .Точно так все делал на ALT Linux 6 спт все норм работает(( Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Wingman Posted November 13, 2012 · Report post А конфиги гварда покажите урлы должны быть в нём записаны без http:// Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
bass_v Posted November 13, 2012 (edited) · Report post Конфиг минимальный база урлов в формате Berkeley dbhome /var/lib/squidGuard/db logdir /var/log/squidGuard dest porn { domainlist porn/domains urllist porn/urls } dest socialnet { domainlist socialnet/domains urllist socialnet/urls } acl { default { pass !porn !socialnet all redirect http://fnkc.ru } } Сама база до преобразования в *.db в таком виде 0--ass-cinema-newsp.da.ru 0--bondage.dk 0--fightingshaving.da.ru 0--foodwarez.da.ru 0--gratis.dk 0--lesbians.dk 0--oralsex.dk 0--sex.dk 0--teenagesex.dk 0-0-0-1blowjob.da.ru Edited November 13, 2012 by bass_v Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Wingman Posted November 13, 2012 · Report post А если без berkdb попробовать? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AlKov Posted November 13, 2012 · Report post В сквиде url_rewrite_program /usr/bin/squidGuard -c /etc/squidGuard/squidGuard.conf /etc/squidGuard/squidGuard.conf dbhome /etc/squidGuard/db logdir /var/log/squidGuard/ dest fed { domainlist fed/domains urllist fed/urls expressionlist fed/exp } acl { default { pass !fed all redirect 302:http://zapret.provider.name } } А такие url .../369-%D1%81%D0%BA%D0%BE%D1%80%D0%BE%D1%81%D1%82%D1%8C-%D0%B2... нормально обрабатывает? У меня не кушает... И такие тоже пропускает - .../175947/read#t12 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Wingman Posted November 13, 2012 · Report post 1. Кушает, если прописать кириллицей в утф 2. уберите #t12 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
bass_v Posted November 13, 2012 (edited) · Report post Без баз списком тоже не проходит. А по поводу длинных урлов вроде патч под сквидгард существует. И какие все таки права должны быть на базы Edited November 13, 2012 by bass_v Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...