Ero sivun ”Squid” versioiden välillä
(13 välissä olevaa versiota samalta käyttäjältä ei näytetä) | |||
Rivi 2: | Rivi 2: | ||
<translate> | <translate> | ||
<!--T:1--> | <!--T:1--> | ||
− | Squid on yleisesti käytetty | + | 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 | Tämä on Squid 2.7 versio, uudempi versio: squid3 | ||
Rivi 12: | Rivi 12: | ||
<!--T:4--> | <!--T:4--> | ||
[[aptitude]] install squid | [[aptitude]] install squid | ||
+ | |||
+ | Squid3 asennus | ||
+ | |||
+ | aptitude install squid3 | ||
== Konfigurointi == <!--T:5--> | == Konfigurointi == <!--T:5--> | ||
− | < | + | 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 | ||
+ | |||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | <pre> | ||
+ | acl auth proxy_auth REQUIRED | ||
+ | http_access allow auth | ||
+ | </pre> | ||
+ | |||
+ | 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 | ||
+ | |||
+ | <pre> | ||
+ | New password: | ||
+ | Re-type new password: | ||
+ | Adding password for user user1 | ||
+ | </pre> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | <pre> | ||
+ | auth_param basic program /usr/lib/[squid]/squid_ldap_auth -R -b "dc=example dc=org" -D [email protected] -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 | ||
+ | </pre> | ||
+ | |||
+ | === 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 == <!--T:9--> | == Lisätietoa == <!--T:9--> |
Nykyinen versio 14. kesäkuuta 2015 kello 20.35
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.
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 [email protected] -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