Kuinka asentaa "Squid Proxy" -palvelin Ubuntuun ja Debianiin


Squid on suosituin välimuisti- ja edelleenlähetys HTTP-verkkovälityspalvelin, joka käytti laajaa yritystäni web-sivujen välimuistiin tallentamiseen web-palvelimelta parantaakseen verkkopalvelimen nopeutta, lyhentääkseen vasteaikoja ja vähentääkseen verkon kaistanleveyden käyttöä.

Lue myös: HTTP-välityspalvelimen luominen Squidillä CentOS 7:ssä

Tässä artikkelissa selitämme, kuinka squid-välityspalvelin asennetaan Ubuntu- ja Debian-jakeluihin ja kuinka sitä käytetään HTTP-välityspalvelimena.

Kuinka asentaa Squid Ubuntuun

Ennen kuin aloitamme, sinun tulee tietää, että Squid-palvelimella ei ole vaatimuksia, mutta RAM:n käyttömäärä voi vaihdella riippuen siitä, mitä asiakkaita selaat Internetiä välityspalvelimen kautta.

Squid-paketti on asennettavissa Ubuntun perusarkistosta, mutta muista päivittää paketit ennen sitä suorittamalla.

sudo apt update

Kun paketit ovat ajan tasalla, voit jatkaa squidin asentamista ja käynnistää ja ottaa käyttöön järjestelmän käynnistyksen yhteydessä seuraavilla komennoilla.

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

Tässä vaiheessa Squid-verkkovälityspalvelimesi pitäisi olla jo käynnissä ja voit tarkistaa palvelun tilan käyttämällä.

sudo systemctl status squid
Näytelähtö
● 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

Seuraavassa on joitain tärkeitä kalmaritiedostojen sijainteja, joista sinun tulee olla tietoinen:

  • Squid-määritystiedosto: /etc/squid/squid.conf
  • Squid Access -loki: /var/log/squid/access.log
  • Squid-välimuistiloki: /var/log/squid/cache.log

Oletusasetustiedosto sisältää joitain määritysohjeita, jotka on määritettävä, jotta ne voivat vaikuttaa Squidin toimintaan.

Avaa nyt tämä tiedosto muokkausta varten Vi-editorilla ja tee muutokset alla olevan kuvan mukaisesti.

sudo vim /etc/squid/squid.conf

Nyt voit etsiä seuraavista riveistä ja muuttaa niitä pyydettäessä. Vi-editorissa voit etsiä näitä rivejä painamalla 'ESC' ja kirjoittamalla "/ ”-näppäintä kirjoittaaksesi tietyt etsittävät rivit.

  • http_portti : Tämä on HTTP-välityspalvelimen oletusportti, oletuksena se on 3128, voit vaihtaa sen mihin tahansa muuhun haluamaasi porttiin, voit myös lisätä "läpinäkyvä" -tunniste rivin loppuun, kuten http_port 8888 läpinäkyvä, jotta Squid-välityspalvelin toimii haluttaessa läpinäkyvän välityspalvelimen tavoin.
  • http_access deny all : Tämä rivi ei anna kenenkään käyttää HTTP-välityspalvelinta, joten sinun on muutettava se muotoon http_access salli kaikki aloittaaksesi Squid-välityspalvelimesi käytön. .
  • visible_hostname : Tätä ohjetta käytetään määrittämään tietty isäntänimi squid-palvelimelle. Voit antaa squidille minkä tahansa isäntänimen.

Kun olet tehnyt yllä olevat muutokset, voit käynnistää Squid-välityspalvelimen uudelleen komennolla.

sudo systemctl restart squid

Squidin määrittäminen HTTP-välityspalvelimeksi Ubuntussa

Tässä squid-määritysosiossa selitämme, kuinka squid määritetään HTTP-välityspalvelimeksi käyttämällä vain asiakkaan IP-osoitetta todennusta varten.

Lisää Squid ACL:t

Jos haluat sallia vain yhden IP-osoitteen pääsyn Internetiin uuden välityspalvelimesi kautta, sinun on määritettävä uusi acl (käyttöoikeusluettelo) määritystiedostossa.

sudo vim /etc/squid/squid.conf

Lisättävä acl-sääntö on:

acl localnet src XX.XX.XX.XX

Missä XX.XX.XX.XX on asiakaskoneen IP-osoite. Tämä acl tulee lisätä ACL-osion alkuun seuraavan kuvakaappauksen mukaisesti.

On aina hyvä käytäntö määrittää kommentin ACL viereen, joka kertoo, kuka esimerkiksi käyttää tätä IP-osoitetta.

acl localnet src 192.168.0.102  # Boss IP address

