GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen Sie einen HTTP-Proxy mit Squid unter CentOS 8

Squid ist ein kostenloser Open-Source-Web-Proxy-Caching-Server, der verschiedene Protokolle wie HTTP, HTTPS, FTP und SSL unterstützt. Es wird hauptsächlich als Caching-Proxyserver verwendet und kann die Serverleistung erheblich verbessern, indem es wiederholte Anfragen zwischenspeichert, den Webverkehr filtert und auf geobeschränkte Inhalte zugreift.

Squid kann als Vermittler zwischen dem Client und dem Webserver fungieren. Nachdem Sie den Squid-Proxy verbunden haben, können Sie anonym auf Internetdienste zugreifen und lokale Netzwerkbeschränkungen umgehen.

In diesem Tutorial lernen wir, wie man Squid Proxy unter CentOS 8 installiert und konfiguriert.

Voraussetzungen

  • Ein frischer CentOS 8 VPS auf der Atlantic.Net Cloud Platform
  • Ein auf Ihrem Server konfiguriertes Root-Passwort

Schritt 1 – Erstellen Sie einen Atlantic.Net Cloud-Server

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie CentOS 8 als Betriebssystem mit mindestens 1 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem CentOS 8-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

dnf update -y

Schritt 2 – Installieren Sie den Squid-Proxy-Server

Das Squid-Paket ist im Standard-Repository von CentOS 8 verfügbar. Sie können es installieren, indem Sie einfach den folgenden Befehl ausführen:

dnf install squid -y

Starten Sie nach der Installation den Squid-Proxy-Dienst und aktivieren Sie ihn beim Neustart mit dem folgenden Befehl:

systemctl start squid
systemctl enable squid

Schritt 3 – IP-basierte Authentifizierung konfigurieren

Es gibt mehrere Möglichkeiten, Squid so zu konfigurieren, dass es Verbindungen akzeptiert und als HTTP-Proxy dient. In diesem Abschnitt werden wir Squid so konfigurieren, dass Clients anhand ihrer IP-Adressen authentifiziert werden.

Öffnen Sie die Squid-Standardkonfigurationsdatei unter /etc/squid/squid.conf:

nano /etc/squid/squid.conf

Fügen Sie am Anfang der Datei die folgende Zeile hinzu:

acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
http_access allow user1 user2

Speichern und schließen Sie die Datei, wenn Sie fertig sind, und starten Sie dann den Squid-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart squid

Ersetzen Sie im obigen Schritt Ihre relevanten Informationen wie unten :

Benutzer1 und Benutzer2 ist der Name, der die Client-Computer identifiziert.

192.168.0.10 und 192.168.0.11 ist die IP-Adresse des Client-Computers.

Schritt 4 – Benutzerbasierte Authentifizierung konfigurieren

In diesem Abschnitt werden wir Squid konfigurieren, um einen Client mit Benutzernamen und Passwörtern zu authentifizieren.

Installieren Sie zunächst das Apache-Dienstprogrammpaket in Ihrem System:

dnf install httpd-tools -y

Erstellen Sie als Nächstes eine Datei zum Speichern von Squid-Benutzern und Passwörtern und ändern Sie den Eigentümer der Passwortdatei:

touch /etc/squid/squid_passwd
chown squid /etc/squid/squid_passwd

Erstellen Sie als Nächstes mit dem folgenden Befehl einen neuen Squid-Benutzer mit dem Namen user1:

htpasswd /etc/squid/squid_passwd user1

Sie werden aufgefordert, ein Passwort für diesen Benutzer zu erstellen, wie unten gezeigt:

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

Erstellen Sie als Nächstes einen weiteren Benutzer namens user2 mit dem folgenden Befehl:

htpasswd /etc/squid/squid_passwd user2

Geben Sie wie unten gezeigt ein Passwort für diesen Benutzer ein:

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

Sie können nun beide Benutzer mit dem folgenden Befehl verifizieren:

cat /etc/squid/squid_passwd

Sie sollten die folgende Ausgabe erhalten:

user1:$apr1$szXO3OTj$37MuRy2V06mIAOiRpFjnr1
user2:$apr1$MCAckv0h$0VwDLLhAfMLaLm3Xvk3H/0

Bearbeiten Sie als Nächstes die Squid-Konfigurationsdatei:

nano /etc/squid/squid.conf

Fügen Sie am Anfang der Datei die folgenden Zeilen hinzu:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

Speichern und schließen Sie die Datei und starten Sie dann den Squid-Proxydienst neu, um die Änderungen zu übernehmen:

systemctl restart squid

