So erstellen Sie einen HTTP -Proxy mit Squid auf CentOS 7/8

So erstellen Sie einen HTTP -Proxy mit Squid auf CentOS 7/8

Web -Proxys gibt es schon seit einiger Zeit und wurden von Millionen von Benutzern auf der ganzen Welt verwendet. Sie haben eine breite Palette von Zwecken, die beliebteste Online -Anonymität sind, aber es gibt andere Möglichkeiten, wie Sie Web -Proxys nutzen können. Hier sind ein paar Ideen:

  • Online -Anonymität
  • Verbesserung der Online -Sicherheit
  • Verbesserung der Ladezeiten
  • Blockieren Sie böswilligen Verkehr
  • Melden Sie Ihre Online -Aktivität an
  • Regionale Einschränkungen umgehen
  • In einigen Fällen können die Bandbreitenverwendung reduziert werden

Wie der Proxy -Server funktioniert

Der Proxy -Server ist ein Computer, der als Vermittler zwischen dem Client und anderen Servern verwendet wird, aus denen der Client Ressourcen anfordern kann. Ein einfaches Beispiel dafür ist, wenn ein Kunde Online -Anfragen stellt (z. B. eine Webseite öffnen möchte), stellt er zuerst eine Verbindung zum Proxy -Server her.

Der Proxy -Server überprüft dann seinen lokalen Festplatten -Cache und wenn die Daten dort gefunden werden können, wird die Daten an den Client zurückgegeben. Clients) und dann die Daten an den Client zurückgeben. Der Proxy -Server wird versucht, die neuen Daten zu speichern und sie für zukünftige Anforderungen an denselben Server zu verwenden.

Was ist Tintenfisch -Proxy

Tintenfisch ist ein Web -Proxy, der meine breite Palette von Organisationen verwendet hat. Es wird oft als Caching -Stellvertreter und die Verbesserung der Reaktionszeiten und die Reduzierung der Bandbreitenverwendung verwendet.

Für den Zweck dieses Artikels werde ich installieren Tintenfisch Auf einem Linode CentOS 7 VPS und verwenden Sie es als HTTP -Proxy -Server.

So installieren Sie Tintenfisch am CentOS 7/8

Bevor wir anfangen, sollten Sie das wissen Tintenfisch, hat keine Mindestanforderungen.

Tintenfisch ist im Basis -Repository enthalten und daher ist die Installation einfach und unkompliziert. Stellen Sie vor dem Installieren jedoch sicher, dass Ihre Pakete durch Ausführen auf dem neuesten Stand sind.

# yum -y Update 

Fahren Sie mit den folgenden Befehlen fort.

# yum -y -y -Squid # systemctl start squid # systemCTL aktivieren Squid 

Zu diesem Zeitpunkt sollte Ihr Tintenfisch -Web -Proxy bereits ausgeführt werden und Sie können den Status des Dienstes mit überprüfen.

# Systemctl Status Tintenfisch 
Probenausgabe
 Tintenfisch.Service - Squid Caching Proxy geladen: geladen (/usr/lib/systemd/system/squid.Service; ermöglicht; Anbieter Voreinstellung: Behindert) aktiv: aktiv (laufend) Seit der Schluss 2018-09-20 10:07:23 UTC; Vor 5 Minuten Hauptpid: 2005 (Squid) CGGROUP: /SYSTEM.Scheiben/Tintenfisch.Service ├─2005/usr/sbin/squid -f/etc/squid/squid.Conf ├─2007 (Squid -1) -F/etc/Squid/Tintenfisch.conf └─2008 (logfile-daemon)/var/log/squid/access.Anmeldung 20. September 10:07:23 Tecmint Systemd [1]: Starten von Squid Caching Proxy… 20. September 10:07:23 Tecmint Squid [2005]: Squid Parent: Wird 1 Kinder am 20. September 10:07:23 TECMINT Squid [2005) starten [2005 ]: Squid Parent: (Squid-1) Prozess 2007 Start 20. September 10:07:23 Tecmint Systemd [1]: Start Squid Caching Proxy. 

Hier sind einige wichtige Dateistandorte, von denen Sie wissen sollten:

  • Tintenfischkonfigurationsdatei: /etc/squid/squid.Conf
  • Tintenfischzugriffsprotokoll: /var/log/squid/access.Protokoll
  • Tintenfisch -Cache -Protokoll: /var/log/squid/cache.Protokoll

Ein Minimum Tintenfisch.Conf Konfigurationsdatei (ohne Kommentare) sieht folgendermaßen aus:

ACL Localnet SRC 10.0.0.0/8 # RFC1918 Mögliches internes Netzwerk ACL Localnet SRC 172.16.0.0/12 # RFC1918 Mögliches internes Netzwerk ACL LOCALNET SRC 192.168.0.0/16 # RFC1918 Mögliches internes Netzwerk ACL Localnet SRC FC00 ::/7 # RFC 4193 LOCAL Private Network Range ACL Localnet SRC Fe80 ::/10 # RFC 4291 LINK-Local (direkt gesteckt) Maschinen ACL SSL_PORTS Port 443 ACL Safe_Ports Port 80 | HTTP ACL Safe_Ports Port 591 # FileMaker ACL Safe_Ports Port 777 # Multiling Http ACL Connect -Methode Connect http_access Deny !Safe_ports http_access leugnen Connect !Ssl_ports http_access erlauben localhost Manager http_access Deny Manager http_access erlauben localnet http_access localhost http_access verweigern alle http_port 3128 coredump_dir/var/spool/squid -goppatter ^ftp ^ftp: 1440 20% 1000% 10080 (squid_patter ^ /| \?) 0 0% 0 refresh_pattern . 0 20% 4320 

