Squid ist ein Caching- und Weiterleitungs-HTTP-Webproxy. Tintenfisch hat viele Funktionen und wird in einer Vielzahl von Situationen verwendet, z. B. zum Beschleunigen von Webservern durch Zwischenspeichern wiederholter Anforderungen, Zwischenspeichern von Web- und DNS-Lookups, Filtern von Datenverkehr, Blockieren von Websites usw. Es ist in C++ geschrieben und wird unter vertrieben GNU GPL Lizenz.
Tintenfisch gilt als die zuverlässigste Content-Control-Software und wird seit den letzten 2 Jahrzehnten von vielen Organisationen verwendet.
In diesem Artikel installieren wir den Squid-Proxy-Server auf Rocky Linux 8 oder AlmaLinux 8. Obwohl bereits zu viele ähnliche Artikel im Internet verfügbar sind. Aber wir schreiben diesen Artikel, um die kleinen (aber wichtigen) Schritte einzubeziehen, die normalerweise von den anderen Autoren übersehen werden.
Dieser Artikel legt großen Wert auf die Installation und Erstkonfiguration des Squid-Proxy-Servers auf Rocky Linux 8 oder AlmaLinux 8. Wenn Sie also bereit sind, einige erweiterte Einstellungen im Squid-Proxy zu konfigurieren, empfehlen wir Ihnen dringend, Squid-Proxy-Server 3.1 zu erwerben:Anfängerleitfaden von Packt Publishing .
Umgebungsspezifikation:
Wir haben eine virtuelle Rocky Linux 8- oder AlmaLinux 8-Maschine mit der folgenden Spezifikation bereitgestellt.
- Prozessor – 3,4 GHz (1 Kern)
- Erinnerung – 1 GB
- Speicherung – 20 GB
- Betriebssystem – Rocky Linux 8, AlmaLinux 8
- Hostname – squid-proxy-01.example.com
- IP-Adresse – 192.168.116.214/24
Installieren von Squid Web Proxy auf Rocky Linux 8 oder AlmaLinux 8 :
Verbinden Sie sich mit squid-proxy-01.example.com mit ssh als root Benutzer.
Das Squid-Softwarepaket ist in Standard-yum-Repositories verfügbar, daher installieren wir den Squid-Proxy mit yum Befehl.
[[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!
Aktivieren und starten Sie den Squid-Proxy-Dienst.
[[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.
Erlauben Sie den Squid-Proxy-Dienst in der Rocky Linux 8- oder AlmaLinux 8-Firewall.
[[email protected] ~]# firewall-cmd --permanent --add-service=squid
success
[[email protected] ~]# firewall-cmd --reload
success
Konfigurieren Sie den Squid-Web-Proxy auf Rocky Linux 8 oder AlmaLinux 8 :
Die globale Konfigurationsdatei für den Squid-Webproxy ist /etc/squid/squid.conf . Wir können es unseren Anforderungen entsprechend anpassen.
[[email protected] ~]# vi /etc/squid/squid.conf
Fügen Sie darin folgende Anweisungen hinzu.
dns_v4_first on
Starten Sie den Squid-Proxy-Dienst neu, um die Änderungen zu laden.
[[email protected] ~]# systemctl restart squid
Konfigurieren Sie den Browser des Clients für die Verwendung von Squid Proxy:
Starten Sie den Client-Browser und fügen Sie unseren Squid-Proxy in seinen Einstellungen hinzu.
Öffnen Sie dazu den Internet Explorer und gehen Sie zu Internetoptionen .
Gehen Sie zu Verbindungen Tab und klicken Sie auf LAN-Einstellungen .
Geben Sie die IP-Adresse und den Port des Squid-Proxys in das obige Dialogfeld ein.
Klicken Sie auf OK um die Internetoptionen zu verlassen .
Durchsuchen Sie https://ahmermansoor.blogspot.com im Internet Explorer .
Die obige Website wurde über unseren Squid-Proxy-Server bereitgestellt.
Squid-Client-Authentifizierung konfigurieren:
Wir können die HTTP-Basisauthentifizierung verwenden, um die benutzerbasierte Authentifizierung für den Squid-Proxyserver zu konfigurieren.
Installieren Sie httpd-tools Paket mit yum Befehl.
[[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!
Erstellen Sie die Passwortdatei und fügen Sie squiduser hinzu Benutzer darin.
[[email protected] ~]# htpasswd -c /etc/squid/passwd squiduser
New password:
Re-type new password:
Adding password for user squiduser
Ändern Sie den Besitzer des passwd Datei.
[[email protected] ~]# chown squid.squid /etc/squid/passwd
Bearbeiten Sie jetzt die Squid-Konfigurationsdatei und fügen Sie Client-Authentifizierungseinstellungen hinzu.
[[email protected] ~]# vi /etc/squid/squid.conf
Fügen Sie die folgenden Anweisungen nach den ACLs der Ports hinzu.
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
Starten Sie den Squid-Proxydienst neu, um die Änderungen zu übernehmen.
[[email protected] ~]# systemctl restart squid
Öffnen Sie die URL https://ahmermansoor.blogspot.com im Browser des Clients.
Dieses Mal fordert es zur Authentifizierung auf.
Tutorial zur Verwendung des Timeout-Befehls unter Linux
Erstellen einer benutzerdefinierten Blacklist zum Blockieren von Websites über den Squid-Proxy:
Erstellen Sie eine Blacklist-Datei, um Websites zu blockieren.
[[email protected] ~]# vi /etc/squid/blacklist
und fügen Sie darin folgende URLs hinzu.
.yahoo.com
.facebook.com
Bearbeiten Sie die Squid-Proxy-Konfigurationsdatei, um Blacklist-Einstellungen hinzuzufügen.
[[email protected] ~]# vi /etc/squid/squid.conf
fügen Sie die folgenden Anweisungen nach den ACLs der Ports hinzu.
acl bad_urls dstdomain "/etc/squid/blacklist"
http_access deny bad_urls
Starten Sie den Squid-Proxy-Dienst neu, um die Änderungen zu laden.
[[email protected] ~]# systemctl restart squid
Durchsuchen Sie die URL http://www.yahoo.com im Browser des Clients.
Sie können das auf http://www.yahoo.com sehen wurde von unserem Squid-Proxyserver blockiert.
Wir haben den Squid-Proxy-Server erfolgreich auf Rocky Linux 8 oder AlmaLinux 8 installiert