squid

Serwer proxy służy przede wszystkim do buforowania stron, dzięki czemu wczytywanie jest szybsze.
1. Ściągamy najnowszą (ale stabilną) paczkę z net'u

ftp://ftp2.piotrkosoft.net/pub/mirrors/squid-cache.org/pub/squid-2.6.STABLE24.tar.gz

2. Dekompresja tar zxvf nazwa_paczki.tar.gz
3. Z linii poleceń wywołać:

groupadd squid
useradd -g squid -d /var/spool/squid -s /bin/false squid

mkdir /squid  #tylko jeśli nie jest podmontowane jako partycja przez /etc/fstab
chmod 770 /squid
chown squid.squid /squid
mkdir /var/log/squid
chmod 770 /var/log/squid
chown squid.squid /var/log/squid

./configure --mandir=/usr/man --enable-dlmalloc --enable-gnuregex --enable-icmp --enable-delay-pools --enable-useragent-log --enable-referer-log --enable-ssl --enable-default-err-language="Polish" --enable-err-languages="Polish English" --enable-linux-netfilter --disable-ident-lookups --enable-auth="digest basic"

Opis ciekawszych opcji:
--enable-dlmalloc -- kompilacja z alternatywną biblioteką do dynamicznej alokacji pamięci
--enable-gnuregex -- biblioteka pozwalająca tworzyć acl oparte na wyrażeniach regularnych
--enable-icmp -- włączenie obsługi protokołu icmp
--enable-delay-pools -- ograniczanie transferów squidem, osobiście nie używam
--enable-useragent-log -- logowanie rodzaju przeglądarek jakie korzystają z proxy
--enable-ssl -- akceleracja https
--enable-linux-netfilter -- umożliwia ustawienie transparentnego proxy
--disable-ident-lookups -- squid nie będzie wykonywał zapytań ident , które często kończą się zbędnym oczekiwaniem na timeout


make

make install

4. Edycja pliku /usr/local/squid/etc/squid.conf i poniższy wpis:


#Access Control List - lista (definicje) podsieci z dostŕpem do serwera proxy
acl manager proto cache_object  
# cache manager - pomocniczy program do sporz▒dzania statystyk zapotrzebowania na pami੠ze strony bie┐▒cych
# procesˇw serwera Squid, CM komunikuje siŕ z serwerem proxy za pomoc▒ protoko│u cache_object
acl localhost src 127.0.0.1/32  
# wymagane dla cache manager'a
acl all src 0.0.0.0/0.0.0.0
##########################################################################################################################
#wpis dot. CM obowiazuje jesli serwer internetowy (192.168.1.5) jest na innej maszynie niz squid
#acl manager proto
#cache_object
#acl localhost src 127.0.0.1/255.255.255.255
#acl webserver src 192.168.0.5/255.255.255.255
#http_access allow
#manager localhost
#http_access allow
#manager webserver
#http_access deny all
##########################################################################################################################
#squid -k reconfigure


acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

acl intranet src 192.168.1.0/24
#lista mojej sieci wchodzacej do proxy
acl to_local_networks dst 192.168.0.0/24
acl magda src 192.168.1.152
#komputer Magdy
acl poludnie time MTWHF 12:00-15:00
#okreslenie poludnia jako dotep do internetu od pn-pt w godz. 12-15


acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT


http_access allow intranet  
#zezwolenie na dostep z sieci lokalnej

http_access allow magda poludnie  
#Magda ma tylko dostŕp w okreÂlonych godzinach
http_access deny all      
#inni nie mog▒ - profilaktycznie dla bezpiecze˝stwa

http_access allow manager localhost
http_access deny manager
#wymuszenie by serwer proxy i serwer internetowy (apache) byly na jednej maszynie

no_cache deny to_local_networks
#wy│▒czenie buforowania stron lokalnych


http_access deny CONNECT !SSL_ports
http_access deny CONNECT !SSL_ports


http_access allow localnet
http_access deny all
icp_access allow localnet
icp_access deny all
http_access allow localhost
http_access deny all
http_port 3128 transparent
hierarchy_stoplist cgi-bin ?

#maksymalna ilosc pamieci roboczej jaka squid przeznacza na bufor stron
cache_mem 128 MB

#katalog przechowywania 20 GB, 16 katalogow I poziomu i 256 II poziomu
#ufs bez zmian, 20000 do 80% dostepnej przestrzeni dyskowej
cache_dir ufs /squid 20000 16 256

#Przegladarka zostanie przeladowana kilka sekund po nawi▒zaniu
#po│aczenia z Internetem
negative_ttl 5 seconds
negative_dns_ttl 5 minutes


#uwaga! koniecznie utwórz i nadaj uprawnienia chmod 770, chown squid.squid na poniższe katalogi
#dla logów
maximum_object_size 51200 KB
access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
#coredump_dir /usr/squid/var/cache

refresh_pattern -i \.(gif|jpg|jpeg|png|html|bmp)   0   50%    7200   reload-into-ims
refresh_pattern -i \.(zip|gz|bz2|exe|rar|mp3|mpg|avi|wmv|vqf|ogg)   43200   100%    43200   reload-into-ims
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll)     43200    100%    43200   reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll) 43200   100%    43200   reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll) 43200 100% 43200 reload-into-ims
refresh_pattern symantecliveupdate.com/.*\.(zip|exe)    43200    100%    43200   reload-into-ims
refresh_pattern windowsupdate.com/.*\.(cab|exe)         43200   100%    43200   reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe)    43200   100%    43200   reload-into-ims
refresh_pattern avast.com/.*\.(vpu|vpaa)    43200   100%    43200   reload-into-ims
refresh_pattern .               0       20%     4320

#proces squid'a uruchamiany z squid/squid
cache_effective_user squid
cache_effective_group squid

#mail do administrator'a proxy jak rowniez user/passwd do cgi
visible_hostname mariop.alias.pl
cache_mgr squid
cachemgr_passwd squid shutdown offline_toggle config reconfigure


icp_port 3130
error_directory /usr/local/squid/share/errors/Polish
prefer_direct off
check_hostnames on
=========================================================


#chown -R /squid squid.squid
#cd /bin
#ln -s /usr/local/squid/sbin/squid squid
#squid -z
#squid

Powinny się utworzyć 2 procesy squid. Jeśli nie, tzn że gdzieś nie ma uprawnień dostępu do katalogów.


6. Dokonać wpisu do /etc/rc.d/rc.local
/usr/local/squid/sbin/squid

7. dokonać wpisu przekierowującego ruch www przez serwer proxy
iptables -t nat -A PREROUTING -s 192.168.1.10/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128

8. sprawdzić działanie serwera proxy w zapisach liku /var/log/squid/access.log

9. celem minimalizacji rozrastania się logów w /usr/squid/var/logs można zapisać w crontab root'a
crontab -e root
30:21 *** /usr/squid/sbin sqiud -k rotate

Brak komentarzy:

Prześlij komentarz