Sinun on käynnistettävä Squid-palvelu uudelleen, jotta uudet muutokset tulevat voimaan.

sudo systemctl restart squid

Avaa portit Squid Proxyssa

Oletusarvoisesti vain tietyt portit ovat sallittuja squid-kokoonpanossa, jos haluat lisätä niitä, määritä ne konfigurointitiedostoon kuvan osoittamalla tavalla.

acl Safe_ports port XXX

Missä XXX on portin numero, jonka haluat sallia. Jälleen on hyvä määrittää acl-kohdan viereen kommentti, joka kertoo, mihin porttia aiotaan käyttää.

Jotta muutokset tulevat voimaan, sinun on käynnistettävä squid uudelleen.

sudo systemctl restart squid

Squid Proxy Client Authentication

Jotta käyttäjät voivat todentaa ennen välityspalvelimen käyttöä, sinun on otettava käyttöön perushttp-todennus määritystiedostossa, mutta ennen sitä sinun on asennettava paketti apache2-utils seuraavalla komennolla.

sudo apt install apache2-utils

Luo nyt tiedosto nimeltä "passwd", joka tallentaa myöhemmin todennuksen käyttäjänimen. Squid toimii käyttäjän "välityspalvelimen" kanssa, joten tiedoston tulee olla kyseisen käyttäjän omistuksessa.

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

Nyt luomme uuden käyttäjän nimeltä "tecmint" ja asetamme sen salasanan.

sudo htpasswd /etc/squid/passwd tecmint

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

Ota nyt käyttöön perus http-todennus avaamalla asetustiedosto.

sudo vim /etc/squid/squid.conf

Lisää porttien ACL-luetteloiden jälkeen seuraavat rivit:

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

Tallenna tiedosto ja käynnistä squid uudelleen, jotta uudet muutokset tulevat voimaan:

sudo systemctl restart squid

Estä verkkosivustot Squid Proxylla

Jos haluat estää pääsyn ei-toivotuille verkkosivustoille, luo ensin tiedosto nimeltä "blacklisted_sites.acl", joka tallentaa mustalle listalle lisätyt sivustot siihen.

sudo touch /etc/squid/blacklisted_sites.acl

Lisää nyt esimerkiksi sivustot, joille haluat estää pääsyn.

.badsite1.com
.badsite2.com

Menettelyssä oleva piste kehottaa squidia estämään kaikki viittaukset kyseisiin sivustoihin, mukaan lukien www.badsite1, subsite.badsite1.com jne.

Avaa nyt Squidin määritystiedosto.

sudo vim /etc/squid/squid.conf

Lisää heti yllä olevien ACL-luetteloiden jälkeen seuraavat kaksi riviä:

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

Tallenna nyt tiedosto ja käynnistä squid uudelleen:

sudo systemctl restart squid

Estä tietty avainsana kalmarilla

Voit estää avainsanaluettelon luomalla ensin blockkeywords.lst-nimisen tiedoston, joka tallentaa siihen mustalla listalla olevat avainsanat.

sudo touch /etc/squid/blockkeywords.lst

Lisää nyt esimerkiksi avainsanat, joille haluat estää pääsyn.

facebook
instagram
gmail

Avaa nyt Squidin määritystiedosto ja lisää seuraava sääntö.

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

Tallenna nyt tiedosto ja käynnistä squid uudelleen:

sudo systemctl restart squid

Kun kaikki on määritetty oikein, voit nyt määrittää paikallisen asiakasverkkoselaimen tai käyttöjärjestelmän verkkoasetukset käyttämään juuri määritettyä squid HTTP-välityspalvelinta.

Määritä asiakas käyttämään Squid-välityspalvelinta

Nyt voit testata, toimiiko välityspalvelin vai ei, avaa Firefox ja siirry kohtaan Muokkaa –> Asetukset –> Lisäasetukset –> Verkko –> Asetukset ja valitse ”Manuaalinen välityspalvelimen määritys ” ja anna välityspalvelimesi IP-osoite ja portti, jota käytetään kaikessa yhteydessä seuraavasti.

Kun olet täyttänyt kaikki vaaditut välityspalvelimen tiedot, voit selata Internetiä Squid-välityspalvelimellasi, voit tehdä saman missä tahansa muussa haluamassasi selaimessa tai ohjelmassa.

Varmistaaksesi, että surffaat verkossa välityspalvelimellasi, käy osoitteessa http://www.ipaddresslocation.org/. Oikeassa yläkulmassa on oltava sama IP-osoite kuin palvelimesi. IP-osoite.

Lisää konfigurointiasetuksia saat virallisesta squid-dokumentaatiosta. Jos sinulla on kysyttävää tai kommentteja, lisää ne alla olevaan kommenttiosaan.