Sådan konfigureres "Squid Proxy" -server på Ubuntu og Debian


Blæksprutte er en mest populær caching og videresendelse af HTTP-web-proxyserver, der brugte min brede vifte af virksomheder til at cache websider fra en webserver for at forbedre webserverhastigheden, reducere responstider og reducere netværksbåndbreddebrug.

I denne artikel forklarer vi, hvordan du installerer en blæksprutte-proxyserver på Ubuntu- og Debian-distributioner og bruger den som en HTTP-proxyserver.

Sådan installeres blæksprutte på Ubuntu

Før vi begynder, skal du vide, at Squid-serveren ikke har nogen krav, men mængden af RAM-udnyttelse kan variere afhængigt af klienter, der surfer på internettet via proxyserveren.

Blækspruttepakken er tilgængelig til installation fra basis Ubuntu-arkivet, men sørg inden for det for at opdatere dine pakker ved at køre.

$ sudo apt update

Når dine pakker er opdaterede, kan du gå videre med at installere blæksprutte og starte og aktivere den ved systemstart ved hjælp af følgende kommandoer.

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

På dette tidspunkt skal din Squid-webproxy allerede køre, og du kan kontrollere status for tjenesten med.

$ sudo systemctl status squid
● 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 nogle vigtige blækspruttefilplaceringer, du skal være opmærksom på:

  • Blækspruttekonfigurationsfil: /etc/squid/squid.conf
  • Blæksprutteadgangslog: /var/log/squid/access.log
  • Blæksprutte-cache-log: /var/log/squid/cache.log

Standardkonfigurationsfilen indeholder nogle konfigurationsdirektiver, der skal konfigureres for at påvirke blæksprutte.

Åbn nu denne fil til redigering ved hjælp af Vi editor og foretag ændringer som vist nedenfor.

$ sudo vim /etc/squid/squid.conf

Nu kan du søge efter de følgende linjer og ændre dem som ønsket, i Vi-editoren kan du søge om disse linjer ved at trykke på 'ESC' og skrive "/" -tasten for at skrive de specifikke linjer at lede efter.

  • http_port : Dette er standardporten til HTTP-proxyserveren, som standard er det 3128, du kan ændre den til en hvilken som helst anden port, du ønsker, du kan også tilføje det "gennemsigtige" tag til slutningen af linjen som http_port 8888 gennemsigtig for at få blæksprutte-proxy til at fungere som en gennemsigtig proxy, hvis du vil.
  • http_access nægter alle : Denne linje giver ingen adgang til HTTP-proxyserveren, det er derfor, du skal ændre den til http_access, så alle kan begynde at bruge din Squid-proxyserver.
  • synlig_hostnavn : Dette direktiv bruges til at indstille det specifikke værtsnavn til en blæksprutterserver. Du kan give ethvert værtsnavn til blæksprutter.

Efter at have foretaget ovenstående ændringer kan du genstarte Squid-proxyserveren ved hjælp af kommandoen.

$ sudo systemctl restart squid

Konfiguration af blæksprutte som en HTTP-proxy på Ubuntu

I dette sektion for blækspruttekonfiguration forklarer vi dig, hvordan du konfigurerer blæksprutter som en HTTP-proxy, der kun bruger klientens IP-adresse til godkendelse.

Hvis du kun vil tillade en IP-adresse at få adgang til internettet via din nye proxyserver, skal du definere ny acl (adgangskontrolliste) i konfigurationsfilen.

$ sudo vim /etc/squid/squid.conf

Den acl-regel, du skal tilføje, er:

acl localnet src XX.XX.XX.XX

Hvor XX.XX.XX.XX er IP-adressen på klientmaskinen. Denne ACL skal tilføjes i begyndelsen af ACL's sektion som vist i det følgende skærmbillede.

Det er altid en god praksis at definere en kommentar ved siden af ACL, som f.eks. Beskriver, hvem der bruger denne IP-adresse.

acl localnet src 192.168.0.102  # Boss IP address

