Kako postaviti "Squid Proxy" poslužitelj na Ubuntu i Debian


Squid je najpopularniji poslužitelj za predmemoriju i prosljeđivanje HTTP web proxy poslužitelja koji je koristio moj širok raspon tvrtki za predmemoriju web stranica s web poslužitelja kako bi se poboljšala brzina web poslužitelja, smanjilo vrijeme odziva i smanjila upotreba propusnosti mreže.

Pročitajte također: Kako stvoriti HTTP proxy koristeći Squid na CentOS 7

U ovom ćemo članku objasniti kako instalirati squid proxy poslužitelj na Ubuntu i Debian distribucije i koristiti ga kao HTTP proxy poslužitelj.

Kako instalirati Squid na Ubuntu

Prije nego što počnemo, trebali biste znati da Squid poslužitelj nema nikakvih zahtjeva, ali količina iskorištenosti RAM-a može se razlikovati ovisno o klijentima koji pretražuju internet putem proxy poslužitelja.

Paket Squid dostupan je za instalaciju iz osnovnog Ubuntu repozitorija, ali prije toga svakako ažurirajte svoje pakete pokretanjem.

sudo apt update

Nakon što su vaši paketi ažurni, možete nastaviti s instaliranjem squida te ga pokrenuti i omogućiti pri pokretanju sustava pomoću sljedećih naredbi.

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

U ovom trenutku vaš Squid web proxy već bi trebao biti pokrenut i možete provjeriti status usluge pomoću.

sudo systemctl status squid
Uzorak izlaza
● 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

Slijede neke važne lokacije squid datoteka kojih biste trebali biti svjesni:

  • Konfiguracijska datoteka Squid: /etc/squid/squid.conf
  • Squid Access log: /var/log/squid/access.log
  • Dnevnik Squid Cachea: /var/log/squid/cache.log

Zadana konfiguracijska datoteka sadrži neke konfiguracijske upute koje je potrebno konfigurirati da utječu na ponašanje Squida.

Sada otvorite ovu datoteku za uređivanje pomoću Vi uređivača i napravite promjene kao što je prikazano u nastavku.

sudo vim /etc/squid/squid.conf

Sada možete pretraživati sljedeće retke i mijenjati ih prema zahtjevu, u Vi uređivaču, možete pretraživati te retke pritiskom na 'ESC' i upisivanjem “/ ” ključ za pisanje određenih redaka koje treba tražiti.

  • http_port : Ovo je zadani port za HTTP proxy poslužitelj, zadano je 3128, možete ga promijeniti u bilo koji drugi port koji želite, možete također dodati Oznaku “transparent” do kraja retka kao što je http_port 8888 transparent kako bi se Squid proxy ponašao kao transparentni proxy ako želite.
  • http_access deny all : Ovaj red nikome neće dopustiti pristup HTTP proxy poslužitelju, zato ga trebate promijeniti u http_access enable all da biste počeli koristiti svoj Squid proxy poslužitelj .
  • visible_hostname : Ova direktiva se koristi za postavljanje specifičnog imena hosta na squid poslužitelj. Squidu možete dati bilo koje ime hosta.

Nakon što napravite gore navedene promjene, možete ponovo pokrenuti Squid proxy poslužitelj pomoću naredbe.

sudo systemctl restart squid

Konfiguriranje Squida kao HTTP proxyja na Ubuntuu

U ovom odjeljku s konfiguracijom squida, objasnit ćemo vam kako konfigurirati squid kao HTTP proxy koristeći samo IP adresu klijenta za provjeru autentičnosti.

Dodajte Squid ACL-ove

Ako samo jednoj IP adresi želite dopustiti pristup internetu putem vašeg novog proxy poslužitelja, morat ćete definirati novi acl (popis kontrole pristupa) u konfiguracijskoj datoteci.

sudo vim /etc/squid/squid.conf

Pravilo acl koje biste trebali dodati je:

acl localnet src XX.XX.XX.XX

Gdje je XX.XX.XX.XX IP adresa klijentskog stroja. Ovaj acl treba dodati na početak odjeljka ACL-a kao što je prikazano na sljedećoj snimci zaslona.

Uvijek je dobra praksa definirati komentar uz ACL koji će opisati tko koristi ovu IP adresu, na primjer.

acl localnet src 192.168.0.102  # Boss IP address

Morat ćete ponovno pokrenuti uslugu Squid kako bi nove promjene stupile na snagu.

