Mainos / Advertisement:

Squid

Kohteesta Taisto
Loikkaa: valikkoon, hakuun
Tämä sivu sisältää muutoksia, joita ei ole merkitty käännettäväksi.

Muut kielet:
English • ‎suomi

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

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.


Todennus squid_ldap_auth avulla

Esimerkkinä Active Directory todennus. Luo Active Directory käyttäjä ldap ja salasanaksi Qwerty1.

auth_param basic program /usr/lib/[squid]/squid_ldap_auth -R -b "dc=example dc=org" -D ldap@example.org -w Qwerty1-f (&(sAMAccountName=%s)) -h 192.168.84.5
auth_param basic children 10
auth_param basic realm Squid Auth
auth_param basic credentialsttl 1 minute

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

Lisätietoa

http://ict-academy.fi/index.php?title=Squid_proxy

Mainos / Advertisement: