Kaip nustatyti „Squid Proxy“ serverį „Ubuntu“ ir „Debian“.


Squid yra populiariausias talpyklos ir persiuntimo HTTP žiniatinklio tarpinis serveris, kurį naudojo daugybė mano įmonių tinklalapiams talpykloje išsaugoti iš žiniatinklio serverio, kad pagerintų žiniatinklio serverio greitį, sumažintų atsako laiką ir sumažintų tinklo pralaidumo naudojimą.

Taip pat skaitykite: kaip sukurti HTTP tarpinį serverį naudojant „Squid“ sistemoje „CentOS 7“.

Šiame straipsnyje paaiškinsime, kaip įdiegti tarpinį serverį Ubuntu ir Debian ir naudoti jį kaip HTTP tarpinį serverį.

Kaip įdiegti Squid Ubuntu

Prieš pradėdami, turėtumėte žinoti, kad Squid serveriui nekeliami jokie reikalavimai, tačiau RAM panaudojimo kiekis gali skirtis priklausomai nuo klientų, naršančių internete per tarpinį serverį.

Paketą Squid galima įdiegti iš pagrindinės Ubuntu saugyklos, tačiau prieš tai būtinai atnaujinkite paketus paleisdami.

sudo apt update

Kai jūsų paketai bus atnaujinti, galite tęsti toliau, norėdami įdiegti squid ir paleisti bei įjungti jį paleidžiant sistemą naudodami šias komandas.

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

Šiuo metu jūsų Squid žiniatinklio tarpinis serveris jau turėtų veikti ir jūs galite patikrinti paslaugos būseną naudodami.

sudo systemctl status squid
Pavyzdžio išvestis
● 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

Toliau pateikiamos kelios svarbios kalmarų failų vietos, kurias turėtumėte žinoti:

  • Squid konfigūracijos failas: /etc/squid/squid.conf
  • Squid Access žurnalas: /var/log/squid/access.log
  • Squid talpyklos žurnalas: /var/log/squid/cache.log

Numatytajame konfigūracijos faile yra keletas konfigūracijos nurodymų, kuriuos reikia sukonfigūruoti, kad paveiktų Squid elgseną.

Dabar atidarykite šį failą redaguoti naudodami Vi redaktorių ir atlikite pakeitimus, kaip parodyta toliau.

sudo vim /etc/squid/squid.conf

Dabar galite ieškoti toliau pateiktų eilučių ir jas keisti pagal pageidavimą. Vi redaktoriuje galite ieškoti tų eilučių paspausdami ESC ir įvesdami / “ klavišą, norėdami parašyti konkrečias eilutes, kurių reikia ieškoti.

  • http_port : tai numatytasis HTTP tarpinio serverio prievadas, pagal numatytuosius nustatymus jis yra 3128, galite pakeisti jį į bet kurį kitą norimą prievadą, taip pat galite pridėti „skaidrus“ žyma eilutės pabaigoje, pvz., http_port 8888 skaidrus, kad „Squid“ tarpinis serveris veiktų kaip skaidrus tarpinis serveris, jei norite.
  • http_access deny all : ši eilutė neleis niekam pasiekti HTTP tarpinio serverio, todėl turite pakeisti ją į http_access leisti visiems, kad galėtumėte pradėti naudoti savo Squid tarpinį serverį .
  • matomas_hostname : ši direktyva naudojama konkrečiam squid serverio prieglobos pavadinimui nustatyti. Kalmarams galite suteikti bet kokį pagrindinio kompiuterio pavadinimą.

Atlikę aukščiau nurodytus pakeitimus, galite iš naujo paleisti Squid tarpinį serverį naudodami komandą.

sudo systemctl restart squid

Squid konfigūravimas kaip HTTP tarpinis serveris Ubuntu

Šiame squid konfigūracijos skyriuje paaiškinsime, kaip sukonfigūruoti squid kaip HTTP tarpinį serverį naudojant tik kliento IP adresą autentifikavimui.

Pridėkite Squid ACL

Jei norite leisti tik vienam IP adresui pasiekti internetą per naująjį tarpinį serverį, konfigūracijos faile turėsite apibrėžti naują acl (prieigos valdymo sąrašą).

sudo vim /etc/squid/squid.conf

acl taisyklė, kurią turėtumėte pridėti:

acl localnet src XX.XX.XX.XX

Kur XX.XX.XX.XX yra kliento įrenginio IP adresas. Šis acl turėtų būti įtrauktas į ACL skyriaus pradžioje, kaip parodyta toliau esančioje ekrano kopijoje.

Visada yra gera praktika šalia ACL nurodyti komentarą, kuriame bus aprašyta, pavyzdžiui, kas naudoja šį IP adresą.

acl localnet src 192.168.0.102  # Boss IP address

Turėsite iš naujo paleisti „Squid“ paslaugą, kad įsigaliotų nauji pakeitimai.

sudo systemctl restart squid

