A proxy működése
A proxy cache-ek működésük során a szerver memóriájában, illetve merevlemezén tárolják a leggyakrabban látogatott oldalak tartalát, illetve annak egy részét. Egy proxy telepítésével tehát becsaphatjuk a felhasználókat: ahelyett, hogy a grafikákat, statikus tartalmakat újból le kellene szednünk a világhálóról, szerverünk "becsempészi" a tárolt tartalmat a felhasználó felé menő adatfolyamba.
Kedvenc proxy alkalmazásunk a Squid névre hallgat, telepítése és konfigurálása egyszerű, gyors, és bámulatosan dokumentált konfigurációs file-jában még a kezdők is bátorításra találnak. Támogatja a http, ftp protokollokat, és megbirkózik az SSL-el is. Ezen túlmenően alkalmas sávszélesség-korlátozásra, rendelkezik DNS-cache funkcióval, sőt, felhasználó-azonosítással a használatát is korlátozni tudjuk.
Mire is lesz szükségünk? Először is egy gépre, amely lehet akár a már meglévő "mindenes" szerverünk is, de ahol lehet, használjunk önálló gépet, lehetőleg sok memóriával, gyors merevlemezzel - a Squid meghálálja. Szinte mindegyik disztribúció része a Squid, de aki biztosra akar menni, letöltheti FTP-szerverünkről is.
Alapbeállítások
A telepítés után az /etc könyvtárban találjuk meg a squid.conf file-t, melynek legfontosabb beállításait az alábbiakban taglaljuk:
# NETWORK OPTIONS
http_port 3128
Itt állíthatjuk be, hogy a Squid melyik porton figyelje a kéréseket. A 3128-as port az alapértelmezett.
# LOGFILE PATHNAMES AND CACHE DIRECTORIES
cache_log /var/log/squid/cache.log
cache_dir /var/spool/squid 100 16 256
Itt a cache directory, illetve a logfile helyét adhatjuk meg. A első szám a fenntartott hely méretét adja meg MB-ban, a következő paraméterek arra utalnak, hogy 16 elsőszintű, és 256 másodszintű alkönyvtár készül.
dns_nameservers 212.108.200.75
A fenti sor magáért beszél.
cache_mem 8MB
Itt a felhasználható memória mennyiségét adhatjuk meg. Ha szűkös a gépünk memóriája, vegyük ezt az értéket kisebbre.
cache_peer proxy.bp.sulinet.hu parent 8080 7 no-query
Amennyiben valamelyik sulinetes proxyhoz szeretnénk kapcsolódni, úgy a fenti sor használata javasolt.
connect_timeout 120 seconds
peer_connect_timeout 30 seconds
Ha lassú vonallal rendelkezünk, megnövelhetjük a fenti értékeket, így a Squid tovább várakozik egy-egy oldal lekérésekor.
Az ACL-ek
Itt megadtunk egy időintervallumot "worktime" néven, az egyes betűk a hét napjait jelentik. Ezzel időben tudjuk a hozzáférést korlátozni.
acl sex dstdomain www.porno.hu
Itt létrehoztunk egy szabályt "sex" néven, amely a nem látogatható oldal(ak) címét tartalmazza. Lehetőség van arra is, hogy több száz címet egy textfile-ba gyűjtsünk, ekkor így kell erre hivatkoznunk:
acl sex dstdomain "/ahol/a/file/van.txt"
És végül jöjjön a szabályozás:
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
http_access deny sex
http_access allow iskola
http_access deny tanari
Mint látható, az iskola minden gépe képes használni a squid-et, a "tanari" gépek kivételével, és a "www.porno.hu" cím mindenhonnan elérhetetlen. Ha csak munkaidőben szeretnénk korlátozni, írjuk az alábbiakat:
http_access deny worktime tanari
Ha mindennel készen vagyunk, parancssorból adjuk ki a squid -z parancsot, ez elkészíti a cache könyvtárakat, majd indíthatjuk a proxyt.
A fentiekben természetesen a Squid lehetőségeinek kis részét mutattuk be, de egy későbbi cikkünkben részletesen foglalkozunk majd egyéb konfigurációs lehetőségekkel is.