Kā iestatīt "Squid Proxy" serveri Ubuntu un Debian


Kalmārs ir vispopulārākais kešatmiņa un HTTP HTTP starpniekservera pārsūtīšana, izmantojot manu plašo uzņēmumu loku, lai kešatmiņā saglabātu tīmekļa lapas no tīmekļa servera, lai uzlabotu tīmekļa servera ātrumu, samazinātu atbildes laiku un samazinātu tīkla joslas platuma lietojumu.

Šajā rakstā mēs paskaidrosim, kā instalēt kalmāru starpniekserveri Ubuntu un Debian izplatījumos un izmantot to kā HTTP starpniekserveri.

Kā instalēt kalmāru Ubuntu

Pirms sākam, jums jāzina, ka kalmāru serverim nav nekādu prasību, taču RAM izmantošanas apjoms var atšķirties atkarībā no tā, kā klienti pārlūko internetu, izmantojot starpniekserveri.

Kalmāru pakotne ir pieejama instalēšanai no bāzes Ubuntu repozitorija, taču pirms tam noteikti atjauniniet paketes, palaižot.

$ sudo apt update

Kad jūsu paketes ir atjauninātas, varat turpināt instalēt kalmārus un sākt un iespējot to sistēmas startēšanas laikā, izmantojot šādas komandas.

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

Šajā brīdī jūsu kalmāru tīmekļa starpniekserverim jau vajadzētu darboties, un pakalpojuma statusu varat pārbaudīt ar.

$ 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

Tālāk ir norādītas dažas svarīgas kalmāru failu atrašanās vietas, kas jums jāzina:

  • Kalmāru konfigurācijas fails: /etc/squid/squid.conf
  • Kalmāru piekļuves žurnāls: /var/log/squid/access.log
  • Kalmāru kešatmiņas žurnāls: /var/log/squid/cache.log

Noklusējuma konfigurācijas failā ir dažas konfigurācijas direktīvas, kas jākonfigurē, lai ietekmētu kalmāru darbību.

Tagad atveriet šo failu rediģēšanai, izmantojot Vi redaktoru, un veiciet izmaiņas, kā parādīts zemāk.

$ sudo vim /etc/squid/squid.conf

Tagad jūs varat meklēt tālāk norādītās rindas un mainīt tās pēc pieprasījuma. Vi redaktorā jūs varat meklēt šīs līnijas, nospiežot taustiņu “ESC” un ierakstot taustiņu “/”, lai rakstītu konkrētas rindas. Meklēt.

  • http_port : tas ir HTTP starpniekservera noklusējuma ports, pēc noklusējuma tas ir 3128, jūs varat mainīt to uz jebkuru citu nepieciešamo portu, kā arī pievienot tagu “caurspīdīgs”. līdz rindas beigām, piemēram, http_port 8888 caurspīdīgai, lai kalmāru starpniekserveris darbotos kā caurspīdīgs starpniekserveris, ja vēlaties.
  • http_access liegt visus : šī rinda nevienam neļaus piekļūt HTTP starpniekserverim, tāpēc jums tas jāmaina uz http_access, lai visi varētu sākt izmantot jūsu Squid starpniekserveri.
  • visible_hostname : šī direktīva tiek izmantota, lai noteiktu saimniekdatora nosaukumu kalmāru serverim. Kalmāriem varat piešķirt jebkuru saimniekdatora nosaukumu.

Pēc iepriekš minēto izmaiņu veikšanas jūs varat restartēt Squid starpniekserveri, izmantojot komandu.

$ sudo systemctl restart squid

Kalmāra konfigurēšana kā HTTP starpniekserveris Ubuntu

Šajā kalmāru konfigurācijas sadaļā mēs jums paskaidrosim, kā konfigurēt kalmārus kā HTTP starpniekserveri, autentificēšanai izmantojot tikai klienta IP adresi.

Ja vēlaties atļaut tikai vienai IP adresei piekļūt internetam, izmantojot jauno starpniekserveri, konfigurācijas failā būs jādefinē jauns acl (piekļuves kontroles saraksts).

$ sudo vim /etc/squid/squid.conf

Pievienojamais acl noteikums ir:

acl localnet src XX.XX.XX.XX

Kur XX.XX.XX.XX ir klienta mašīnas IP adrese. Šis acl jāpievieno ACL sadaļas sākumā, kā parādīts nākamajā ekrānuzņēmumā.

Vienmēr ir laba prakse blakus ACL definēt komentāru, kurā aprakstīts, kas, piemēram, izmanto šo IP adresi.

acl localnet src 192.168.0.102  # Boss IP address

Lai stātos spēkā jaunās izmaiņas, jums būs jārestartē kalmāru pakalpojums.

$ sudo systemctl restart squid

