A Ovlašteni inženjer Linux Foundationje vješt profesionalac koji ima znanje za instaliranje, upravljanje i rješavanje problema s mrežnim uslugama u Linuxu sustava, te je zadužen za projektiranje, implementaciju i tekuće održavanje arhitekture cijelog sustava.
Predstavljamo program certificiranja Linux Foundation.
U 1. dio ove serije pokazali smo kako instalirati squid, proxy poslužitelj za predmemoriranje za web klijente. Molimo pogledajte taj post (donja veza) prije nego nastavite ako još niste instalirali lignje na svoj sustav.
U ovom ćemo vam članku pokazati kako konfigurirati proxy poslužitelj Squid kako bi se odobrio ili ograničio pristup internetu te kako konfigurirati http klijent ili web preglednik za korištenje tog proxy poslužitelja.
Operacijski sustav: Debian Wheezy 7.5. IP adresa: 192.168.0.15. Naziv hosta: dev2.gabrielcanepa.com.ar.
Operativni sustav: Ubuntu 12.04. IP adresa: 192.168.0.104 Naziv hosta: ubuntuOS.gabrielcanepa.com.ar.
Operacijski sustav: CentOS-7.0-1406. IP adresa: 192.168.0.17 Naziv hosta: dev1.gabrielcanepa.com.ar.
Sjetimo se da je, jednostavno rečeno, web proxy poslužitelj posrednik između jednog (ili više) klijentskih računala i određenog mrežnog resursa, a najčešći je pristup Internetu. Drugim riječima, proxy poslužitelj spojen je s jedne strane izravno na Internet (ili na usmjerivač koji je spojen na Internet), a s druge strane na mrežu klijentskih računala koja će putem World Wide Weba pristupiti to.
Možda se pitate, zašto bih želio dodati još jedan softver u svoju mrežnu infrastrukturu?
1. Lignja pohranjuje datoteke iz prethodnih zahtjeva kako bi ubrzala buduće prijenose. Na primjer, pretpostavimo klijent1 Preuzimanja CentOS-7.0-1406-x86_64-DVD.iso s Interneta. Kada klijent2 zatraži pristup istoj datoteci, lignje mogu prenijeti datoteku iz predmemorije umjesto da je ponovno preuzmu s interneta. Kao što možete pogoditi, ovu značajku možete koristiti za ubrzavanje prijenosa podataka u mreži računala koja zahtijevaju neka vrsta čestih ažuriranja.
2. ACL -ovi (Popisi za kontrolu pristupa) dopuštaju nam ograničenje pristupa web stranicama i / ili praćenje pristupa po korisniku. Možete ograničiti pristup na temelju dana u tjednu ili doba dana ili domene, na primjer.
3. Zaobilaženje web filtera omogućeno je korištenjem web proxyja na koji se upućuju zahtjevi i koji vraća traženi sadržaj klijentu, umjesto da klijent to zahtijeva izravno na Internetu.
Na primjer, pretpostavimo da ste prijavljeni klijent1 i želite pristupiti www.facebook.com putem usmjerivača vaše tvrtke. Budući da pravila vaše tvrtke mogu blokirati web lokaciju, umjesto toga možete se povezati s web proxy poslužiteljem i zatražiti pristup www.facebook.com. Daljinski sadržaj tada vam se ponovno vraća putem web proxy poslužitelja zaobilazeći pravila blokiranja usmjerivača vaše tvrtke.
Shema kontrole pristupa web proxy poslužitelja Squid sastoji se od dvije različite komponente:
Glavna konfiguracijska datoteka Lignje je /etc/squid/squid.conf, koji je ~5000 redaka jer sadrži i konfiguracijske direktive i dokumentaciju. Iz tog razloga ćemo stvoriti novu lignje.conf datoteku samo s retcima koji uključuju konfiguracijske direktive radi naše udobnosti, izostavljajući prazne ili komentirane retke. Da bismo to učinili, upotrijebit ćemo sljedeće naredbe.
# mv /etc/squid/squid.conf /etc/squid/squid.conf.bkp.
I onda,
# grep -Eiv '( ^# | ^$)' /etc/squid/squid.conf.bkp ILI# grep -ve ^# -ve ^$ /etc/squid/squid.conf.bkp>/etc/squid/ lignje.conf.
Sada otvorite novonastalo lignje.conf datoteku i potražite (ili dodajte) sljedeće ACL elemente i popise pristupa.
acl localhost src 127.0.0.1/32. acl localnet src 192.168.0.0/24.
Dva gornja retka predstavljaju osnovni primjer korištenja ACL elementi.
Dvije donje linije su pristupni popis pravila i predstavljaju izričitu provedbu ACL ranije spomenute direktive. U nekoliko riječi to ukazuju http pristup treba odobriti ako zahtjev dolazi iz lokalne mreže (localnet), ili iz localhost. Koje su konkretno dopuštene lokalne mreže ili adrese lokalnog hosta? Odgovor je: oni navedeni u localhost i localnet direktivama.
http_access dopusti localnet. http_access dopustiti localhost.
U ovom trenutku možete ponovno pokrenuti Lignje kako biste primijenili sve promjene na čekanju.
# service squid restart [Upstart / sysvinit-based distributions] # systemctl ponovno pokrenite squid.service [distribucije temeljene na systemd]
a zatim konfigurirajte klijentski preglednik u lokalnoj mreži (192.168.0.104 u našem slučaju) za pristup Internetu putem vašeg proxyja na sljedeći način.
1. Idite na Uredi izbornika i odaberite Postavke opcija.
2. Kliknite na Napredna, zatim na Mreža karticu i na kraju uključeno Postavke…
3. Ček Ručna konfiguracija proxyja i unesite IP adresa proxy poslužitelja i luka gdje sluša veze.
Bilješka Prema zadanim postavkama, Squid sluša na portu 3128, ali ovo ponašanje možete nadjačati uređivanjem datoteke pristupni popis pravilo koje počinje sa http_port (prema zadanim postavkama glasi http_port 3128).
4. Klik u redu primijeniti promjene i spremni ste.
Sada možete provjeriti pristupa li vaš klijent lokalne mreže Internetu putem vašeg proxyja na sljedeći način.
1. U svom klijentu otvorite a terminal i tip,
# ip adresa pokazati eth0 | grep -Ei '(inet.*eth0)'
Ta će naredba prikazati trenutnu IP adresa vašeg klijenta (192.168.0.104 na sljedećoj slici).
2. U svom klijentu koristite web preglednik za otvaranje bilo koje web stranice (www.tecmint.com u ovom slučaju).
3. Na poslužitelju pokrenite.
# tail -f /var/log/squid/access.log.
i dobit ćete uživo pregled zahtjeva koji se uručuju Lignje.
Pretpostavimo sada da želite izričito zabraniti pristup toj određenoj IP adresi klijenta, a da pritom zadržite pristup za ostatak lokalne mreže.
1. Definirajte novu ACL direktivu na sljedeći način (nazvao sam je ubuntuOS ali možete ga nazvati kako god želite).
acl ubuntuOS src 192.168.0.104.
2. Dodajte ACL direktivu za pristup lokalnoj mreži popis koji je već postavljen, ali mu je prethodno postavljen uskličnik. To znači, "Dopustite pristup internetu klijentima koji odgovaraju lokalnoj mrežnoj ACL direktivi, osim onoj koja odgovara direktivi ubuntuOS”.
http_access dopušta localnet! ubuntuOS.
3. Sada moramo ponovno pokrenuti Squid kako bismo primijenili promjene. Ako pokušamo pregledati bilo koju web stranicu, otkrit ćemo da joj je pristup sada odbijen.
Za ograničavanje pristupa Squid -u prema domeni koristit ćemo dstdomain ključna riječ u a ACL direktive, kako slijedi.
acl zabranjena dstdomain "/etc/squid/allowed_domains"
Gdje zabranjene_domene je obična tekstualna datoteka koja sadrži domene kojima želimo zabraniti pristup.
Konačno, moramo odobriti pristup Squidu za zahtjeve koji ne odgovaraju gornjoj direktivi.
http_access dopustiti localnet! zabranjeno.
Ili ćemo možda htjeti dopustiti pristup tim stranicama samo u određeno doba dana (10:00 do 11:00 sati) samo na Ponedjeljak (M), Srijeda (Z), i Petak (F).
acl someDays time MWF 10: 00-11: 00. http_access dopuštaju zabranjene neke dane. http_access poricati zabranjeno.
U suprotnom će pristup tim domenama biti blokiran.
Lignje podržavaju nekoliko mehanizama provjere autentičnosti (Basic, NTLM, Digest, SPNEGO i Oauth) i pomoćnike (SQL baza podataka, LDAP, NIS, NCSA, da nabrojimo samo neke). U ovom ćemo vodiču koristiti Osnovnu provjeru autentičnosti s NCSA.
Dodajte sljedeće redove u svoj /etc/squid/squid.conf datoteka.
auth_param osnovni program/usr/lib/squid/ncsa_auth/etc/squid/passwd. auth_param osnovne vjerodajnicesttl 30 minuta. auth_param osnovno osjetljivo na velika slova na. auth_param osnovno područje Squid proxy-caching web poslužitelj za Tecmintovu LFCE seriju. acl ncsa proxy_auth POTREBAN. http_access dopustiti ncsa.
Bilješka: U CentOS 7, dodatak NCSA za lignje možete pronaći u /usr/lib64/squid/basic_nsca_auth, pa prema tome promijenite gornji redak.
Nekoliko pojašnjenja:
Pokrenite sljedeću naredbu za stvaranje datoteke i dodavanje vjerodajnica za korisnika gacanepa (izostavite -c označite ako datoteka već postoji).
# htpasswd -c/etc/squid/passwd gacanepa.
Otvorite web preglednik na klijentskom stroju i pokušajte pregledati bilo koju web lokaciju.
Ako provjera autentičnosti uspije, pristup se odobrava traženom resursu. U suprotnom će pristup biti odbijen.
Jedna od karakteristika Squid -a je mogućnost spremanja resursa zatraženih s weba na disk kako bi se ubrzali budući zahtjevi tih objekata od strane istog klijenta ili drugih.
Dodajte sljedeće direktive u svoj lignje.conf datoteka.
cache_dir ufs/var/cache/squid 1000 16 256. maksimalna veličina_objekta 100 MB. osvježi_uzorak.*\. (mp4 | iso) 2880.
Nekoliko pojašnjenja gore navedenih direktiva.
Prvi i drugi 2880 su donje i gornje granice, odnosno, koliko dugo će se objekti bez izričitog isteka vremena smatrati nedavnim, pa će ih opsluživati predmemorija, dok 0% je postotak starosti objekata (vrijeme od posljednje izmjene) koji će se svaki objekt bez izričitog roka isteka smatrati nedavnim.
Prvi klijent (IP 192.168.0.104) preuzimanja a 71 MB .mp4 datoteku za 2 minute i 52 sekunde.
Drugi klijent (IP 192.168.0.17) preuzima istu datoteku za 1,4 sekunde!
To je zato što je datoteka poslužena iz Predmemorija lignji (označeno sa TCP_HIT/200) u drugom slučaju, za razliku od prvog stupnja, kada je preuzet izravno s Interneta (predstavljen sa TCP_MISS/200).
The POGODITI i PROPUSTITI ključne riječi, zajedno sa 200 http kod odgovora, označava da je datoteka uspješno poslužena oba puta, ali je predmemorija bila HIT i Missed. Kad iz nekog razloga predmemorija ne može poslužiti zahtjev, tada ga Squid pokušava poslužiti s Interneta.
U ovom članku smo razgovarali o tome kako postaviti a Proxy za caching web lignje. Možete koristiti proxy poslužitelj za filtriranje sadržaja prema odabranim kriterijima, a također i za smanjenje kašnjenja (budući da su identični dolazni zahtjevi poslužuju se iz predmemorije, koja je bliža klijentu od web poslužitelja koji zapravo poslužuje sadržaj, što rezultira bržim prijenos podataka) i mrežni promet (smanjujući količinu iskorištene propusnosti, što vam štedi novac ako plaćate za promet).
Možda biste se htjeli uputiti na Web mjesto Lignje za daljnju dokumentaciju (svakako provjerite i wiki), ali ne ustručavajte se kontaktirati nas ako imate bilo kakvih pitanja ili komentara. Bit će nam više nego drago čuti vas!