Squid-cache
от ILuxWiki
Съдържание |
Обща информация
Какво е squid-cache?
squid-cache е прокси сървър с изключително много възможности. И най важното, че е OpenSource.
Официална страница:
Компилиране и инсталация
Конфигуриране
Настройка за достъп с парола
#proxy auth #acl foo proxy_auth REQUIRED auth_param basic program /usr/libexec/squid/ncsa_auth /etc/squid/ passwd acl guests proxy_auth user1 user2 acl target dst www.xxx.com http_access allow guests target http_access deny target
Администриране
Инструменти за мониторинг и администрация
Calamaris
Calamaris - една наистина добра и доста подробна прогрма за мониторинг. Calamaris
Скрипт за разглеждане на access.log
име: parse.squid
#!/usr/bin/perl
# replace with proper date
$regex_time = "Aug 20";
while (<>) {
$in = $_;
$in =~ /(^\d+)(.*)/;
$time = scalar localtime($1);
if( $time =~ /$regex_time/ ) {
print "$time ", join ' ' ,(split /\s+/, $in)[2,4,6], "\n";
}
}
Начин на употреба:
tail -2000 /var/log/squid/access.log | ./parse.squid > dump.txt
--Sysop 18:13, 26 май 2005 (EEST)
Разбира се и cachemgr.cgi има си го в самия squid само трябва да се настрои.
И една писaна на perl покриваща моите нужди за наблюдение в реално време името и е d3 [ не питайте защо :) ]:
#!/usr/bin/perl
$acclog = "path/to/accesslog"
open ( FI , "tail -fs0 $acclog |" ) ;
while (<FI>) {
print "\x1b\x5b\x48\x1b\x5b\x32\x4a";
($time,$tr,$ip) = (split /\s+/)[1,4,8];
$ip =~ s/.*\///;
$tr{$ip} = $tr/1024;
$speed{$ip}=($tr>>10)*1000/($time+1);
$trsum{$ip}+=$tr/1024;
$count{$ip}+=1;
for ( keys %speed) {
printf ("%20s:%7.2f %6.2f %10.2f %2s %10.0f\n",
$_,$speed{$_},$tr{$_},
($trsum{$_}>1024)?$trsum{$_}/1024:$trsum{$_},$trsum{$_}>1024?"M":"K",$count{$_});
}
print "=" x 70,"\n";
print "\n\n\n\n$_\n";
select(undef, undef, undef, 0.02);
}
Хитрости, препоръки, съвети
безпорядъка на Драго
Това съм го пробвал и при мен лично работи. Приемам всякакви критики коментари и съвети. Също така не мисля, че е кой знае колко подробна, а и имам известни затруднения с обесненията :)
Като за начало ще ни трябва някои по пресен squid от squid-cache След което си го разархивираме и влизаме в директорията където е разархивиран. Трябва да знаем какъв ни е процесора :) ако все пак нямаме представа можем да разберем като напишем `grep "model name" /proc/cpuinfo` (тва е за линукс по големите ще кажат, какво праим с BSD-to) :) И сега почваме с магиите :) аз лично си отварям файла ./configure и търся ред-а :
if test "$GCC" = yes; then
под него е :
CFLAGS="-g -O2"
поправяме го на :
CFLAGS="-g -O3 -Wall -mcpu=$cpuname -finline-functions -frename-registers\
-funroll-loops -fomit-frame-pointer -pipe"
Съхраняваме и затваряме файла.
- Можем да изпълним и командата ulimit -HSn 8192 това е за max file descriptors поняко има едни лоши клиенти или вирусчета който правят по вечко връзки през проксито и запълват всички FD
След което изпълняваме и :
./configure --enable-gnuregex --enable-carp --with-pthreads --enable-delay-pools \
--enable-kill-parent-hack --enable-linux-netfilter --enable-truncate \
--enable-storeio=ufs,null
компилираме си
make && make install
правим си конфигурационен файл и стартираме със
squid -sY
при мен резултата е увеличаване на бързодействието в ПЪТИ.

