Squid transparent proxy

From ICO wiki
Jump to navigationJump to search

Autor

Mikk Mähar AK32

Versioon

Versioon 0.01 muudetud 18.12.2009

Sissejuhatus

Mis asi on proxy

Proxy serveri näol on tegu kliendi ja võrgus paiknevate resursside vahelise puhvirga. Proxy servereid kasutatakse mitmetel erinevatel eesmärkidel:

  • Võrguühenduste parendamiseks
  • Veebiserverite koormuste leevendamiseks
  • Inimeste anonüümsuse kaitsmiseks veebis
  • Sisevõrgu kasutajatele võrgust kättesaadavate andmete piiramiseks

Mis asi see Squid squid on ja mida sellega teha saab

Squidi puhul on tegu täielikult HTTP/1.0 (peaaegu ka HTTP/1.1)ühilduva proxy serveriga, mis toetab HTTP, HTTPS, FTP ja muude asjade cachemist. Seda on võimalik kasutada nii internetiühenduste kasutuse optimeerimiseks kui ja veebiserverite koormuse vähendamiseks.

Mida on plaanis teha

Antud artikli eesmärgiks on paigaldada Squid ühele ubuntu serverile ning seadistada see interneti ühendusele läbipaistvaks proxy-ks.

Eeldused/nõuded

  • Server mille peale Squid paigaldatakse on võrgus kasutusel ruuterina.(Kui on tegu võrgus eraldi seisva masinaga on vaja proxyda soovitavate teenuste võrguliiklus suunata WCCP/GRE abiga sinna. See ei kuulu siin artiklis kaetava osa hulka )
  • Mõni up to date linuxi distro
  • Võimalikult suure operatiivmälu hulgaga server.

Paigaldamine

Seadistamine

iptables seadistamine

iptables'is on vaja kõik http (port 80) päringud suunata ümber squidi pordile, mis on vaikimisi 3128. Seda saab teha sisestades järgmised käsud:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Squidi seadistamine

Squidi seadistamiseks tuleb muuta squidi konfiguratsiooni failis (/etc/squid/squid.conf) järgneivaid asju:

httpd_accel_host virtual   //määrab, et squid töötab http kiirendina
httpd_accel_port 80        //pordi number, mille liiklust proxytakse
httpd_accel_with_proxy on  //lülitab squidi tööle, kui kohaliku httpd kiirendi ja proxyna
httpd_accel_uses_host_header on
acl lan src 192.168.1.1 192.168.2.0/24  //juurdepääsu piirangud, mis lubavad vaid lokaalses võrgus paiknevatel arvutitel squidi kasutada
http_access allow localhost //
http_access allow lan    //