Kako nastaviti strežnik "Squid Proxy" na Ubuntu in Debian


Squid je najbolj priljubljen predpomnilnik in posrednik strežnika HTTP za strežnik HTTP, ki je uporabljal moja široka paleta podjetij za predpomnjenje spletnih strani s spletnega strežnika za izboljšanje hitrosti spletnega strežnika, zmanjšanje odzivnega časa in zmanjšanje uporabe pasovne širine omrežja.

V tem članku bomo razložili, kako namestiti strežnik proxy squid na distribucije Ubuntu in Debian ter ga uporabiti kot strežnik proxy HTTP.

Kako namestiti Squid na Ubuntu

Preden začnemo, morate vedeti, da strežnik Squid nima nobenih zahtev, vendar se lahko količina RAM -a razlikuje glede na odjemalce, ki brskajo po internetu prek proxy strežnika.

Paket Squid je na voljo za namestitev iz osnovnega skladišča Ubuntu, vendar pred tem posodobite svoje pakete z zagonom.

$ sudo apt update

Ko so vaši paketi posodobljeni, lahko nadaljujete z namestitvijo lignjev in jih zaženete ter omogočite ob zagonu sistema z naslednjimi ukazi.

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

Na tej točki bi moral vaš spletni strežnik Squid že delovati in stanje storitve lahko preverite z.

$ 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

Sledi nekaj pomembnih lokacij datotek lignjev, na katere morate biti pozorni:

  • Konfiguracijska datoteka lignjev: /etc/squid/squid.conf
  • Dnevnik dostopa do lignjev: /var/log/squid/access.log
  • Dnevnik predpomnilnika lignjev: /var/log/squid/cache.log

Privzeta konfiguracijska datoteka vsebuje nekaj konfiguracijskih direktiv, ki jih je treba konfigurirati, da vplivajo na obnašanje Squid -a.

Zdaj odprite to datoteko za urejanje z urejevalnikom Vi in naredite spremembe, kot je prikazano spodaj.

$ sudo vim /etc/squid/squid.conf

Zdaj lahko iščete po naslednjih vrsticah in jih po želji spremenite, v urejevalniku Vi pa lahko poiščete te vrstice tako, da pritisnete tipko 'ESC' in vnesete tipko\"/", da napišete določeno vrstico vrstice za iskanje.

  • http_port : To so privzeta vrata za strežnik proxy HTTP, privzeto je 3128, lahko jih spremenite v katera koli druga vrata, ki jih želite, lahko dodate tudi\"transparentno" označite do konca vrstice, kot je http_port 8888, da bo proxy Squid deloval kot pregleden proxy, če želite.
  • http_access deny all : Ta vrstica nikomur ne dovoli dostopa do proxy strežnika HTTP, zato ga morate spremeniti v http_access in vsem omogočiti uporabo proxy strežnika Squid.
  • visible_hostname : Ta direktiva se uporablja za nastavitev določenega imena gostitelja na strežnik lignjev. Lignju lahko podate poljubno ime gostitelja.

Po zgornjih spremembah lahko znova zaženete strežnik proxy Squid z ukazom.

$ sudo systemctl restart squid

Konfiguriranje Squid kot proxy HTTP v Ubuntuju

V tem razdelku o konfiguraciji lignjev vam bomo razložili, kako konfigurirati lignje kot strežnik proxy HTTP z uporabo samo naslova IP odjemalca za preverjanje pristnosti.

Če želite dovoliti samo enemu naslovu IP dostop do interneta prek vašega novega strežnika proxy, morate v konfiguracijski datoteki določiti nov acl (seznam za nadzor dostopa).

$ sudo vim /etc/squid/squid.conf

Pravilo acl, ki ga morate dodati, je:

acl localnet src XX.XX.XX.XX

Kjer je XX.XX.XX.XX naslov IP odjemalca. Ta acl je treba dodati na začetku razdelka ACL, kot je prikazano na naslednjem posnetku zaslona.

Vedno je dobra praksa, da poleg ACL -ja definirate komentar, ki opisuje, na primer, kdo uporablja ta naslov IP.

acl localnet src 192.168.0.102  # Boss IP address

Za uveljavitev novih sprememb boste morali znova zagnati storitev Squid.

$ sudo systemctl restart squid

