1 / 34

Linux-työ: WWW-Proxy

Linux-työ: WWW-Proxy. Teemu Niemelä. Mikä on proxy?. Proxyksi kutsutaan palvelinta, joka tekee jotakin käyttäjän oman selaimen hyväksi tai puolesta. Kansankielellä välityspalvelin. Proxyn toimintaperiaate. Sijaitsee asiakaskoneen ja palvelimen välissä.

lotta
Download Presentation

Linux-työ: WWW-Proxy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linux-työ: WWW-Proxy Teemu Niemelä

  2. Mikä on proxy? • Proxyksi kutsutaan palvelinta, joka tekee jotakin käyttäjän oman selaimen hyväksi tai puolesta. • Kansankielellä välityspalvelin.

  3. Proxyn toimintaperiaate • Sijaitsee asiakaskoneen ja palvelimen välissä. • Toimii asiakkaalle päin palvelimena ja palvelimelle päin asiakkaana. • Vastaanottaa asiakkaan pyynnöt ja välittää ne tarvittaessa alkuperäisille palvelimille.

  4. Proxyn toimintaperiaate

  5. Proxyn etuja • Vähentää kaistavaatimuksia. • Vähentää palvelimen kuormitusta. • Pienentää asiakkaan kokemaa latenssia.

  6. Proxyn haittoja • Läpinäkyvässä toteutuksessa, proxyn kaatuminen aiheuttaa ulkoliikenteen katkeamisen. • Välimuistista palautetut vanhat sivut.

  7. Proxyn eri muodot • Normaali • Läpinäkyvä • Käänteinen

  8. Normaali proxy • Selain konfiguroitava erikseen käyttämään proxyä. • Ei käytännöllinen paljon koneita sisältävissä verkoissa.

  9. Läpinäkyvä proxy • Toteutus läpinäkyvä, eli selainta ei tarvitse erikseen konfiguroida. • Tiettyihin portteihin kohdistuva liikenne ohjataan aina proxylle, joka palauttaa sivun välimuististaan tai jatkaa pyynnön eteenpäin alkuperäiselle palvelimelle. • Käytännöllinen verkoissa, joissa on paljon koneita.

  10. Käänteinen proxy • Vähentää palvelimen kuormaa. • Sijaitsee fyysisesti internetin ja palvelimen välissä.

  11. Proxy ohjelmistot • Squid (http://www.squid-cache.org) • Rabbit (http://rabbit-proxy.sourceforge.net/) • Microsoft Internet Security and Acceleration Server (http://www.microsoft.com/isaserver/)

  12. Squid • Vapaa lähdekoodi. • Suunniteltu toimimaan kaikilla yleisillä Unix-alustoilla, kuten Linux, BSD/OS, FreeBSD, NETBSD, OpenBSD, Solaris, HP-UX, OSF/DUNIX/TRU-64, Mac OS/X, IRIX ja AIX. • Käännöksiä myös Windows-ympäristöön.

  13. Squid - asennus • Squid asennettiin koneeseen dmz1 (192.168.1.1):

  14. Squid - asennus • Asennus valmiista paketeista tai lähdekoodeista. • Valmiista paketeista: apt-get install squid

  15. Squid - asennus • Lähdekoodista: ftp://www.squid-cache.org/pub/squid-2/STABLE/ tar –xvzf squid-*.tar.gz ./configure make make install • Oletus asennushakemisto: /usr/local/squid

  16. Squid - käyttäjä • Lisätään Squidia varten käyttäjäryhmä ja käyttäjä: groupadd squid useradd -g squid -d /var/cache/squid squid • Annetaan oikeudet muokata loki- sekä välimuistihakemiston tiedostoja: chown -R squid.squid /usr/local/squid/var/*

  17. Squid - konfigurointi • Konfiguraatio tiedosto: % /usr/local/squid/etc/squid.conf • Määritetään välimuistihakemisto: cache_dir ufs /usr/local/squid/cache 120 16 256

  18. Squid - konfigurointi • Määritetään HTTP-portit: http_port 3128 http_port 8080

  19. Squid - konfigurointi • Määritetään, että squid - prosessia ajetaan squid-käyttäjällä: cache_effective_user squid cache_effective_group squid

  20. Squid – yhteyksien määrittely • Sallitut yhteydet määritellään ACL-säännöillä. (ACL = Access Control List) • Luodaan kaksi ryhmää: acl lahiverkot src 192.168.1.0/24 acl lahiverkot_dmz src 192.168.10.0/24

  21. Squid – yhteyksien määrittely • Annetaan oikeudet ottaa yhteys proxyyn: http_access allow lahiverkot http_access allow lahiverkot_dmz • Kielletään kaikki muu liikenne: http_access deny all

  22. Squid – lokitiedoston sijainti • Squid käyttää kolmea päälokitiedostoa cache.log, access.log ja store.log. • Cache.log-tiedoston paikka määritellään direktiivillä cache_log, jolle annetaan parametrinä lokitiedoston polku: cache_log /usr/local/squid/var/logs/cache.log

  23. Squid – lokitiedoston sijainti • Vastaavasti access.log ja store.log sijannit määritellään seuraavasti: cache_access_log /usr/local/squid/var/logs/access.log cache_store_log /usr/local/squid/var/logs/store.log

  24. Squid – konfiguraatiotiedoston syntaksin tarkistus • Squid.conf tiedoston syntaksi tarkistetaan komennolla: % /usr/local/squid/sbin/squid -k parse

  25. Squid - käynnistäminen • Ennen käynnistämistä, luodaan swap-kansiot: % /usr/local/squid/sbin/squid -z • Normaali käynnistäminen: % /usr/local/squid/sbin/squid • Käynnistäminen debug-tilassa: % /usr/local/squid/sbin/squid -N -d1

  26. Squid - sammuttaminen • Squid sammutetaan: % /usr/local/squid/sbin/squid -k shutdown

  27. Selaimen konfigurointi • Lynx: /etc/lynx.cfg-tiedostoon: http_proxy:http://192.168.1.1:8080 • Mozilla Firefox: edit > preferences > general> connection settings

  28. Squid – lokitiedoston tulokset • Access.log-tiedostoon tallentuvat HTTP-transaktioiden tiedot: 1168158931.117 34 192.168.1.4 TCP_MISS/301 589 GET http://www.hut.fi/ - DIRECT/130.233.240.9 text/html 1168158933.135 2 192.168.1.4 TCP_HIT/200 3756 GET http://www.tkk.fi/ - NONE/- text/html

  29. Squid - välimuisti • Squid.conf tiedostoon on mahdollista konfiguroida sääntöjä, jotka määräävät koska vastaus pyyntöön palautetaan välimuistista ja koska palvelimelta. Tämä tapahtuu refresh_pattern-direktiivillä: refresh_pattern [-i] regexpminpercentmax [options]

  30. Squid - välimuisti • Esimerkiksi: refresh_pattern -i \.html$ 0 50% 1440

  31. Squid – LM - kerroin • Jos min ja max aikarajat toteutuvat, tehdään lopullinen päätös LM – kertoimella. (last-modified factor)

  32. Squid – välimuistin korvauspolitiikka • Squid käyttää oletuksena objektien poistamisessa välimuistista LRU-korvauspolitiikkaa. (Least Recently Used) • LRU poistaa objektit, jotka ovat olleet välimuistissa käyttämättöminä pisimmän aikaa.

  33. Squid – muita korvauspolitiikoita • First In, First Out (FIFO) • Least Frequently Used (LFU) • Size • GreedyDual-Size (GDS)

  34. Squid – toteutus läpinäkyvänä • 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

More Related