Squid je cachovací proxy pro web podporující HTTP, HTTPS, FTP a další. Snižuje šířku pásma a zkracuje dobu odezvy ukládáním do mezipaměti a opětovným používáním často požadovaných webových stránek. Squid má rozsáhlé řízení přístupu a je skvělým serverovým akcelerátorem. Běží na většině dostupných operačních systémů.
Squids reverzní proxy je služba, která je umístěna mezi internetem a webovým serverem (obvykle v privátní síti), který přesměrovává příchozí požadavky klientů na server, kde jsou data uložena pro snadnější vyhledávání. Pokud cache server (proxy) nemá data uložená v mezipaměti, předá požadavek na webový server, kde jsou data skutečně uložena. Tento typ ukládání do mezipaměti umožňuje shromažďování dat a reprodukování původních datových hodnot uložených na jiném místě, aby byl zajištěn snadnější přístup.
Reverzní proxy obvykle poskytuje další vrstvu kontroly, která usnadňuje tok příchozího síťového provozu mezi vašimi klienty a webovým serverem.
Když vybíráte počítačový systém pro použití jako vyhrazený proxy server pro ukládání do mezipaměti Squid, mnoho uživatelů se ujišťuje, že je nakonfigurován s velkým množstvím fyzické paměti (RAM), protože Squid udržuje mezipaměť v paměti pro zvýšení výkonu.
Související příspěvky:
- Jak nainstalovat a nakonfigurovat Squid Proxy na Ubuntu 20.04
- Jak nainstalovat a nakonfigurovat Squid Proxy v Debianu 11
- Jak nainstalovat a nakonfigurovat Squid Proxy na OpenSUSE Leap 11
Předpoklady
- Aktualizovaný server Rocky Linux 8 s alespoň 1 GB paměti RAM
- Kořenový přístup k serveru nebo uživateli s přístupem sudo
- Přístup k internetu ze serveru
Obsah
- Zajištění aktuálnosti serveru
- Instalace serveru proxy squid
- Spuštění a povolení služby squid
- Konfigurace webového prohlížeče
- Konfigurace chobotnice
- Použití squid proxy Access Control List (ACL)
- Použití Squid k ukládání webových stránek do mezipaměti
1. Zajištění aktuálnosti serveru
Než budete pokračovat, ujistěte se, že náš server má aktualizované balíčky. K tomu použijte tento příkaz:
sudo dnf update -y
2. Instalace proxy serveru Squid
Balíčky poskytující squid proxy server jsou dostupné ve výchozích repozitářích Rocky Linux. Nainstalujte jej pomocí tohoto příkazu:
sudo dnf install -y squid
Potvrďte, že byl balíček nainstalován podle očekávání
$ rpm -qi squid
Name : squid
Epoch : 7
Version : 4.15
Release : 1.module+el8.5.0+705+218dec94
Architecture: x86_64
Install Date: Mon 17 Jan 2022 07:07:04 PM UTC
Group : Unspecified
Size : 12402901
License : GPLv2+ and (LGPLv2+ and MIT and BSD and Public Domain)
Signature : RSA/SHA256, Tue 09 Nov 2021 11:01:49 PM UTC, Key ID 15af5dac6d745a60
Source RPM : squid-4.15-1.module+el8.5.0+705+218dec94.src.rpm
Build Date : Tue 09 Nov 2021 10:50:18 PM UTC
Build Host : ord1-prod-x86build004.svc.aws.rockylinux.org
Relocations : (not relocatable)
Packager : [email protected]
Vendor : Rocky
URL : http://www.squid-cache.org
Summary : The Squid proxy caching server
Description :
Squid is a high-performance proxy caching server for Web clients,
supporting FTP, gopher, and HTTP data objects. Unlike traditional
caching software, Squid handles all requests in a single,
non-blocking, I/O-driven process. Squid keeps meta data and especially
hot objects cached in RAM, caches DNS lookups, supports non-blocking
DNS lookups, and implements negative caching of failed requests.
Squid consists of a main server program squid, a Domain Name System
lookup program (dnsserver), a program for retrieving FTP data
(ftpget), and some management and client tools.
3. Spuštění a povolení služby squid
Squid proxy server nebude ve výchozím nastavení spuštěn v našem systému Rocky Linux 8. Spusťte jej tímto příkazem:
sudo systemctl start squid
Chcete-li zkontrolovat stav, zadejte tento příkaz:
$ sudo systemctl status squid
● squid.service - Squid caching proxy
Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2022-01-17 19:08:32 UTC; 6s ago
Docs: man:squid(8)
Process: 429390 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS)
Main PID: 429396 (squid)
Tasks: 3 (limit: 23176)
Memory: 13.9M
CGroup: /system.slice/squid.service
├─429396 /usr/sbin/squid --foreground -f /etc/squid/squid.conf
├─429398 (squid-1) --kid squid-1 --foreground -f /etc/squid/squid.conf
└─429399 (logfile-daemon) /var/log/squid/access.log
Jan 17 19:08:32 dev-rockysrv.inv.re systemd[1]: Starting Squid caching proxy...
Jan 17 19:08:32 dev-rockysrv.inv.re squid[429396]: Squid Parent: will start 1 kids
Jan 17 19:08:32 dev-rockysrv.inv.re squid[429396]: Squid Parent: (squid-1) process 429398 started
Jan 17 19:08:32 dev-rockysrv.inv.re systemd[1]: Started Squid caching proxy.
Z výše uvedeného příkazu můžeme potvrdit, že služba běží. Chcete-li zajistit, aby se služba spustila při spuštění, použijte příkaz enable:
sudo systemctl enable squid
4. Konfigurace vašeho webového prohlížeče
Než provedete jakékoli změny v konfiguračním souboru olihně, musíte změnit některá nastavení ve svém webovém prohlížeči. Otevřete tedy webový prohlížeč a otevřete „Nastavení sítě“, poté přejděte na „Nastavení proxy“. Klikněte na konfiguraci „manuální proxy“ a zadejte IP_Address vašeho proxy serveru chobotnice na proxy HTTP liště a číslo portu (ve výchozím nastavení je port proxy squid 3128). Nyní bude squid proxy procházet vaší IP_Address. Můžete to zkontrolovat zadáním libovolné adresy URL do webového prohlížeče; zobrazí vám to chybu, že přístup odepřen, a abychom přístup povolili, musíme provést změny v konfiguračním souboru squid.
5. Konfigurace Squid
Výchozí konfigurační soubor Squid se nachází v /etc/squid/
adresář a hlavní konfigurační soubor se nazývá squid.conf
. Tento soubor obsahuje většinu konfiguračních direktiv, které lze upravit, aby se změnilo chování Squid. Řádky začínající #
, jsou komentovány nebo nejsou čteny souborem. Tyto komentáře slouží k vysvětlení, co znamenají související konfigurační nastavení.
Chcete-li upravit konfigurační soubor, začněme vytvořením zálohy původního souboru pro případ, že bychom potřebovali vrátit nějaké změny, pokud se něco pokazí, nebo to použít k porovnání nových konfigurací souboru.
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
Nyní, když byla vytvořena kopie jako záložní soubor, můžeme provést změny v souboru „squid.conf“.
Chcete-li otevřít soubor „squid.conf“ ve vim, zadejte tento příkaz:
sudo vim /etc/squid/squid.conf
Přejděte na řádek
http_access deny all
Změňte jej na:
http_access allow all
Aby se změny projevily, budete muset restartovat proxy server squid. Použijte tento příkaz:
sudo systemctl restart squid
Nyní znovu zkontrolujte webový prohlížeč, zadejte jakoukoli adresu URL a mělo by to fungovat.
6. Používání squid proxy ACL (Access Control List)
Můžeme také použít Squid k řízení přístupu na různé webové stránky (webový provoz) tím, že je povolíme nebo zablokujeme. Chcete-li tak učinit, přejděte na řádek acl CONNECT method CONNECT
.
A pod tento řádek napište ACL (seznam řízení přístupu), abyste zablokovali webové stránky, které chcete.
acl block_websites dstdomain .facebook.com .youtube.com .instagram.com
Poté prohlášení odmítněte.
http_access deny block_websites
Uložte změny a chcete-li zkontrolovat, zda jsou vaše blokované webové stránky blokovány nebo ne, restartujte službu squid a ověřte adresu URL ve webovém prohlížeči.
Pomocí ACL můžete uživateli také zablokovat stahování konkrétních souborů, jako jsou audio a video soubory .
acl media_files urlpath_regex -i \.(mp3|mp4|FLV|AVI|MKV)
Zabrání uživateli ve stahování audio nebo video souborů s příponami jako mp3, mp4, FLV atd. Přidejte libovolnou příponu souboru, které chcete zabránit ve stahování. Nyní pod tento řádek napište příkaz odmítnutí.
http_access deny media_files
Stahování mediálních souborů pak bude zablokováno.
7. Použití Squid k ukládání webových stránek do mezipaměti
Proxy servery se také používají ke zvýšení výkonu sítě rychlejším načítáním webové stránky ukládáním dat webu do mezipaměti. Můžete také změnit umístění adresáře, kam by měla být uložena data uložená v mezipaměti. Kromě toho můžete také změnit velikost souboru mezipaměti a ne. adresářů, do kterých by byla data uložena.
Chcete-li provést změny, otevřete squid.conf
soubor a přejděte na následující řádek:
#cache_dir ufs /var/spool/squid 100 16 256
Tento řádek bude ve výchozím nastavení okomentován, takže tento řádek odkomentujte odstraněním #
podepsat.
Ve výše uvedeném řádku je fráze „100 16 256 “. 100 zobrazuje velikost souboru mezipaměti a můžete ji změnit na libovolnou velikost, například 300. 16 zobrazuje počet adresářů, ve kterých je uložen soubor mezipaměti. 256 ukazuje ne. podadresářů.
cache_dir ufs /var/spool/squid 100 16 256
Můžete také změnit velikost souboru mezipaměti přidáním následujícího řádku do souboru „squid.conf“:
cache_mem 300 MB
Pokud chcete změnit cestu k adresáři souboru cache, vytvořte novou strukturu dir pomocí tohoto příkazu:
sudo mkdir -p /path/where/you/want/to/place/file
Chcete-li změnit vlastnictví adresáře mezipaměti na squid proxy, musíte provést tento příkaz:
sudo chown -R proxy:proxy /path/where/you/want/to/place/file
Nyní zastavte službu squid pomocí tohoto příkazu:
sudo systemctl stop squid
A pak spusťte příkaz s tímto příkazem, abyste vytvořili chybějící adresáře mezipaměti v novém adresáři mezipaměti:
sudo squid -z
Nyní spusťte službu squid znovu pomocí příkazu níže:
sudo systemctl start squid
Koneckonců
V této příručce se nám podařilo nainstalovat a nakonfigurovat server proxy squid. Squid proxy je velmi dobrý nástroj, který lze použít v organizacích nebo u malých poskytovatelů internetových služeb k řízení webového provozu a přístupu k internetu. Zvyšuje rychlost procházení webu a poskytuje bezpečnostní mechanismy pro webový provoz.