Hvordan sette opp "Squid Proxy" Server på Ubuntu og Debian


Squid er en mest populær HTTP-webproxy-server for hurtigbufring og videresending som brukte mitt brede spekter av selskaper til å bufre nettsider fra en webserver for å forbedre hastigheten på nettserveren, redusere responstiden og redusere bruken av nettverksbåndbredde.

Les også: Hvordan lage en HTTP-proxy ved å bruke Squid på CentOS 7

I denne artikkelen vil vi forklare hvordan du installerer en squid proxy-server på Ubuntu og Debian-distribusjoner og bruker den som en HTTP-proxy-server.

Hvordan installere Squid på Ubuntu

Før vi begynner, bør du vite at Squid-serveren ikke har noen krav, men mengden RAM-utnyttelse kan variere basert på klientene som surfer på internett via proxy-serveren.

Squid-pakken er tilgjengelig for installasjon fra Ubuntu-baselageret, men før det sørg for å oppdatere pakkene dine ved å kjøre.

sudo apt update

Når pakkene dine er oppdatert, kan du fortsette videre for å installere blekksprut og starte og aktivere den ved systemoppstart ved å bruke følgende kommandoer.

sudo apt -y install squid
sudo systemctl start squid
sudo systemctl enable squid

På dette tidspunktet skal din Squid web proxy allerede kjøre, og du kan bekrefte statusen til tjenesten med.

sudo systemctl status squid
Eksempelutgang
● squid.service - LSB: Squid HTTP Proxy version 3.x
   Loaded: loaded (/etc/init.d/squid; generated)
   Active: active (running) since Tue 2018-12-04 06:42:43 UTC; 14min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 4 (limit: 1717)
   CGroup: /system.slice/squid.service
           ├─2761 /usr/sbin/squid -YC -f /etc/squid/squid.conf
           ├─2766 (squid-1) -YC -f /etc/squid/squid.conf
           ├─2768 (logfile-daemon) /var/log/squid/access.log
           └─2772 (pinger)

Dec 04 06:42:43 tecmint systemd[1]: Starting LSB: Squid HTTP Proxy version 3.x...
Dec 04 06:42:43 tecmint squid[2708]:  * Starting Squid HTTP Proxy squid
Dec 04 06:42:43 tecmint squid[2708]:    ...done.
Dec 04 06:42:43 tecmint systemd[1]: Started LSB: Squid HTTP Proxy version 3.x.
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: will start 1 kids
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: (squid-1) process 2766 started

Følgende er noen viktige blekksprutfilplasseringer du bør være oppmerksom på:

  • Squid-konfigurasjonsfil: /etc/squid/squid.conf
  • Squid Access-logg: /var/log/squid/access.log
  • Squid Cache-logg: /var/log/squid/cache.log

Standard konfigurasjonsfilen inneholder noen konfigurasjonsdirektiver som må konfigureres for å påvirke oppførselen til Squid.

Åpne nå denne filen for redigering ved hjelp av Vi editor og gjør endringer som vist nedenfor.

sudo vim /etc/squid/squid.conf

Nå kan du søke om de følgende linjene og endre dem som forespurt, i Vi-editoren kan du søke om disse linjene ved å trykke 'ESC' og skrive "/ ” nøkkelen til å skrive de spesifikke linjene du skal se etter.

  • http_port : Dette er standardporten for HTTP-proxy-serveren, som standard er den 3128, du kan endre den til hvilken som helst annen port du vil, du kan også legge til “transparent ” tag på slutten av linjen som http_port 8888 transparent for å få Squid proxy til å fungere som en transparent proxy hvis du vil.
  • http_access nekte alle : Denne linjen vil ikke la noen få tilgang til HTTP-proxy-serveren, det er derfor du må endre den til http_access tillat alle for å begynne å bruke Squid-proxy-serveren .
  • visible_hostname : Dette direktivet brukes til å sette det spesifikke vertsnavnet til en blekksprutserver. Du kan gi hvilket som helst vertsnavn til blekksprut.

Etter å ha gjort endringer ovenfor, kan du starte Squid proxy-serveren på nytt ved å bruke kommandoen.

sudo systemctl restart squid

Konfigurere Squid som en HTTP-proxy på Ubuntu

I denne squid-konfigurasjonsdelen vil vi forklare deg hvordan du konfigurerer squid som en HTTP-proxy med kun klientens IP-adresse for autentisering.

Legg til Squid ACLer

Hvis du ønsker å tillate bare én IP-adresse å få tilgang til internett via den nye proxy-serveren, må du definere ny acl (tilgangskontrollliste) i konfigurasjonsfilen.

sudo vim /etc/squid/squid.conf

acl-regelen du bør legge til er:

acl localnet src XX.XX.XX.XX

