Lighsquid не запускается
-
Понадобилось делать отчеты по работе пользователей в сети, установил lightsquid через менеджер пакетов, настроил вроде как, а толку ноль, sqstat открывается, а lightsquid - нет.
Используя просто :7445 получаюНе удается получить доступ к сайту Превышено время ожидания ответа от сайта 192.168.77.77. Выполните поиск по запросу 192 168 7445 в Google ERR_CONNECTION_TIMED_OUT
А при попытке открыть через /lightsquid получил 403 ошибку.
cd /usr/local/www/lightsquid/ && ./check-setup.pl отвечает:
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = (unset), LANG = "ru.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). LightSquid Config Checker, (c) 2005-9 Sergey Erokhin GNU GPL LogPath : /var/squid/logs reportpath: /var/lightsquid/report Lang : /usr/local/share/lightsquid/lang/eng Template : /usr/local/www/lightsquid/tpl/base Ip2Name : /usr/local/libexec/lightsquid/ip2name.demo all check passed, now try access to cgi part in browser
Index.cgi получил
#!/usr/local/bin/perl # # LightSquid Project (c) 2004-2005 Sergey Erokhin aka ESL # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # detail see in gnugpl.txt print "Content-Type: text/html\n\n"; use File::Basename; push (@INC,(fileparse($0))[1]); require "/usr/local/etc/lightsquid/lightsquid.cfg"; require "common.pl"; use CGI; use CGI::Carp qw (fatalsToBrowser); $co=new CGI; ($tmp,$tmp,$tmp,$tmp,$mon,$tmpyear) = localtime; $year =$co->param('year' ) || ($tmpyear+1900); $month=$co->param('month') || sprintf("%02d",$mon+1); InitTPL("index",$co->param('tpl')); if ($month ne "all") { $workperiod=" $MonthName[$month] $year"; } else { $workperiod=" $year "; $month=""; } #----------------------------------- find defined month & years @days=sort glob("$reportpath/*"); foreach $day (@days) { if ($day =~ m/(\d\d\d\d)(\d\d)(\d\d)/) { $yearhash {$1}=1; } if ($day =~ m/$year(\d\d)(\d\d)/) { $monthhash{$1}=1; } } ## YEAR row ______________________________________________ @yearlist=sort keys %yearhash; $yearcnt=$#yearlist+1; if ($yearcnt == 0) { ErrPrintConfig("report folder '$reportpath' not contain any valid data! Please run lightparser.pl (and check 'report' folder content)"); print "<hr>folder content:<br>"; foreach $file (@days) { print "$file<br>"; } exit; } $yearspan=12/$yearcnt; foreach $yearname (sort keys %yearhash) { $yearselected=($yearname eq $year)?qq{$hTPLVARIABLE{yearselected}}:""; $yearurl_L= qq(index.cgi?year=$yearname&month=all); $yearurl_B= qq($yearname); $yearoptionselected = ($yearname eq $year)?" selected":""; $yearoption = qq(<option$yearoptionselected>$yearname</option>); $tmp=$hTPL{year}; $tmp=~s/##YEARCOLSPAN##/$yearspan/; $tmp=~s/##YEARSELECTED##/$yearselected/; $tmp=~s/##YEARURL_L##/$yearurl_L/; $tmp=~s/##YEARURL_B##/$yearurl_B/; $tmp=~s/##YEAROPTION##/$yearoption/; $tpl{year} .= $tmp; } ## MONTH row ____________________________________________ $monthtmp="01"; for ($i=1;$i<=12;$i++) { $monthselected=($monthtmp eq $month)?qq{$hTPLVARIABLE{monthselected}}:""; $monthurl_L=(defined $monthhash{$monthtmp} )?"index.cgi?year=$year\&month=$monthtmp":""; $monthurl_B="$monthtmp"; $monthtmp++; $tmp=$hTPL{month}; $tmp=~s/##MONTHSELECTED##/$monthselected/; $tmp=~s/##MONTHURL_L##/$monthurl_L/; $tmp=~s/##MONTHURL_B##/$monthurl_B/; $tpl{month} .= $tmp; } ## -- @days=sort glob("$reportpath/$year$month*"); @days=reverse @days; foreach $daypath (@days) { open FF,"<$daypath/.total" || MyDie("can't open file $daypath/.total<br>"); $user=<FF>;chomp $user;$user=~s/^user: //; $size=<FF>;chomp $size;$size=~s/^size: //; close FF; $overuser=GetFeatures($daypath,"overuser","?"); $cachehit=GetFeatures($daypath,"cachehit%","?"); $cachehittotal+=$cachehit; $daypath =~ m#$reportpath/(.*)#; $date=$1; $weekday=GetWeekDayDate($date); $average=($user != 0)?int($size/$user):0; $totalsize+=$size; $totalaverage+=$average; $totaluser+=$user; $totaloveruser+=$overuser; $printaverage=FineDec($average); $printsize =FineDec($size); $printdate =GetTxtDate($date); $date =~ m/^(\d\d\d\d)(\d\d)(\d\d)/; $urldate="year=$1&month=$2&day=$3"; $daydate_L ="day_detail.cgi?$urldate"; $daydate_B ="$printdate"; $daygroup_L="group_detail.cgi?$urldate";$daygroup_B="##MSG_GRP##"; $overuser_L=(($overuser eq "?") || ($overuser == 0))?"":"$daydate_L&oversize=1"; $overuser_B="$overuser"; $dayattr = ($weekday & 1 )?$hTPLVARIABLE{oddattr}:$hTPLVARIABLE{evenattr}; $dayattr = $hTPLVARIABLE{sundayattr} if ($weekday == 0); $dayattr = $hTPLVARIABLE{saturdayattr} if (($weekendmode eq "both") && ($weekday == 6));; $tmp=$hTPL{day}; $tmp=~s/##DAYDATE_L##/$daydate_L/; $tmp=~s/##DAYDATE_B##/$daydate_B/; $tmp=~s/##DAYGROUP_L##/$daygroup_L/; $tmp=~s/##DAYGROUP_B##/$daygroup_B/; $tmp=~s/##DAYUSERS##/$user/; $tmp=~s/##DAYOVERUSERS_L##/$overuser_L/; $tmp=~s/##DAYOVERUSERS_B##/$overuser_B/; $tmp=~s/##DAYBYTES##/$printsize/; $tmp=~s/##DAYAVERAGE##/$printaverage/; $tmp=~s/##DAYCACHEHIT##/$cachehit/; $tmp=~s/##DAYATTR##/$dayattr/; $tpl{day} .= $tmp; } $days=($#days+1); if ($days==0) {$days=0.00000001;} #;-), dirty hack $printtotalsize = FineDec($totalsize); $printtotalaverage = FineDec(int($totalaverage/$days)); $printaveragehit = sprintf ("%3.2f",$cachehittotal/$days); $printaverageuser = int($totaluser/$days); $printaverageoveruser = int($totaloveruser/$days); $month="all" if ($month eq ""); $printtotalsize_L = "month_detail.cgi?year=$year&month=$month"; $printtotalsize_B = "$printtotalsize"; ReplaceTPL(WORKPERIOD,$workperiod); ReplaceTPL(TOTAL_L,$printtotalsize_L); ReplaceTPL(TOTAL_B,$printtotalsize_B); ReplaceTPL(TOTALAVERAGE,$printtotalaverage); ReplaceTPL(AVERAGEHIT,$printaveragehit); ReplaceTPL(USERAVERAGE,$printaverageuser); ReplaceTPL(OVERUSERAVERAGE,$printaverageoveruser); ReplaceTPL_URL( TOP_MONTH,"topsites.cgi?year=$year&month=$month&mode=month", "##MSG_MONTH##"); ReplaceTPL_URL( TOP_YEAR ,"topsites.cgi?year=$year&month=$month&mode=year" , "##MSG_YEAR##"); ReplaceTPL_URL(TOTAL_MONTH,"month_detail.cgi?year=$year&month=$month", "##MSG_MONTH##"); ReplaceTPL_URL(TOTAL_YEAR ,"month_detail.cgi?year=$year&month=all", "##MSG_YEAR##"); ReplaceTPL_URL(GROUP_MONTH,"group_detail.cgi?year=$year&month=$month&mode=month","##MSG_MONTH##"); ReplaceTPL_URL(GROUP_YEAR ,"group_detail.cgi?year=$year&mode=year", "##MSG_YEAR##"); ReplaceTPL_URL(MONTH_GRAPH,"graph.cgi?year=$year&month=$month&mode=month", ""); ApplyTPL(); HideTPL("monthtop") if ($month eq "all"); HideTPL("oversize") if ($showoversizelink == 0); HideTPL("group") if ($showgrouplink == 0); HideTPL("graph") if ($graphreport == 0); PrintTPL(); __END__ 2004-09-01 FIX : show only month for current year ... 2004-12-18 ADD : if MODE == MONTH -> totalsize - link month_detail.cgi 2005-01-02 ADD : default - current year 2005-04-14 ADD : check empty report folder! 2005-04-17 ADD : Template Engine 2005-04-19 ADD : error check, add .oversize & .cachehit field support 2005-04-21 ADD : Template Engine, HIDE function 2005-04-22 ADD : move cahchehit -> .features 2005-05-01 ADD : TopSites & Total report box 2005-08-29 ADD : color flipper & sunday color, 2005-09-06 ADD : colorselected now defined in TPL file 2005-09-15 ADD : if month="all" then not show MONTH table at top, (also changed TPL file) 2005-10-01 ADD : now all URL in TPL (_L,_B), TPL also changed ;-) 2006-06-28 ADD : die -> MyDie 2006-06-28 ADD : &tpl= support 2006-09-13 ADD : error to browser
Из этого я понял, что нихрена не понял, как это вообще работает и куда смотреть?
-
@flamel said in Lighsquid не запускается:
cd /usr/local/www/lightsquid/ && ./check-setup.pl
На команду
cd /usr/local/www/lightsquid/ && ./lightparser.pl
получаем
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = (unset), LANG = "ru.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
Логи пишутся, все есть, в reportpath lightsquid формирует отчеты, а открываться не хочет, 403 и всё.
Нужна помощь, уже все перепробовал, прописывалln -s /lib/libutil.so.9 /lib/libutil.so.8 ln -s /usr/pbi/lightsquid-amd64/local/libexec/lightsquid /usr/local/etc/lightsquid
Толку ноль. Пытался открыть с оперы страницу, с IE, с хрома - все одна беда.
-
Если есть другие способы формирования статистики, отчетов и тд, в том числе по пользователям\dns\ip совместимые с пфсенс - буду открыт к предложениям, а то lightsquid очень древняя хрень, может уже и не работает корректно
-
@flamel said in Lighsquid не запускается:
cd /usr/local/www/lightsquid/ && ./lightparser.pl
Новая информация, просто огонь какая, в общем была обнаружена ОЧЕНЬ странная бага:
Комп смотрит в интернет через pfsense - на 192.168.80.80:7445 получаем "Не удается открыть страницу"
Комп смотрит в интернет через kerio - на 192.168.80.80:7445 получаем "Не удается открыть страницу"
Комп смотрит в интернет напрямую - на 192.168.80.80:7445 получаем "Не удается открыть страницу"
Комп смотрит в интернет через старый еле дышащий squid без фильтрации как таковой - всё открывается. ЧЯДНТ??? КАК ЭТО РАБОТАЕТ?
Сказать что я в шоке ничего не сказать. -
@flamel said in Lighsquid не запускается:
Превышено время ожидания ответа от сайта 192.168.77.77.
и
Комп смотрит в интернет через pfsense - на 192.168.80.80:7445 получаем "Не удается открыть страницу"
Вы уж определитесь, где он у вас живет.
Разр. правило на Lan addr для TCP\7445 имеется?
Телнет на 192.168.80.80:7445 проходит? -
@werter разрешение имеется, про телнет не скажу, в понедельник проверю, но самый прикол что через старый сквид мне все таки удалось открыть все, а через pfsense, kerio и айпишник с прямым доступом в сеть - нет, есть подозрение что где то между подсетями проблемы, мне кажется что при прописанном ПФсенс в настройках прокси нас для доступа к 192.168.80.80:7445 отправляют напрямую с нашей подсети, например 10ой, а при попытке зайти с сквида они действуют в рамках одной подсети, в то время как керио и просто айпишник с выходом в интернет тоже будут в других подсетях
-
Комп смотрит в интернет через pfsense - на 192.168.80.80:7445 получаем "Не удается открыть страницу"
Комп смотрит в интернет через kerio - на 192.168.80.80:7445 получаем "Не удается открыть страницу"
Комп смотрит в интернет напрямую - на 192.168.80.80:7445 получаем "Не удается открыть страницу"
Комп смотрит в интернет через старый еле дышащий squid без фильтрации как таковой - всё открывается.И керио, и сквид и еще какая-то неведомая чухня (
Схему сети с адресацией в студию.
ЧЯДНТ??? КАК ЭТО РАБОТАЕТ?
Уберите всё. Оставьте ТОЛЬКО пф. Вы и себе и другим моСк любите с такой сетевой "организацией".
-
@werter а ПФ точно выдержит 300+ одновременных подключений пользователей?)
Собственно в этом направлении и работаем, сквид скоро отключаем старый, потом постепенный переход на ПФ, так как керио тоже не без проблем, которые правда решились бы будь финансирование)
Схему сети выложить не могу так как сам ее до конца не понимаю, у нас много удаленных объектов в разных подсетях, в основном управлении пользователи живут в одной подсети, принтеры в другой, сервера в ещё двух других, все на циске, я сам хелпдеск, просто увлекаюсь) сисадмина пока не дают, дали бы уже давно много чего перелопатил бы.
Получилось так что я в 10 подсети,
Пфсенс и старый сквид в 80, керио в 90. -
а ПФ точно выдержит 300+ одновременных подключений пользователей?
Чудес не бывает. Берите железо соответствующее и больше выдержит. При грамотной настройке.
Схему сети выложить не могу так как сам ее до конца не понимаю,
Это самое важное. Разберитесь, нарисуйте и "пляшите".
-
@werter сквид умирал из за бага с фильтрацией хттпс, 200 пользователей ровно = смерть, причуды старых версий сквида.
В ПФсенс сквид более свежей версии, хоть и далеко не самой новой, но до конца не понятно каким образом фильтрует хттпс -
В ПФсенс сквид более свежей версии, хоть и далеко не самой новой, но до конца не понятно каким образом фильтрует хттпс
В смысле KAK? Это ж MiTM - сквид "вмешивается" в передаваемый трафик между клиентом и веб-сервером.
https://wiki.squid-cache.org/Features/SslBump . Сейчас так - https://wiki.squid-cache.org/Features/SslPeekAndSplice