Konfigurieren von Tintenfisch als HTTP -Proxy

Hier zeigen wir Ihnen, wie Sie Squid als HTTP -Proxy nur mit der Client -IP -Adresse für die Authentifizierung konfigurieren können.

Fügen Sie Tintenfisch -ACLs hinzu

Wenn Sie zulassen möchten, dass die IP -Adresse über Ihren neuen Proxy -Server auf das Web zugreift, müssen Sie ein neues hinzufügen ACL (Zugriffskontrollliste) Zeile in der Konfigurationsdatei.

# vim/etc/squid/squid.Conf 

Die Zeile, die Sie hinzufügen sollten, lautet:

ACL localnet src xx.Xx.Xx.Xx 

Wo Xx.Xx.Xx.Xx ist die tatsächliche Client -IP -Adresse, die Sie hinzufügen möchten. Die Zeile sollte am Anfang der Datei hinzugefügt werden, in der die ACLs definiert sind. Es ist eine gute Praxis, neben ACL einen Kommentar hinzuzufügen, der beschreibt, wer diese IP -Adresse verwendet.

Es ist wichtig zu beachten, dass Sie die öffentliche IP -Adresse des Kunden hinzufügen sollten, wenn sich Squid außerhalb Ihres lokalen Netzwerks befindet.

Sie müssen Tintenfisch neu starten, damit die neuen Änderungen wirksam werden können.

# Systemctl Neustart Tintenfisch 

Offene Tintenfisch -Proxy -Ports

Wie Sie möglicherweise in der Konfigurationsdatei gesehen haben, dürfen nur bestimmte Ports eine Verbindung herstellen. Sie können mehr hinzufügen, indem Sie die Konfigurationsdatei bearbeiten.

ACL safe_ports port xxx 

Wo Xxx ist der tatsächliche Port, den Sie laden möchten. Auch hier ist es eine gute Idee, einen Kommentar neben dem zu hinterlassen, für den der Port verwendet wird.

Damit die Änderungen wirksam werden müssen, müssen Sie Tintenfisch noch einmal neu starten.

# Systemctl Neustart Tintenfisch 

Tintenfisch -Proxy -Client -Authentifizierung

Sie werden höchstwahrscheinlich möchten, dass Ihre Benutzer sich authentifizieren, bevor Sie den Proxy verwenden. Zu diesem Zweck können Sie eine grundlegende HTTP -Authentifizierung aktivieren. Es ist einfach und schnell zu konfigurieren.

Erstens brauchen Sie httpd-tools Eingerichtet.

# yum -y install httpd -tools 

Erstellen wir nun eine Datei, die später den Benutzernamen für die Authentifizierung speichert. Tintenfisch läuft mit dem Benutzer "Tintenfisch" Die Datei sollte also diesem Benutzer gehören.

# touch/etc/squid/passwd # Chown Squid:/etc/squid/passwd 

Jetzt werden wir einen neuen Benutzer angerufen erstellen "Proxyclient" und richten Sie sein Passwort ein.

# htpasswd/etc/squid/passwd proxyclient Neues Kennwort: Neues Passwort neutypieren: Hinzufügen von Kennwort für Benutzer Proxyclient 

Um die Authentifizierung zu konfigurieren, öffnen Sie nun die Konfigurationsdatei.

# vim/etc/squid/squid.Conf 

Nachdem die Ports ACLs die folgenden Zeilen hinzufügen:

auth_param grundlegendes Programm/usr/lib64/squid/basic_ncsa_auth/etc/squid/passwd auth_param grundlegendes child 

Speichern Sie die Datei und starten Sie Squid neu, damit die neuen Änderungen wirksam werden können:

# Systemctl Neustart Tintenfisch 

Blockieren Sie Websites auf Tintenfisch -Proxy

Schließlich werden wir einen letzten schaffen ACL Das wird uns helfen, unerwünschte Websites zu blockieren. Erstellen Sie zunächst die Datei, mit der die auf die schwarzen Liste gelieferten Websites gespeichert werden können.

# Touch/etc/squid/BlackListed_sites.ACL 

Sie können einige Domänen hinzufügen, die Sie blockieren möchten. Zum Beispiel:

.Badsite1.com .Badsite2.com 

Der Verfahrenspunkt fordert Squid an, alle Verweise auf diese Websites zu blockieren, einschließlich www.Badsite1, unterbinden.Badsite1.com, usw.

Öffnen Sie nun die Konfigurationsdatei von Squid's Configuration.

# vim/etc/squid/squid.Conf 

Kurz nachdem die Ports ACLs die folgenden zwei Zeilen hinzufügen:

ACL bad_urls dstomain "/etc/squid/blopristed_sites.ACL "http_access verweigern Bad_urls 

Speichern Sie nun die Datei und starten Sie Squid neu:

# Systemctl Neustart Tintenfisch 

Sobald alles korrekt konfiguriert ist, können Sie jetzt Ihren lokalen Clientbrowser oder den Netzwerkeinstellungen Ihres Betriebssystems so konfigurieren, dass Sie Ihren Squid HTTP -Proxy verwenden.

Abschluss

In diesem Tutorial haben Sie gelernt, wie man einen Tintenfisch -HTTP -Proxy -Server selbst installiert, sichert und konfiguriert. Mit den Informationen, die Sie gerade erhalten haben.

Wenn Sie die Extrameile gehen möchten, können Sie Squid sogar so konfigurieren, dass einige Websites während der Arbeitszeit blockiert werden, um Ablenkungen zu verhindern. Wenn Sie Fragen oder Kommentare haben, posten Sie sie bitte im Kommentarbereich unten.