Squid
Squid on yleisesti käytetty välityspalvelin (proxy) linuxille. Se on helppo asentaa ja konfiguroida. Tämä on Squid 2.7 versio, uudempi versio: squid3
Sisällysluettelo
Asennus
Asennetaa Squid pakettihallinnasta
aptitude install squid
Squid3 asennus
aptitude install squid3
Konfigurointi
Squidin konfigurointi hakemisto sijaitsee:
Squid 2.7 ja vanhemmissa
/etc/squid
Squid3 ja uudemmat
/etc/squid3
Merkitsemme Squidin konfigurointihakemistot "[squid]". Tämä tarkoittaa squid / squid3 hakemistoa.
Varmuuskopioi siirtämällä nykyinen oletuskonfiguraatio tiedosto
mv /etc/[squid]/squid.conf /etc/[squid]/squid.conf.backup
Luo uusi tiedosto ja tallenna squid.conf
nano /etc/[squid]/squid.conf
Määritä ensiksi mitä porttia Squid kuuntelee. Oletusportti on 3128. Me käytämme porttia 8080.
http_port 8080
Määritä kuinka paljon muistia squid saa käyttää.
cache_mem 16 MB
Määritä välimuisti hakemisto jonne squid tallentaa tiedostoa välimuistiin
cache_dir ufs /var/spool/[squid]250 16 256
Määritä lokihakemistot
cache_log /var/log/[squid]/cache.log cache_access_log /var/log/[squid]/access.log cache_store_log /var/log/[squid]/store.log cache_swap_log /var/log/[squid]/swap.log
Määritä kuinka monta riviä lokiin kirjoitetaan ennen kuin se tyhjennetään
logfile_rotate 10
Määritä verkot
acl manager proto cache_object acl localnet src 192.168.1.0/24 acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
Määritä portit
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
Salli liikennöinti
http_access allow localnet http_access allow localhost http_access deny !Safe_ports http_access deny CONNECT http_access deny all
Sulje ja lataa konfiguraatiot
service [squid] reload
Lisäasetuksia
Piilota isäntänimi
visible_hostname [hostname]
Muuta selaimen useragent
request_header_access User-Agent deny all request_header_replace User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Piilota käyttäjän IP-osoite
forwarded_for off
Todennus ncsa_auth avulla
Todennetaan perustodennuksella. Suositeltavaa jos palvelin tulee julkiseen verkkoon.
Avaa /etc/[squid]/squid.conf ja lisää seuraavat rivit
auth_param basic program /usr/lib/[squid]/ncsa_auth /etc/[squid]/.htaccess auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off
acl auth proxy_auth REQUIRED http_access allow auth
Uudemmassa versiossa tiedosto 3.4.8 laita ensimmäinen rivi seuraavasti:
auth_param basic program /usr/lib/[squid]/basic_ncsa_auth /etc/[squid]/.htaccess
Luo käyttäjätunnus htpasswd -c /etc/squid/.htaccessuser1
Ja anna salasana
New password: Re-type new password: Adding password for user user1
Muut käyttäjätunnukset ilman -c parametriä.
Salli vain squidin tiedoston lukemisen:
chmod o+r /etc/[squid]/.htaccess
Tallenna ja käynnistä squid uudelleen.
Läpinäkyvä välityspalvelin
Uudelleenohjaa portin 80 kyselyt porttiin 8080, eli squidiin.
iptables -t nat -i eth2 -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
Jos squid ja reititin ovat eri palvelimella, tulee ohjaus tehdä dsnat:illa.
iptables -t nat -i eth2 -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.0.2.2:8080
Editoi /etc/[squid]/squid.conf tiedostoa lisäämällä http_port perään transparent.
http_port 8080 transparent
IPv6 (squid3)
Squid käyttää vain IPv4 vaikka palvelimella IPv6
Määritä mitä osoitetta Squid kuuntee
http_port 0.0.0.0:8080
Ja määritä mitä osoitetta käytetään kun otetaan yhteys palvelimeen
tcp_outgoing_address 10.10.10.11