Du bliver nødt til at genstarte blæksprutte-tjenesten for at træde i kraft de nye ændringer.

$ sudo systemctl restart squid

Som standard er kun visse porte tilladt i blækspruttekonfigurationen, hvis du vil tilføje mere, skal du bare definere dem i konfigurationsfilen som vist.

acl Safe_ports port XXX

Hvor XXX er det portnummer, du vil tillade. Igen er det en god praksis at definere en kommentar ved siden af ACL, der beskriver, hvad porten skal bruges til.

For at ændringerne skal træde i kraft, skal du genstarte blæksprutten igen.

$ sudo systemctl restart squid

For at tillade brugere at godkende, før de bruger proxyen, skal du aktivere grundlæggende http-godkendelse i konfigurationsfilen, men inden det skal du installere apache2-utils-pakken ved hjælp af følgende kommando.

$ sudo apt install apache2-utils

Opret nu en fil kaldet "passwd", der senere gemmer brugernavnet til godkendelse. Blæksprutter kører med brugerens "proxy", så filen skal ejes af den bruger.

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

Nu opretter vi en ny bruger kaldet “tecmint” og opsætter dens adgangskode.

$ sudo htpasswd /etc/squid/passwd tecmint

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

Åbn nu konfigurationsfilen for at aktivere grundlæggende http-godkendelse.

$ sudo vim /etc/squid/squid.conf

Efter portens ACL'er tilføjes 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

Gem filen og genstart blæksprutter, så de nye ændringer kan træde i kraft:

$ sudo systemctl restart squid

For at blokere adgangen til uønskede websteder skal du først oprette en fil kaldet “blacklisted_sites.acl”, der gemmer de sortlistede websteder i den.

$ sudo touch /etc/squid/blacklisted_sites.acl

Tilføj nu f.eks. De websteder, som du ønsker at blokere for adgang.

.badsite1.com
.badsite2.com

Den fortsatte prik informerer blæksprutte om at blokere alle referencer til disse websteder, inklusive www.badsite1, subsite.badsite1.com osv.

Åbn nu Squid's konfigurationsfil.

$ sudo vim /etc/squid/squid.conf

Lige efter ovenstående ACL'er tilføj følgende to linjer:

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

Gem nu filen og genstart blæksprutter:

$ sudo systemctl restart squid

For at blokere en liste med nøgleord skal du først oprette en fil kaldet "blockkeywords.lst", der gemmer de sortliste nøgleord i den.

$ sudo touch /etc/squid/blockkeywords.lst

Tilføj nu de nøgleord, som du f.eks. Ønsker at blokere for adgang.

facebook
instagram
gmail

Åbn nu Squid's konfigurationsfil, og tilføj følgende regel.

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

Gem nu filen og genstart blæksprutter:

$ sudo systemctl restart squid

Når alt er konfigureret nøjagtigt, kan du nu konfigurere din lokale klientwebbrowser eller operativsystemets netværksindstillinger til at bruge din nyligt konfigurerede blæksprutte HTTP-proxy.

Konfigurer klient til at bruge blæksprutteproxy

Nu for at teste, at din proxyserver fungerer eller ikke, kan du åbne Firefox og gå til Rediger -> Indstillinger -> Avanceret -> Netværk -> Indstillinger og vælge "Manuel proxy-konfiguration" og indtaste din proxyserver IP-adresse og port, der skal være bruges til al forbindelse som følger.

Når du har udfyldt alle de krævede proxydetaljer, vil du være i stand til at surfe på nettet ved hjælp af din Squid-proxyserver. Du kan muligvis gøre det samme i en hvilken som helst anden browser eller et program, du ønsker.

For at sikre, at du surfer på nettet ved hjælp af din proxyserver, kan du besøge http://www.ipaddresslocation.org/, i øverste højre hjørne skal du se den samme IP-adresse som serverens IP-adresse.

For flere yderligere konfigurationsindstillinger kan du tjekke den officielle blæksprutte-dokumentation. Hvis du har spørgsmål eller kommentarer, bedes du tilføje dem i kommentarfeltet nedenfor.