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.