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