So erstellen Sie einen HTTP -Proxy mit Squid auf CentOS 7/8
- 5029
- 1371
- Matteo Möllinger
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.
- « So installieren Sie Airsonic Media Server auf CentOS 7
- Zammad - ein Open -Source -Helpdesk und ein Support -Ticketsystem »