Schritt 5 – Kombinierte Authentifizierung konfigurieren

In diesem Abschnitt werden wir Squid konfigurieren, um einen Client anhand der IP-Adresse und des Benutzernamens/Passworts zu authentifizieren.

Bearbeiten Sie die Squid-Standardkonfigurationsdatei:

nano /etc/squid/squid.conf

Suchen Sie die folgenden Zeilen, die Sie zuvor hinzugefügt haben:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
http_access allow user1 user2

Und ersetzen Sie sie durch die folgenden Zeilen:

acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow user1 user2 ncsa_users

Speichern und schließen Sie die Datei und starten Sie dann den Squid-Proxydienst neu, um die Änderungen zu übernehmen:

systemctl restart squid

Schritt 6 – Konfigurieren Sie Squid, um den Datenverkehr zu anonymisieren

Als Nächstes müssen Sie einige Regeln hinzufügen, um Client-IP-Adressen von den Servern zu maskieren, die Datenverkehr von Ihrem Squid-HTTP-Proxy empfangen.

Sie können dies tun, indem Sie die Squid-Standardkonfigurationsdatei bearbeiten:

nano /etc/squid/squid.conf

Fügen Sie am Anfang der Datei die folgenden Zeilen hinzu:

forwarded_for off
request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all

Speichern und schließen Sie die Datei und starten Sie dann den Squid-Proxydienst neu, um die Änderungen zu übernehmen:

systemctl restart squid

Schritt 7 – Squid-Proxy testen

An diesem Punkt ist Ihr Squid-Proxy-Server so konfiguriert, dass er Client-Verbindungen basierend auf der IP-Adresse und dem Benutzernamen/Passwort akzeptiert und den Internetverkehr anonym verarbeitet.

Als Nächstes müssen Sie die Browsereinstellungen Ihres Client-Computers konfigurieren, um Ihren Squid-Server als HTTP-Proxy zu verwenden.

Öffnen Sie auf dem Client-Computer Mozilla Firefox und klicken Sie wie unten gezeigt auf Bearbeiten => Einstellungen:

Scrollen Sie nach unten zum Abschnitt Netzwerkeinstellungen und klicken Sie auf Einstellungen . Sie sollten die folgende Seite sehen:

Wählen Sie das Optionsfeld Manuelle Proxy-Konfiguration, geben Sie die IP-Adresse Ihres Squid-Servers in das Feld HTTP-Host und 3128 in das Feld Port ein, aktivieren Sie das Kontrollkästchen „Diesen Proxy-Server für alle Protokolle verwenden“ und klicken Sie auf OK. stark> Schaltfläche, um die Einstellungen zu speichern.

Jetzt ist Ihr Browser so konfiguriert, dass er über den Squid-Proxy im Internet surft.

Geben Sie zur Überprüfung die URL https://www.whatismyip.com/ ein. Sie werden aufgefordert, einen Benutzernamen und ein Passwort einzugeben, wie unten gezeigt:

Geben Sie den Benutzernamen und das Passwort Ihres Squid-Proxy-Servers ein, die Sie zuvor erstellt haben, und klicken Sie auf OK Taste. Sie sollten die folgende Seite sehen:

Auf der obigen Seite sollten Sie anstelle der IP-Adresse Ihres Client-Computers die IP-Adresse Ihres Squid-Servers sehen.

Schlussfolgerung

In der obigen Anleitung haben Sie gelernt, wie Sie Squid als HTTP-Proxy-Server unter CentOS 8 konfigurieren und Ihren Browser für die Verwendung konfigurieren. Sie können jetzt anonym im Internet surfen und verhindern, dass Firefox Sie verfolgt. Probieren Sie Squid noch heute auf einem VPS-Hosting-Konto von Atlantic.Net aus!


Linux
  1. Squid-Proxy-Server

  2. Wie verwende ich die CONNECT-Methode auf einem HTTP-Proxy mit Telnet?

  3. So installieren Sie den Squid-Proxy unter CentOS 8

  4. Wie kann man mit einem anderen Server per SSH auf einen Server zugreifen?

  5. So erstellen Sie ein SSH-Banner in CentOS/RHEL Server

So richten Sie einen FTP-Server unter CentOS 8 mit VSFTPD ein

So richten Sie einen TeamSpeak-Server unter CentOS 7 ein

So installieren Sie Nginx unter CentOS 7

So konfigurieren Sie NGINX auf einem CentOS 7-Server

So richten Sie Apache als Frontend-Proxy-Server für Node.js CentOS 8 ein

So installieren Sie den Squid-Proxyserver unter Ubuntu 18.04