sudo systemctl restart squid

Otvorite portove u Squid proxyju

Prema zadanim postavkama samo su određeni priključci dopušteni u konfiguraciji squida, ako želite dodati još samo ih definirajte u konfiguracijskoj datoteci kao što je prikazano.

acl Safe_ports port XXX

Gdje je XXX broj porta koji želite dopustiti. Opet je dobra praksa definirati komentar pored acl koji će opisati za što će se port koristiti.

Da bi promjene stupile na snagu, morat ćete ponovno pokrenuti squid.

sudo systemctl restart squid

Autentifikacija Squid Proxy klijenta

Da biste korisnicima omogućili autentifikaciju prije korištenja proxyja, morate omogućiti osnovnu http autentifikaciju u konfiguracijskoj datoteci, ali prije toga morate instalirati paket apache2-utils pomoću sljedeće naredbe.

sudo apt install apache2-utils

Sada stvorite datoteku pod nazivom “passwd” koja će kasnije pohraniti korisničko ime za autentifikaciju. Squid radi s korisnikom “proxy” tako da bi datoteka trebala biti u vlasništvu tog korisnika.

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

Sada ćemo stvoriti novog korisnika pod nazivom “tecmint” i postaviti mu lozinku.

sudo htpasswd /etc/squid/passwd tecmint

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

Da biste omogućili osnovnu http provjeru autentičnosti, otvorite konfiguracijsku datoteku.

sudo vim /etc/squid/squid.conf

Nakon ACL-ova portova dodajte sljedeće retke:

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

Spremite datoteku i ponovno pokrenite squid kako bi nove promjene stupile na snagu:

sudo systemctl restart squid

Blokirajte web stranice na Squid proxyju

Da biste blokirali pristup neželjenim web-mjestima, prvo izradite datoteku pod nazivom “blacklisted_sites.acl” koja će u njoj pohraniti web-lokacije s crne liste.

sudo touch /etc/squid/blacklisted_sites.acl

Sada dodajte web stranice kojima želite blokirati pristup, na primjer.

.badsite1.com
.badsite2.com

Nastavak točka obavještava squid da blokira sve reference na te stranice uključujući www.badsite1, subsite.badsite1.com itd.

Sada otvorite konfiguracijsku datoteku Squida.

sudo vim /etc/squid/squid.conf

Odmah nakon gornjih ACL-ova dodajte sljedeća dva retka:

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

Sada spremite datoteku i ponovno pokrenite squid:

sudo systemctl restart squid

Blokirajte određene ključne riječi pomoću Squida

Da biste blokirali popis ključnih riječi, prvo izradite datoteku pod nazivom “blockkeywords.lst” koja će u njoj pohraniti ključne riječi s popisa crnih riječi.

sudo touch /etc/squid/blockkeywords.lst

Sada dodajte ključne riječi kojima, na primjer, želite blokirati pristup.

facebook
instagram
gmail

Sada otvorite konfiguracijsku datoteku Squida i dodajte sljedeće pravilo.

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

Sada spremite datoteku i ponovno pokrenite squid:

sudo systemctl restart squid

Nakon što je sve točno konfigurirano, sada možete konfigurirati web preglednik vašeg lokalnog klijenta ili mrežne postavke operativnog sustava da koriste vaš novokonfigurirani squid HTTP proxy.

Konfigurirajte klijenta da koristi Squid proxy

Sada da provjerite radi li vaš proxy poslužitelj ili ne, možete otvoriti Firefox i otići na Uredi –> Postavke –> Napredno –> Mreža –> Postavke i odabrati “Ručna konfiguracija proxyja ” i unesite IP adresu svog proxy poslužitelja i priključak koji će se koristiti za sve veze kako slijedi.

Nakon što ispunite sve potrebne podatke o proxyju, moći ćete surfati webom pomoću svog Squid proxy poslužitelja, možete učiniti istu stvar u bilo kojem drugom pregledniku ili programu koji želite.

Kako biste bili sigurni da surfate webom koristeći svoj proxy poslužitelj, možete posjetiti http://www.ipaddresslocation.org/, u gornjem desnom kutu morate vidjeti istu IP adresu kao vaš poslužitelj IP adresa.

Za više dodatnih konfiguracijskih postavki, možete provjeriti službenu dokumentaciju za lignje. Ako imate pitanja ili komentara, dodajte ih u odjeljak za komentare u nastavku.