Privzeto so v konfiguraciji lignjev dovoljena le nekatera vrata, če jih želite dodati, jih le definirajte v konfiguracijski datoteki, kot je prikazano.

acl Safe_ports port XXX

Kjer je XXX številka vrat, ki jih želite dovoliti. Ponovno je dobra praksa določiti komentar poleg acl, ki bo opisal, za kaj bodo vrata uporabljena.

Da bodo spremembe začele veljati, boste morali znova zagnati lignje.

$ sudo systemctl restart squid

Če želite uporabnikom omogočiti preverjanje pristnosti pred uporabo proxyja, morate v konfiguracijski datoteki omogočiti osnovno overjanje http, pred tem pa morate z naslednjim ukazom namestiti paket apache2-utils.

$ sudo apt install apache2-utils

Zdaj ustvarite datoteko z imenom "passwd", ki bo kasneje shranila uporabniško ime za preverjanje pristnosti. Lignji delujejo z uporabniškim "proxyjem", zato mora biti datoteka v lasti tega uporabnika.

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

Zdaj bomo ustvarili novega uporabnika z imenom\"tecmint" in nastavili njegovo geslo.

$ sudo htpasswd /etc/squid/passwd tecmint

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

Zdaj, da omogočite osnovno preverjanje pristnosti http, odprite konfiguracijsko datoteko.

$ sudo vim /etc/squid/squid.conf

Za ACL -jem vrat dodajte naslednje vrstice:

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

Shranite datoteko in znova zaženite lignje, da bodo lahko nove spremembe začele veljati:

$ sudo systemctl restart squid

Če želite blokirati dostop do neželenih spletnih mest, najprej ustvarite datoteko z imenom “blacklisted_sites.acl”, v katero bodo shranjena mesta na črnem seznamu.

$ sudo touch /etc/squid/blacklisted_sites.acl

Zdaj dodajte na primer spletna mesta, do katerih želite blokirati dostop.

.badsite1.com
.badsite2.com

Nadaljnja pika obvešča lignje, da blokirajo vse sklice na ta spletna mesta, vključno z www.badsite1, subsite.badsite1.com itd.

Zdaj odprite konfiguracijsko datoteko Squid.

$ sudo vim /etc/squid/squid.conf

Takoj po zgornjih ACL -jih dodajte naslednji dve vrstici:

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

Zdaj shranite datoteko in znova zaženite lignje:

$ sudo systemctl restart squid

Če želite blokirati seznam ključnih besed, najprej ustvarite datoteko z imenom “blockkeywords.lst”, ki bo vanj shranila ključne besede na črnem seznamu.

$ sudo touch /etc/squid/blockkeywords.lst

Zdaj dodajte ključne besede, do katerih želite blokirati dostop, na primer.

facebook
instagram
gmail

Zdaj odprite konfiguracijsko datoteko Squid in dodajte naslednje pravilo.

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

Zdaj shranite datoteko in znova zaženite lignje:

$ sudo systemctl restart squid

Ko je vse natančno konfigurirano, lahko zdaj v lokalnem odjemalcu odjemalca ali omrežnih nastavitvah operacijskega sistema konfigurirate uporabo na novo konfiguriranega strežnika proxy HTTP za lignje.

Konfigurirajte odjemalca za uporabo Squid Proxy

Zdaj, da preverite, ali vaš proxy strežnik deluje ali ne, lahko odprete Firefox in pojdite na Uredi -> Nastavitve -> Napredno -> Omrežje -> Nastavitve in izberite\"Ročna konfiguracija proxyja" ter vnesite naslov IP strežnika proxy in vrata do uporabite za vse povezave, kot sledi.

Ko izpolnite vse zahtevane podatke o proxyju, boste lahko brskali po spletu s strežnikom proxy Squid, enako lahko storite v katerem koli drugem brskalniku ali programu, ki ga želite.

Če želite brskati po spletu s svojim proxy strežnikom, obiščite http://www.ipaddresslocation.org/, v zgornjem desnem kotu morate videti isti naslov IP kot naslov IP vašega strežnika.

Za dodatne nastavitve konfiguracije lahko preverite uradno dokumentacijo o lignjih. Če imate kakršna koli vprašanja ali pripombe, jih dodajte v spodnji razdelek za komentarje.