![Slik tilpasser du handlingssenteret i Windows 10](/f/a89e841de0c023c49160ed0215ef186c.png?width=100&height=100)
EN Linux Foundation Certified Engineerer en dyktig profesjonell som har ekspertisen til å installere, administrere og feilsøke nettverkstjenester i Linux systemer, og har ansvaret for design, implementering og løpende vedlikehold av den systemomfattende arkitekturen.
Vi introduserer Linux Foundation Certification Program.
I Del 1 av denne serien, viste vi hvordan du installerer blekksprut, en proxy -bufringsserver for webklienter. Se det innlegget (lenken nedenfor) før du fortsetter hvis du ikke har installert blekksprut på systemet ditt ennå.
I denne artikkelen viser vi deg hvordan du konfigurerer Squid -proxy -serveren for å gi eller begrense Internett -tilgang, og hvordan du konfigurerer en http -klient eller nettleser for å bruke proxy -serveren.
Operativsystem: Debian Wheezy 7.5. IP -adresse: 192.168.0.15. Vertsnavn: dev2.gabrielcanepa.com.ar.
Operativsystem: Ubuntu 12.04. IP -adresse: 192.168.0.104 Vertsnavn: ubuntuOS.gabrielcanepa.com.ar.
Operativsystem: CentOS-7.0-1406. IP -adresse: 192.168.0.17 Vertsnavn: dev1.gabrielcanepa.com.ar.
La oss huske at en proxy -server på en enkel måte er et mellomledd mellom en (eller flere) klientdatamaskiner og en bestemt nettverksressurs, den vanligste er tilgang til Internett. Med andre ord er proxy -serveren koblet på den ene siden direkte til Internett (eller til en ruter som er koblet til til Internett) og på den andre siden til et nettverk av klientdatamaskiner som får tilgang til World Wide Web gjennom den.
Du lurer kanskje på, hvorfor vil jeg legge til enda en programvare i nettverksinfrastrukturen?
1. Squid lagrer filer fra tidligere forespørsler for å fremskynde fremtidige overføringer. Anta for eksempel klient1 nedlastinger CentOS-7.0-1406-x86_64-DVD.iso fra Internett. Når klient2 ber om tilgang til den samme filen, kan blekksprut overføre filen fra bufferen i stedet for å laste den ned igjen fra Internett. Som du kan gjette, kan du bruke denne funksjonen til å øke hastigheten på dataoverføringer i et nettverk av datamaskiner som krever hyppige oppdateringer av noe slag.
2. ACL -er (Tilgangskontrollister) tillate oss å begrense tilgangen til nettsteder, og / eller overvåke tilgangen per bruker. Du kan begrense tilgangen basert på for eksempel ukedag eller tid på døgnet, eller domene.
3. Omgå webfiltre gjøres mulig ved bruk av en webproxy som forespørsler sendes til og som returnerer forespurt innhold til en klient, i stedet for at kunden ber om det direkte til Internett.
Anta for eksempel at du er logget inn klient1 og vil ha tilgang www.facebook.com gjennom selskapets ruter. Siden nettstedet kan bli blokkert av selskapets retningslinjer, kan du i stedet koble til en webproxy -server og be det om tilgang til www.facebook.com. Eksternt innhold blir deretter returnert til deg via webproxy -serveren igjen, og omgår selskapets ruterens retningslinjer for blokkering.
Tilgangskontrollskjemaet til Squid web proxy -serveren består av to forskjellige komponenter:
Squidens hovedkonfigurasjonsfil er /etc/squid/squid.conf, som er ~5000 linjer lenge siden det inkluderer både konfigurasjonsdirektiver og dokumentasjon. Av den grunn vil vi lage en ny blekksprut.konf filen med bare linjene som inneholder konfigurasjonsdirektiver for vår bekvemmelighet, og utelater tomme eller kommenterte linjer. For å gjøre det, bruker vi følgende kommandoer.
# mv /etc/squid/squid.conf /etc/squid/squid.conf.bkp.
Og så,
# grep -Eiv '( ^# | ^$)' /etc/squid/squid.conf.bkp ELLER# grep -ve ^# -ve ^$ /etc/squid/squid.conf.bkp>/etc/squid/ blekksprut.konf.
Nå åpner du den nyopprettede blekksprut.konf filen, og se etter (eller legg til) følgende ACL elementer og tilgangslister.
acl localhost src 127.0.0.1/32. acl localnet src 192.168.0.0/24.
De to linjene ovenfor representerer et grunnleggende eksempel på bruk av ACL elementer.
De to linjene nedenfor er tilgangsliste regler og representerer en eksplisitt implementering av ACL direktiver nevnt tidligere. Med få ord indikerer de det http -tilgang bør innvilges hvis forespørselen kommer fra det lokale nettverket (localnet), eller fra lokal vert. Spesielt hva er det tillatte lokale nettverket eller lokale vertsadresser? Svaret er: de som er angitt i localhost- og localnet -direktivene.
http_access tillate localnet. http_access tillate localhost.
På dette tidspunktet kan du starte på nytt Akkar for å bruke eventuelle ventende endringer.
# service squid restart [Oppstart / sysvinit-baserte distribusjoner] # systemctl restart squid.service [systemd-baserte distribusjoner]
og konfigurer deretter en klientleser i det lokale nettverket (192.168.0.104 i vårt tilfelle) for å få tilgang til Internett via din proxy som følger.
1. Gå til Redigere -menyen og velg Preferanser alternativ.
2. Klikk på Avansert, deretter på Nettverk kategorien, og til slutt på Innstillinger…
3. Kryss av Manuell proxy -konfigurasjon og skriv inn IP adresse av proxy -serveren og havn hvor den lytter etter forbindelser.
Merk Som standard hører Squid på port 3128, men du kan overstyre denne oppførselen ved å redigere tilgangsliste regelen som begynner med http_port (som standard står det http_port 3128).
4. Klikk OK for å bruke endringene, og du er i gang.
Du kan nå kontrollere at din lokale nettverksklient får tilgang til Internett via proxyen din som følger.
1. Åpne en i din klient terminal og type,
# ip -adresse viser eth0 | grep -Ei '(inet.*eth0)'
Denne kommandoen viser gjeldende IP adresse av klienten din (192.168.0.104 i bildet nedenfor).
2. I din klient kan du bruke en nettleser til å åpne et gitt nettsted (www.tecmint.com i dette tilfellet).
3. Kjør på serveren.
# tail -f /var/log/squid/access.log.
og du får en direkte visning av forespørsler som blir betjent Akkar.
Anta at du eksplisitt vil nekte tilgang til den aktuelle klientens IP -adresse, samtidig som du beholder tilgangen for resten av det lokale nettverket.
1. Definer en ny ACL direktivet som følger (jeg har navngitt det ubuntuOS men du kan kalle det hva du vil).
acl ubuntuOS src 192.168.0.104.
2. Legg til ACL direktiv til localnet -tilgang listen som allerede er på plass, men som går foran med et utropstegn. Dette betyr, "Tillat Internett -tilgang til klienter som matcher localnet ACL -direktivet bortsett fra det som samsvarer med ubuntuOS -direktivet”.
http_access tillate localnet! ubuntuOS.
3. Nå må vi starte Squid på nytt for å kunne gjøre endringer. Så hvis vi prøver å bla til et hvilket som helst nettsted, vil vi oppdage at tilgang nektes nå.
For å begrense tilgangen til Squid etter domene bruker vi dstdomain søkeord i en ACL direktivet, som følger.
acl forbidden dstdomain "/etc/squid/forbidden_domains"
Hvor forbidden_domains er en ren tekstfil som inneholder domenene vi ønsker å nekte tilgang til.
Til slutt må vi gi tilgang til Squid for forespørsler som ikke samsvarer med direktivet ovenfor.
http_access tillate localnet! forbudt.
Eller kanskje vi bare vil tillate tilgang til disse nettstedene i løpet av en bestemt tid på dagen (10:00 til 11:00) bare på Mandag (M), Onsdag (W), og Fredag (F).
acl noen dager MWF 10: 00-11: 00. http_access tillate forbidden someDays. http_access nekte forbudt.
Ellers vil tilgangen til disse domenene bli blokkert.
Squid støtter flere autentiseringsmekanismer (Basic, NTLM, Digest, SPNEGO og Oauth) og hjelpere (SQL -database, LDAP, NIS, NCSA, for å nevne noen). I denne opplæringen bruker vi grunnleggende autentisering med NCSA.
Legg til følgende linjer i din /etc/squid/squid.conf fil.
auth_param grunnleggende program/usr/lib/squid/ncsa_auth/etc/squid/passwd. auth_param basic credentialsttl 30 minutter. auth_param basic case sensitiv på. auth_param basic realm Squid proxy-caching webserver for Tecmints LFCE-serie. acl ncsa proxy_auth KREVES. http_access tillat ncsa.
Merk: I CentOS 7, finnes NCSA -plugin for blekksprut i /usr/lib64/squid/basic_nsca_auth, så endre deretter på linjen ovenfor.
Noen få presiseringer:
Kjør følgende kommando for å opprette filen og legge til legitimasjon for brukeren gacanepa (utelat -c flagg hvis filen allerede finnes).
# htpasswd -c/etc/squid/passwd gacanepa.
Åpne en nettleser i klientmaskinen og prøv å bla til et gitt nettsted.
Hvis godkjenningen lykkes, gis tilgang til den forespurte ressursen. Ellers nektes tilgang.
En av Squids kjennetegn er muligheten til å bufrede ressurser som forespørres fra nettet til disk for å fremskynde fremtidige forespørsler om objektene enten av samme klient eller andre.
Legg til følgende direktiver i din blekksprut.konf fil.
cache_dir ufs/var/cache/squid 1000 16 256. maksimal_objekt_størrelse 100 MB. refresh_pattern.*\. (mp4 | iso) 2880.
Noen få presiseringer av direktivene ovenfor.
Den første og andre 2880 er henholdsvis nedre og øvre grense for hvor lenge objekter uten eksplisitt utløpstid vil bli ansett som siste, og dermed vil bli servert av hurtigbufferen, mens 0% er prosentandelen av objektets alder (tid siden siste modifikasjon) som hvert objekt uten eksplisitt utløpstid vil bli ansett som nylig.
Første klient (IP 192.168.0.104) laster ned a 71 MB .mp4 fil på 2 minutter og 52 sekunder.
Andre klient (IP 192.168.0.17) laster ned den samme filen på 1,4 sekunder!
Det er fordi filen ble servert fra Blekksprutbuffer (indikert av TCP_HIT/200) i det andre tilfellet, i motsetning til første instans, da det ble lastet ned direkte fra Internett (representert av TCP_MISS/200).
De TRUFFET og GÅ GLIPP AV søkeord, sammen med 200 http svarskode, angir at filen ble vist med hell begge ganger, men bufferen var henholdsvis HIT og Missed. Når en forespørsel av en eller annen grunn ikke kan betjenes av hurtigbufferen, prøver Squid å betjene den fra Internett.
I denne artikkelen har vi diskutert hvordan du setter opp en Blekksprut -nettbuffer -proxy. Du kan bruke proxy -serveren til å filtrere innhold ved hjelp av et valgt kriterium, og også for å redusere ventetid (siden identiske innkommende forespørsler serveres fra hurtigbufferen, som er nærmere klienten enn webserveren som faktisk serverer innholdet, noe som resulterer i raskere dataoverføringer) og nettverkstrafikk også (reduserer mengden brukt båndbredde, noe som sparer penger hvis du betaler for trafikk).
Det kan være lurt å referere til Blekksprut -nettsted for ytterligere dokumentasjon (sørg for å sjekke wikien også), men ikke nøl med å kontakte oss hvis du har spørsmål eller kommentarer. Vi vil mer enn gjerne høre fra deg!