Hvor XX.XX.XX.XX er IP-adressen til klientmaskinen. Denne acl bør legges til i begynnelsen av ACL-delen som vist i følgende skjermbilde.

Det er alltid en god praksis å definere en kommentar ved siden av ACL som for eksempel beskriver hvem som bruker denne IP-adressen.

acl localnet src 192.168.0.102  # Boss IP address

Du må starte Squid-tjenesten på nytt for å tre i kraft de nye endringene.

sudo systemctl restart squid

Åpne porter i Squid Proxy

Som standard er bare visse porter tillatt i blekksprutkonfigurasjonen, hvis du ønsker å legge til flere, må du bare definere dem i konfigurasjonsfilen som vist.

acl Safe_ports port XXX

Hvor XXX er portnummeret du ønsker å tillate. Igjen er det en god praksis å definere en kommentar ved siden av acl som vil beskrive hva porten skal brukes til.

For at endringene skal tre i kraft, må du starte squid på nytt en gang til.

sudo systemctl restart squid

Squid Proxy Client Authentication

For å tillate brukere å autentisere før du bruker proxyen, må du aktivere grunnleggende http-autentisering i konfigurasjonsfilen, men før det må du installere pakken apache2-utils ved å bruke følgende kommando.

sudo apt install apache2-utils

Lag nå en fil kalt “passwd” som senere vil lagre brukernavnet for autentiseringen. Squid kjører med brukeren “proxy ” så filen bør eies av den brukeren.

sudo touch /etc/squid/passwd
sudo chown proxy: /etc/squid/passwd
ls -l /etc/squid/passwd

Nå vil vi opprette en ny bruker kalt "tecmint" og sette opp passordet.

sudo htpasswd /etc/squid/passwd tecmint

New password: 
Re-type new password: 
Adding password for user tecmint

Åpne konfigurasjonsfilen for å aktivere grunnleggende http-autentisering.

sudo vim /etc/squid/squid.conf

Etter portene ACL legger til følgende linjer:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users

Lagre filen og start squid på nytt slik at de nye endringene kan tre i kraft:

sudo systemctl restart squid

Blokker nettsteder på Squid Proxy

For å blokkere tilgang til uønskede nettsteder, oppretter du først en fil kalt «blacklisted_sites.acl» som vil lagre de svartelistede nettstedene i den.

sudo touch /etc/squid/blacklisted_sites.acl

Legg nå til nettstedene du ønsker å blokkere tilgang, for eksempel.

.badsite1.com
.badsite2.com

Den videre prikken informerer blekksprut om å blokkere alle referanser til disse nettstedene, inkludert www.badsite1, subsite.badsite1.com osv.

Åpne nå Squids konfigurasjonsfil.

sudo vim /etc/squid/squid.conf

Rett etter de ovennevnte tilgangskontrollistene legg til følgende to linjer:

acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl"
http_access deny bad_urls

Lagre nå filen og start squid på nytt:

sudo systemctl restart squid

Blokker spesifikt søkeord med blekksprut

For å blokkere en liste med søkeord, oppretter du først en fil kalt «blockkeywords.lst» som vil lagre de svartelistede søkeordene i den.

sudo touch /etc/squid/blockkeywords.lst

Legg nå til nøkkelordene du ønsker å blokkere tilgang, for eksempel.

facebook
instagram
gmail

Åpne nå Squids konfigurasjonsfil og legg til følgende regel.

acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst"
http_access deny blockkeywordlist

Lagre nå filen og start squid på nytt:

sudo systemctl restart squid

Når alt er konfigurert nøyaktig, kan du nå konfigurere den lokale klientnettleseren eller operativsystemets nettverksinnstillinger for å bruke den nylig konfigurerte squid HTTP-proxyen.

Konfigurer klienten til å bruke Squid Proxy

Nå for å teste om proxy-serveren din fungerer eller ikke, kan du åpne Firefox og gå til Rediger –> Innstillinger –> Avansert –> Nettverk –> Innstillinger og velge “Manuell proxy-konfigurasjon ” og skriv inn proxy-serverens IP-adresse og port som skal brukes for all tilkobling som følger.

Når du har fylt ut alle de nødvendige proxy-detaljene, vil du kunne surfe på nettet ved å bruke Squid-proxyserveren din, du kan gjøre det samme i en hvilken som helst annen nettleser eller program du vil.

For å være sikker på at du surfer på nettet ved hjelp av proxy-serveren din, kan du besøke http://www.ipaddresslocation.org/, øverst til høyre må du se den samme IP-adressen som serveren din IP adresse.

For flere ekstra konfigurasjonsinnstillinger, kan du sjekke offisiell blekksprutdokumentasjon. Hvis du har spørsmål eller kommentarer, vennligst legg dem til i kommentarfeltet nedenfor.