Squid je caching a forwarding HTTP web proxy. Oliheň má mnoho funkcí a používá se v různých situacích, jako je zrychlení webového serveru ukládáním opakovaných požadavků do mezipaměti, ukládání vyhledávání webu a DNS do mezipaměti, filtrování provozu, blokování webových stránek atd. Je napsán v C++ a distribuován pod GNU GPL licence.
Oliheň je považován za nejspolehlivější software pro kontrolu obsahu a od posledních 2 desetiletí jej používá mnoho organizací.
V tomto článku instalujeme proxy server Squid na Rocky Linux 8 nebo AlmaLinux 8. I když podobných článků je již na webu k dispozici příliš mnoho. Tento článek však píšeme tak, aby obsahoval drobné (ale důležité) kroky, které ostatní autoři obvykle přehlížejí.
Tento článek silně zdůrazňuje instalaci a počáteční konfiguraci proxy serveru Squid na Rocky Linux 8 nebo AlmaLinux 8. Pokud tedy chcete nakonfigurovat některá pokročilá nastavení v Squid proxy, důrazně vám doporučujeme zakoupit Squid Proxy Server 3.1:Příručka pro začátečníky od Packt Publishing .
Specifikace prostředí:
Poskytli jsme virtuální stroj Rocky Linux 8 nebo AlmaLinux 8 s následující specifikací.
- CPU – 3,4 GHz (1 jádro)
- Paměť – 1 GB
- Úložiště – 20 GB
- Operační systém – Rocky Linux 8, AlmaLinux 8
- Název hostitele – squid-proxy-01.example.com
- IP adresa – 192.168.116.214/24
Instalace Squid Web Proxy na Rocky Linux 8 nebo AlmaLinux 8:
Spojte se s squid-proxy-01.example.com pomocí ssh jako root uživatel.
Softwarový balíček Squid je k dispozici ve standardních úložištích yum, proto instalujeme proxy server Squid pomocí yum příkaz.
[[email protected] ~]# yum install -y squid
...
Installed:
squid.x86_64 7:3.5.20-12.el7_6.1
Dependency Installed:
libecap.x86_64 0:1.0.0-1.el7
perl.x86_64 4:5.16.3-294.el7_6
perl-Carp.noarch 0:1.26-244.el7
perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7
perl-DBI.x86_64 0:1.627-4.el7
perl-Data-Dumper.x86_64 0:2.145-3.el7
perl-Digest.noarch 0:1.17-245.el7
perl-Digest-MD5.x86_64 0:2.52-3.el7
perl-Encode.x86_64 0:2.51-7.el7
perl-Exporter.noarch 0:5.68-3.el7
perl-File-Path.noarch 0:2.09-2.el7
perl-File-Temp.noarch 0:0.23.01-3.el7
perl-Filter.x86_64 0:1.49-3.el7
perl-Getopt-Long.noarch 0:2.40-3.el7
perl-HTTP-Tiny.noarch 0:0.033-3.el7
perl-IO-Compress.noarch 0:2.061-2.el7
perl-Net-Daemon.noarch 0:0.48-5.el7
perl-PathTools.x86_64 0:3.40-5.el7
perl-PlRPC.noarch 0:0.2020-14.el7
perl-Pod-Escapes.noarch 1:1.04-294.el7_6
perl-Pod-Perldoc.noarch 0:3.20-4.el7
perl-Pod-Simple.noarch 1:3.28-4.el7
perl-Pod-Usage.noarch 0:1.63-3.el7
perl-Scalar-List-Utils.x86_64 0:1.27-248.el7
perl-Socket.x86_64 0:2.010-4.el7
perl-Storable.x86_64 0:2.45-3.el7
perl-Text-ParseWords.noarch 0:3.29-4.el7
perl-Time-HiRes.x86_64 4:1.9725-3.el7
perl-Time-Local.noarch 0:1.2300-2.el7
perl-constant.noarch 0:1.27-2.el7
perl-libs.x86_64 4:5.16.3-294.el7_6
perl-macros.x86_64 4:5.16.3-294.el7_6
perl-parent.noarch 1:0.225-244.el7
perl-podlators.noarch 0:2.5.1-3.el7
perl-threads.x86_64 0:1.87-4.el7
perl-threads-shared.x86_64 0:1.43-6.el7
squid-migration-script.x86_64 7:3.5.20-12.el7_6.1
Complete!
Povolte a spusťte službu proxy Squid.
[[email protected] ~]# systemctl enable --now squid.service
Created symlink from /etc/systemd/system/multi-user.target.wants/squid.service to /usr/lib/systemd/system/squid.service.
Povolte službu proxy Squid ve firewallu Rocky Linux 8 nebo AlmaLinux 8.
[[email protected] ~]# firewall-cmd --permanent --add-service=squid
success
[[email protected] ~]# firewall-cmd --reload
success
Konfigurace Squid Web Proxy na Rocky Linux 8 nebo AlmaLinux 8:
Globální konfigurační soubor pro web proxy Squid je /etc/squid/squid.conf . Můžeme jej upravit podle našich požadavků.
[[email protected] ~]# vi /etc/squid/squid.conf
Přidejte do něj následující směrnice.
dns_v4_first on
Chcete-li načíst změny, restartujte službu proxy Squid.
[[email protected] ~]# systemctl restart squid
Nakonfigurujte prohlížeč klienta pro použití Squid Proxy:
Spusťte klientský prohlížeč a do jeho nastavení přidejte náš Squid proxy.
Chcete-li to provést, otevřete Internet Explorer a přejděte na Možnosti Internetu .
Přejděte na Připojení Tab a klikněte na Nastavení LAN .
Ve výše uvedeném dialogovém okně zadejte Squid Proxy IP adresu a port.
Klikněte na OK ukončete Možnosti Internetu .
Procházejte https://ahmermansoor.blogspot.com v Internet Explorer .
Výše uvedená webová stránka byla poskytována prostřednictvím našeho proxy serveru Squid.
Konfigurace ověřování klienta Squid:
Ke konfiguraci uživatelského ověřování pro proxy server Squid můžeme použít základní ověřování HTTP.
Nainstalujte httpd-tools balíček pomocí yum příkaz.
[[email protected] ~]# yum install -y httpd-tools
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.ges.net.pk
* extras: mirrors.ges.net.pk
* updates: mirrors.ges.net.pk
Resolving Dependencies
--> Running transaction check
---> Package httpd-tools.x86_64 0:2.4.6-90.el7.centos will be installed
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-tools-2.4.6-90.el7.centos.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-tools-2.4.6-90.el7.centos.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-5.el7 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
httpd-tools x86_64 2.4.6-90.el7.centos base 91 k
Installing for dependencies:
apr x86_64 1.4.8-5.el7 base 103 k
apr-util x86_64 1.5.2-6.el7 base 92 k
Transaction Summary
================================================================================
Install 1 Package (+2 Dependent packages)
Total download size: 286 k
Installed size: 584 k
Downloading packages:
(1/3): httpd-tools-2.4.6-90.el7.centos.x86_64.rpm | 91 kB 00:00
(2/3): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:01
(3/3): apr-1.4.8-5.el7.x86_64.rpm | 103 kB 00:02
--------------------------------------------------------------------------------
Total 96 kB/s | 286 kB 00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : apr-1.4.8-5.el7.x86_64 1/3
Installing : apr-util-1.5.2-6.el7.x86_64 2/3
Installing : httpd-tools-2.4.6-90.el7.centos.x86_64 3/3
Verifying : apr-1.4.8-5.el7.x86_64 1/3
Verifying : httpd-tools-2.4.6-90.el7.centos.x86_64 2/3
Verifying : apr-util-1.5.2-6.el7.x86_64 3/3
Installed:
httpd-tools.x86_64 0:2.4.6-90.el7.centos
Dependency Installed:
apr.x86_64 0:1.4.8-5.el7 apr-util.x86_64 0:1.5.2-6.el7
Complete!
Vytvořte soubor s hesly a přidejte squiduser uživatel v něm.
[[email protected] ~]# htpasswd -c /etc/squid/passwd squiduser
New password:
Re-type new password:
Adding password for user squiduser
Změňte vlastníka hesla soubor.
[[email protected] ~]# chown squid.squid /etc/squid/passwd
Nyní upravte konfigurační soubor Squid a přidejte nastavení ověřování klienta.
[[email protected] ~]# vi /etc/squid/squid.conf
Za seznamy ACL portů přidejte následující direktivy.
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
Restartujte službu proxy Squid, aby se změny projevily.
[[email protected] ~]# systemctl restart squid
Otevřete adresu URL https://ahmermansoor.blogspot.com v prohlížeči klienta.
Tentokrát požaduje ověření.
Výukový program pro použití příkazu Timeout v systému Linux
Vytvoření vlastní černé listiny pro blokování webových stránek prostřednictvím Squid Proxy:
Vytvořte soubor černé listiny pro blokování webových stránek.
[[email protected] ~]# vi /etc/squid/blacklist
a přidejte do něj následující adresy URL.
.yahoo.com
.facebook.com
Upravte konfigurační soubor Squid proxy a přidejte nastavení černé listiny.
[[email protected] ~]# vi /etc/squid/squid.conf
přidejte následující direktivy za ACL portů.
acl bad_urls dstdomain "/etc/squid/blacklist"
http_access deny bad_urls
Chcete-li načíst změny, restartujte službu proxy Squid.
[[email protected] ~]# systemctl restart squid
Procházet adresu URL http://www.yahoo.com v prohlížeči klienta.
Můžete vidět, že http://www.yahoo.com byl zablokován naším proxy serverem Squid.
Úspěšně jsme nainstalovali Squid proxy server na Rocky Linux 8 nebo AlmaLinux 8