Pēc noklusējuma kalmāru konfigurācijā ir atļautas tikai noteiktas porti, ja vēlaties pievienot vairāk, vienkārši definējiet tos konfigurācijas failā, kā parādīts.

acl Safe_ports port XXX

Kur XXX ir porta numurs, kuru vēlaties atļaut. Atkal ir ieteicams praktiski definēt komentāru blakus acl, kas aprakstīs, kādam portam tiks izmantota.

Lai izmaiņas stātos spēkā, jums vēlreiz būs jāatsāk kalmāri.

$ sudo systemctl restart squid

Lai ļautu lietotājiem autentificēties pirms starpniekservera izmantošanas, konfigurācijas failā jāiespējo pamata http autentifikācija, bet pirms tam jāinstalē apache2-utils pakotne, izmantojot šādu komandu.

$ sudo apt install apache2-utils

Tagad izveidojiet failu ar nosaukumu “passwd”, kas vēlāk saglabās autentifikācijas lietotājvārdu. Kalmārs darbojas ar lietotāja “starpniekserveri”, tāpēc failam jābūt šī lietotāja īpašumā.

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

Tagad mēs izveidosim jaunu lietotāju ar nosaukumu “tecmint” un iestatīsim tā paroli.

$ sudo htpasswd /etc/squid/passwd tecmint

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

Tagad, lai iespējotu pamata http autentifikāciju, atveriet konfigurācijas failu.

$ sudo vim /etc/squid/squid.conf

Pēc ostu ACL pievienojiet šādas rindas:

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

Saglabājiet failu un restartējiet kalmāru, lai jaunās izmaiņas varētu stāties spēkā:

$ sudo systemctl restart squid

Lai bloķētu piekļuvi nevēlamām vietnēm, vispirms izveidojiet failu ar nosaukumu “blacklisted_sites.acl”, kas tajā saglabās melnajā sarakstā iekļautās vietnes.

$ sudo touch /etc/squid/blacklisted_sites.acl

Tagad pievienojiet, piemēram, vietnes, kurām vēlaties bloķēt piekļuvi.

.badsite1.com
.badsite2.com

Turpmākais punkts informē kalmārus, lai bloķētu visas atsauces uz šīm vietnēm, tostarp www.badsite1, subsite.badsite1.com utt.

Tagad atveriet Kalmāra konfigurācijas failu.

$ sudo vim /etc/squid/squid.conf

Tieši pēc iepriekš minētajiem ACL pievienojiet šādas divas rindas:

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

Tagad saglabājiet failu un restartējiet kalmāru:

$ sudo systemctl restart squid

Lai bloķētu atslēgvārdu sarakstu, vispirms izveidojiet failu ar nosaukumu “blockkeywords.lst”, kas tajā saglabās melnajā sarakstā iekļautos atslēgvārdus.

$ sudo touch /etc/squid/blockkeywords.lst

Tagad pievienojiet, piemēram, atslēgvārdus, kuriem vēlaties bloķēt piekļuvi.

facebook
instagram
gmail

Tagad atveriet Kalmāra konfigurācijas failu un pievienojiet šādu kārtulu.

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

Tagad saglabājiet failu un restartējiet kalmāru:

$ sudo systemctl restart squid

Kad viss ir precīzi konfigurēts, tagad varat konfigurēt vietējā klienta tīmekļa pārlūkprogrammu vai operētājsistēmas tīkla iestatījumus, lai izmantotu tikko konfigurēto kalmāru HTTP starpniekserveri.

Konfigurējiet klientu, lai tas izmantotu kalmāru starpniekserveri

Tagad, lai pārbaudītu, vai starpniekserveris darbojas vai nedarbojas, varat atvērt Firefox un doties uz Rediģēt -> Preferences -> Papildu -> Tīkls -> Iestatījumi un atlasīt “Manuāla starpniekservera konfigurācija” un ievadīt starpniekservera IP adresi un Portu izmanto visiem savienojumiem, kā tas izriet.

Kad būsiet aizpildījis visu nepieciešamo starpniekservera informāciju, varēsiet sērfot tīmeklī, izmantojot savu Squid starpniekserveri, to pašu varat darīt arī jebkurā citā pārlūkprogrammā vai programmā, kuru vēlaties.

Lai pārliecinātos, ka sērfojat tīmeklī, izmantojot savu starpniekserveri, varat apmeklēt vietni http://www.ipaddresslocation.org/, labajā augšējā stūrī jums ir jāredz tā pati IP adrese kā jūsu servera IP adresei.

Lai iegūtu vairāk papildu konfigurācijas iestatījumu, varat pārbaudīt oficiālo kalmāru dokumentāciju. Ja jums ir kādi jautājumi vai komentāri, lūdzu, pievienojiet tos komentāru sadaļā zemāk.