Instalacja Squid
Instalacje Squid’a rozpoczynamy od pobrania i rozpakowania źródeł. Następnie kompilujemy i instalujemy
./configure –enable-storeio=”diskd,ufs,null” –enable-linux-netfilter –enable-underscores –enable-removal-policies=”heap,lru” –enable-http-violations –with-openssl –with-dl –with-pthreads –enable-large-files –enable-err-language=Polish –enable-default-err-language=Polish –enable-delay-pools –enable-pool –with-pthreads –enable-truncate –disable-ident-lookups –disable-internal-dns–disable-carp –disable-icmp –disable-wccp –disable-htcp –disable-snmp –enable-kill-parent-hack –enable-time-hack –enable-gnuregex –enable-forw-via-db –enable-follow-x-forwarded-for
make
make install
{loadposition Adsense}
I to wszystko jeżeli chodzi o instalacje
Zabieramy się za konfiguracje naszego Squida. Plik konfiguracyjny znajdują się w katalogu /usr/local/squid/etc/squid.conf i nim sie zajmniemy na początek
Ustawienie portu na jakim nasłuchuje nasz Squid i ustawienie transparentności
http_port 8080 transparent
Położenie pamięci cache oraz jej rozmiar
cache_dir ufs /var/cache 1000 16 256
cache_mem 256 MB
maximum_object_size 32768 KB
Ustawienia Logów dla Squida, przy dużej liczbie klientów strasznie logi puchną, ja mam logi ustawione na /dev/null ale można ustawić sobie logowanie do pliku, jest to pomocne jeżeli są problemy ze Squidem
cache_acces_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
cache_store_log /usr/local/squid/var/logs/store.log
Odświerzanie zawartości cache Squida
refresh_pattern -i (.*jpg$|.*gif$) 0 50% 28800
refresh_pattern -i (.*html$|.*htm|.*shtml) 0 20% 1440
refresh_pattern (http://.*/$) 0 20% 1440
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
Ustawienie nazwy hosta
visible_hostname moja_domena.pl
Ustawienie uprawnień do kożystania ze Squida
client_netmask 255.255.255.0
acl all src 0.0.0.0/0.0.0.0
acl internet src 192.168.0.0/255.255.255.0
Regółki ACL związane do przepuszczania innego ruchu na innych portach
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 21 443 563 70 210 1025-65535
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
Dostęp na podstawie list ACL
http_access allow manager localhost
http_access allow localhost
http_access allow internet
tcp_outgoing_address zewnętrzne_ip_serwera internet
udp_outgoing_address zewnętrzne_ip_serwera internet
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
icp_access allow all
miss_access allow all
Ustawienie dostępu do cache managera
cache_mgr uzytkownik
cachemgr_passwd haslo shutdown config
Ustawienie użytkownika i grupy dla Squid’a, uwzględnić tu trzeba Dansguardiana i ewentualnie Exim’a
cache_effective_user nobody
cache_effective_group nogroup
Ostawienie katalogu z komunikatami błędów
error_directory /usr/local/squid/share/errors/Polish
To by było na tyle z głównym plikiem konfiguracyjnym naszego Squida. Pozostaje nam założyć katalog na cache i formatowanie katalogu
mkdir /var/cache
chown nobody:nogroup /var/cache
/usr/local/squid/sbin/squid -z
W ten sposób mamy przygotowanego Squida do pracy, pozostał jeszcze plik konfiguracyjny o którym nie wspomniałem, a mianowiecie:
cachemgr.conf – ustawienia dostępu dla menagera cache Squida, ustawia się tutaj adres IP z którego będziemy zarządzać Squidem
Aby uruchomić Squida w /etc/rc.d/rc.local dopisujemy linijkę
/usr/local/squid/sbin/squid -D -YC
Uruchomiliśmy Squida. Aby faktycznie użytkonicy sieci mogli kożystać z dobrodziejstw proxy trzeba jeszcze przekierować port 80 na port Squida, w naszym przypadku to 8090. Zrobimy to poprzez dopisanie regółki IPTABLES do naszego firewalla
/usr/sbin/iptables -t nat -A PREROUTING -i eth1 -s ip_komputera_w_sieci -d ! 192.168.0.1 -p tcp –dport 80 -j REDIRECT –to-port 8080