Atidarykite prievadus „Squid Proxy“.

Pagal numatytuosius nustatymus kalmarų konfigūracijoje leidžiami tik tam tikri prievadai. Jei norite pridėti daugiau, tiesiog nurodykite juos konfigūracijos faile, kaip parodyta.

acl Safe_ports port XXX

Kur XXX yra prievado numeris, kurį norite leisti. Dar kartą pravartu šalia acl apibrėžti komentarą, kuriame bus aprašyta, kam prievadas bus naudojamas.

Kad pakeitimai įsigaliotų, turėsite dar kartą iš naujo paleisti squid.

sudo systemctl restart squid

Squid Proxy kliento autentifikavimas

Kad naudotojai galėtų autentifikuoti prieš naudodami tarpinį serverį, konfigūracijos faile turite įgalinti pagrindinį http autentifikavimą, bet prieš tai turite įdiegti apache2-utils paketą naudodami šią komandą.

sudo apt install apache2-utils

Dabar sukurkite failą pavadinimu „passwd“, kuriame vėliau bus išsaugotas autentifikavimo naudotojo vardas. Squid veikia su naudotoju „proxy“, todėl failas turėtų priklausyti tam naudotojui.

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

Dabar sukursime naują vartotoją pavadinimu „tecmint“ ir nustatysime jo slaptažodį.

sudo htpasswd /etc/squid/passwd tecmint

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

Dabar, norėdami įjungti pagrindinį http autentifikavimą, atidarykite konfigūracijos failą.

sudo vim /etc/squid/squid.conf

Po prievadų ACL pridėkite šias eilutes:

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

Išsaugokite failą ir iš naujo paleiskite squid, kad nauji pakeitimai įsigaliotų:

sudo systemctl restart squid

Blokuoti svetaines Squid Proxy

Norėdami užblokuoti prieigą prie nepageidaujamų svetainių, pirmiausia sukurkite failą „blacklisted_sites.acl“, kuriame bus saugomos į juodąjį sąrašą įtrauktos svetainės.

sudo touch /etc/squid/blacklisted_sites.acl

Dabar pridėkite, pavyzdžiui, svetaines, kurių prieigą norite užblokuoti.

.badsite1.com
.badsite2.com

Vykdomas taškas informuoja, kad squid blokuoja visas nuorodas į tas svetaines, įskaitant www.badsite1, subsite.badsite1.com ir kt.

Dabar atidarykite Squid konfigūracijos failą.

sudo vim /etc/squid/squid.conf

Iškart po aukščiau pateiktų ACL pridėkite šias dvi eilutes:

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

Dabar išsaugokite failą ir iš naujo paleiskite squid:

sudo systemctl restart squid

Blokuokite konkretų raktinį žodį naudodami kalmarus

Norėdami užblokuoti raktinių žodžių sąrašą, pirmiausia sukurkite failą pavadinimu blockkeywords.lst, kuriame bus saugomi juodajame sąraše esantys raktiniai žodžiai.

sudo touch /etc/squid/blockkeywords.lst

Dabar pridėkite, pavyzdžiui, raktinius žodžius, kurių prieigą norite užblokuoti.

facebook
instagram
gmail

Dabar atidarykite Squid konfigūracijos failą ir pridėkite šią taisyklę.

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

Dabar išsaugokite failą ir iš naujo paleiskite squid:

sudo systemctl restart squid

Kai viskas bus tiksliai sukonfigūruota, dabar galite sukonfigūruoti vietinio kliento žiniatinklio naršyklę arba operacinės sistemos tinklo nustatymus, kad galėtumėte naudoti naujai sukonfigūruotą squid HTTP tarpinį serverį.

Konfigūruokite klientą naudoti Squid Proxy

Dabar norėdami patikrinti, ar tarpinis serveris veikia, ar ne, galite atidaryti Firefox ir eiti į Redaguoti –> Nuostatos –> Išplėstiniai –> Tinklas –> Nustatymai ir pasirinkite „Rankinė tarpinio serverio konfigūracija “ ir įveskite tarpinio serverio IP adresą ir prievadą, kuris bus naudojamas visam ryšiui, kaip nurodyta toliau.

Kai užpildysite visą reikiamą tarpinio serverio informaciją, galėsite naršyti internete naudodami savo Squid tarpinį serverį, tą patį galite padaryti bet kurioje kitoje norimoje naršyklėje ar programoje.

Norėdami įsitikinti, kad naršote žiniatinklyje naudodami tarpinį serverį, galite apsilankyti adresu http://www.ipaddresslocation.org/, dešiniajame viršutiniame kampe turite matyti tą patį IP adresą kaip ir serverio. IP adresas.

Norėdami gauti daugiau papildomų konfigūracijos nustatymų, galite peržiūrėti oficialią kalmarų dokumentaciją. Jei turite klausimų ar komentarų, pridėkite juos žemiau esančiame komentarų skyriuje.