Pokazywanie postów oznaczonych etykietą serwer proxy. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą serwer proxy. Pokaż wszystkie posty

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