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

So konfigurieren Sie den Squid-Proxyserver unter Ubuntu 20.04 LTS

In unserem vorherigen Beitrag So installieren Sie den Squid-Proxyserver unter Linux haben wir Ihnen die grundlegende Einführung in den Squid-Server und seine Installation im Linux-System gegeben. In diesem Beitrag werden wir den Squid-Proxyserver konfigurieren. Wir werden die folgenden Themen behandeln:

  1. Squid so konfigurieren, dass es auf einem anderen Port lauscht
  2. Konfigurieren des Hostnamens für den Squid-Proxy-Server
  3. Speichergröße des Squid-Cache festlegen
  4. Zu verwendende DNS-Nameserver angeben
  5. Zugriff auf bestimmte Websites im Squid-Proxy-Server verweigern
  6. Konfigurieren der Squid-Proxy-Client-Authentifizierung
  7. Konfigurieren von Clients für die Verbindung über den Squid-Proxy-Server

Hinweis: Die in diesem Artikel beschriebenen Befehle und Verfahren wurden auf Ubuntu 20.04 LTS getestet (Fokusfossa). Dieselben Befehle und Prozeduren gelten auch für die Debian-Distribution.

Voraussetzungen

  • Computer mit installiertem Ubuntu oder Debian
  • Sudo-Benutzer

Konfiguration des Squid-Proxy-Servers unter Linux

Die Konfigurationsdatei des Squid-Proxy-Servers befindet sich unter /etc/squid/squid.conf .aufführen. Diese Datei enthält Anweisungen, durch die der Squid-Proxy-Server konfiguriert wird.

Squid so konfigurieren, dass es auf einem anderen Port lauscht

Standardmäßig lauscht der Squid-Proxy-Server auf Port 3128 auf Datenverkehr von Client-Rechnern. Sie können es jedoch so konfigurieren, dass es auf einem anderen Port als dem Standardport mit http_port lauscht Richtlinie.

Bearbeiten Sie die Squid-Konfiguration mit dem folgenden Befehl:

$ sudo nano /etc/squid/squid.conf

Suchen Sie nun den folgenden Eintrag in der Konfigurationsdatei.

Hinweis: Sie können Strg+W verwenden um nach einer beliebigen Zeile zu suchen. Drücken Sie Strg+W, geben Sie Schlüsselwörter ein und drücken Sie die Eingabetaste.

http_port 3128

Ersetzen Sie nun 3128 durch die Portnummer, die der Squid-Proxyserver überwachen soll, sagen wir 3155 :

http_port 3155

Starten Sie jetzt den Squid-Proxyserverdienst neu, damit die Änderungen wirksam werden:

$ sudo service squid restart

Konfigurieren des Hostnamens für den Squid-Proxyserver

Sie können den Hostnamen für den Squid-Proxyserver konfigurieren, wenn er den Hostnamen des Computers nicht selbst bestimmen kann. Um den Hostnamen zu konfigurieren, können Sie den visible_hostname verwenden Richtlinie. Dieser Name wird von Squid in Fehlermeldungen, internen URLs, FTP-Verzeichnislisten usw. verwendet.

Bearbeiten Sie die Squid-Konfiguration mit dem folgenden Befehl:

$ sudo nano /etc/squid/squid.conf

Fügen Sie nun den folgenden Eintrag in der Konfigurationsdatei hinzu und ersetzen Sie mit einem beliebigen Namen, den Sie als Hostnamen für den Squid-Proxy-Server festlegen möchten. Es ist nicht erforderlich, den tatsächlichen Hostnamen Ihres Systems zu verwenden.

visible_hostname <host_name>

Um beispielsweise „linuxways ” als Hostname des Squid-Proxy-Servers wäre der Eintrag:

visible_hostname linuxways 

Wenn Sie mit den Konfigurationen fertig sind, speichern und verlassen Sie die Konfigurationsdatei.

Starten Sie jetzt den Squid-Proxydienst neu, damit die Konfigurationsänderungen wirksam werden.

$ sudo service squid restart

Falls der Squid-Client eine Fehlerseite erhält, sieht er den Hostnamen unten auf der Webseite aufgelistet.

Speichergröße des Squid-Cache festlegen

Squid speichert häufig besuchte Inhalte im Speicher. Die Standardgröße des Squid-Cachespeichers beträgt 256 MB. Um die Größe des Squid-Cache-Speichers zu ändern, cache_mem Direktive wird verwendet.

Bearbeiten Sie die Konfigurationsdatei mit dem folgenden Befehl:

$ sudo nano /etc/squid/squid.conf

Suchen Sie dann in der Konfigurationsdatei nach folgendem Eintrag und ersetzen Sie 256 durch den Wert, der für die Cache-Speichergröße eingestellt werden soll.

cache_mem 256 MB

Um beispielsweise die Cache-Größe auf 512 MB festzulegen, würde der Eintrag geändert werden in:

cache_mem 512 MB

Wenn Sie mit den Konfigurationen fertig sind, speichern und verlassen Sie die Konfigurationsdatei.

Starten Sie nun den Squid-Dienst neu, um die Änderungen zu übernehmen:

$ sudo service squid restart

Zu verwendende DNS-Nameserver angeben

Standardmäßig verwendet Squid /etc/resolv.conf Domänennamen aufzulösen. Wenn Sie möchten, dass Squid einen anderen Nameserver verwendet, können Sie dies mit dns_nameservers tun Richtlinie. Bearbeiten Sie die Squid-Konfiguration mit dem folgenden Befehl:

$ sudo nano /etc/squid/squid.conf

Fügen Sie nun den folgenden Eintrag in der Konfigurationsdatei hinzu und ersetzen Sie:

dns_nameservers <IP address of DNS server>

Zum Beispiel, um 8.8.4.4 festzulegen als Nameserver wäre der Eintrag:

dns_nameservers 8.8.8.8 8.8.4.4

Wenn Sie mit den Konfigurationen fertig sind, speichern und beenden Sie die Datei.

Starten Sie nun den Squid-Dienst neu, um die Änderungen zu übernehmen:

$ sudo service squid restart

Steuerung des Zugriffs auf den Proxy-Server

Funktionsweise der Squid-ACL

Für die Zugriffskontrolle werden ACLs in Kombination mit der Zugriffssteuerungsanweisung verwendet. ACL allein nützt nichts, sie helfen nur, Benutzeranfragen anhand verschiedener Regeln zu identifizieren. Um den Zugriff zu erlauben oder zu verweigern, werden sie mit http_access kombiniert Richtlinie.

Um ACL zu definieren, lautet die Syntax:

acl NAME TYPE value

Beispiel: LAN-Datenverkehr über den Squid-Proxy-Server zulassen

Zum Abgleichen von Datenverkehr aus dem LAN 192.168.5.0/24 , müssen wir eine ACL-Regel in der Squid-Konfigurationsdatei erstellen:

acl myacl src 192.168.5.0/24

Sobald die ACL definiert ist, können Sie http_access verwenden Anweisung zum Erlauben/Verweigern des Zugriffs. Hier ist die Syntax für den http_access Direktive:

http_access allow|deny NAME

Wobei NAME den Datenverkehr identifiziert, dem Sie den Zugriff erlauben/verweigern möchten.

Um den in der ACL identifizierten Datenverkehr zuzulassen, müssen Sie den folgenden http_access hinzufügen Direktive in der Squid-Konfigurationsdatei:

http_access allow myacl

Konfigurieren von Proxy-Quellen für den Zugriff auf das Internet

Zuerst konfigurieren wir die Quellen, denen wir den Zugriff auf das Internet über den Proxy-Server erlauben möchten. Sie möchten beispielsweise den Zugriff auf den Proxy-Server nur vom internen Netzwerk aus zulassen.

1. Um die zulässigen Quellen zu konfigurieren, bearbeiten Sie die Squid-Konfigurationsdatei:

$ sudo nano /etc/squid/squid.conf

2. Suchen Sie nun nach dem Eintrag acl localnet src .

Hinweis: Um im Nano-Editor nach einem Eintrag zu suchen, drücken Sie Strg+w , und geben Sie den Ausdruck ein, nach dem Sie suchen möchten. Drücken Sie im obigen Beispiel Strg+w und geben Sie acl localnet src ein wie im folgenden Screenshot gezeigt.

3. Hier sehen Sie die Anzahl der Einträge für verschiedene IP-Adressbereiche. Fügen Sie hier einen Eintrag für Ihr Netzwerk wie folgt hinzu:

acl localnet src subnet_ID/subnet_mask

Ihr lokales Netzwerk läuft beispielsweise auf 192.168.72.0/24 Subnetz. In diesem Fall wäre der Eintrag:

acl localnet src 192.168.72.0/255.255.255.0

4. Verwenden Sie jetzt den http_access lassen Sie die Quellen zu, die durch die ACL mit dem Namen localnet identifiziert werden oben definiert. Die http_access-Direktive ist bereits in der konfigurierten definiert, Sie müssen sie nur finden und auskommentieren.

Suchen Sie nach dem Eintrag #http_access allow localnet und kommentieren Sie es dann aus, indem Sie das # entfernen Zeichen.

http_access allow localnet

Speichern und beenden Sie nun die Squid-Konfigurationsdatei.

3. Starten Sie nun den Squid-Dienst mit dem folgenden Befehl neu:

$ sudo service squid restart

Zugriff auf bestimmte Websites im Squid-Proxyserver verweigern

Um den Zugriff auf einige Websites auf dem Squid-Proxyserver zu verweigern, erstellen Sie eine Datei und listen Sie alle Websites auf, denen Sie den Zugriff verweigern möchten.

$ sudo nano /etc/squid/deniedsites.acl

Listen Sie nun die Sites auf, denen Sie den Zugriff verweigern möchten, und speichern und beenden Sie die Datei.

.msn.com

.yahoo.com

.bbc.com

Bearbeiten Sie dann die Squid-Konfigurationsdatei mit dem folgenden Befehl:

$ sudo nano /etc/squid/squid.conf

Erstellen Sie nun eine ACL-Regel für die abgelehnten Websites und erwähnen Sie die Datei mit der Liste der abgelehnten Websites.

acl denied_sites dstdomain “/etc/squid/deniedsites.acl”

Die ACL-Regel denied_sites stimmt mit allen Anfragen überein, die für die Websites bestimmt sind, die in „/etc/squid/deniedsites.acl aufgeführt sind ” Datei.

Jetzt müssen Sie den http_access hinzufügen Anweisung zum Ablehnen der Websites, die durch die obige ACL-Regel mit dem Namen denied_sites identifiziert wurden . Fügen Sie die folgende Zeile in die Squid-Konfigurationsdatei ein:

http_access deny denied_sites

Wenn Sie mit den Konfigurationen fertig sind, speichern und beenden Sie die Datei.

Starten Sie nun den Squid-Dienst mit dem folgenden Befehl neu:

$ sudo service squid restart

Konfigurieren der Squid-Proxy-Client-Authentifizierung

Mit dem Squid-Proxyserver können wir aus Sicherheitsgründen eine grundlegende benutzerbasierte Authentifizierung hinzufügen. Dazu verwenden wir das htpasswd Programm, das mit dem Apache HTTP-Server geliefert wird. Dann erstellen wir eine Datei, die Benutzernamen und Passwörter für die Authentifizierung enthält.

1. Zuerst müssen wir Apache2-utils installieren. Verwenden Sie dazu den folgenden Befehl:

$ apt install -y apache2-utils

2. Erstellen Sie nun eine passwd-Datei in /etc/squid Verzeichnis zum Speichern von Passwörtern:

$ touch /etc/squid/passwd

3. Verwenden Sie den folgenden Befehl, um den Besitz auf den Benutzer „proxy“ festzulegen:

$ chown proxy: /etc/squid/passwd

4. Fügen Sie nun einen Benutzer in /etc/squid/passwd hinzu Datei:

htpasswd /etc/squid/passwd tin

Geben Sie ein Passwort ein und bestätigen Sie es durch erneute Eingabe. Jetzt werden der Benutzer und sein verschlüsseltes Passwort unter /etc/squid/passwd gespeichert Datei.

5. Bearbeiten Sie die /etc/squid/squid.conf Datei mit dem folgenden Befehl:

$ sudo nano /etc/squid/squid.conf

Fügen Sie nun die folgenden Zeilen in die Datei ein:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwdauth_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

Once you are done with the configurations, save and exit the configuration file.

Konfigurieren von Clients für die Verbindung über den Squid-Proxyserver

In diesem Abschnitt werden wir Clients so konfigurieren, dass sie sich über den Squid-Proxy-Server verbinden.

1. Öffnen Sie einen Webbrowser in Ihrem System. Hier verwenden wir den Firefox Browser.

2. Gehen Sie zur oberen rechten Ecke Ihres Browsers und klicken Sie auf das Symbol mit den drei horizontalen Balken. Klicken Sie dann auf Optionen .

3. Geben Sie dann in der Suchleiste Netzwerk ein . Wenn das Suchergebnis angezeigt wird, klicken Sie auf Einstellungen wie im Screenshot unten zu sehen ist.

4. Wählen Sie die Manuelle Proxy-Konfiguration Optionsschaltfläche. Geben Sie dann die IP-Adresse des Squid-Proxy-Servers in HTTP-Proxy ein Feld und Portnummer im Port Feld. Aktivieren Sie außerdem die Option Diesen Proxy auch für FTP und HTTPS verwenden Kontrollkästchen. Klicken Sie dann auf OK .

Um nun zu überprüfen, ob der Squid-Server funktioniert, versuchen Sie, in Ihrem Browser auf eine beliebige Website zuzugreifen. Sie sehen einen Authentifizierungsdialog. Geben Sie den Squid-Benutzernamen und das Passwort ein, die Sie zuvor erstellt haben, und klicken Sie auf OK .

Jetzt sollten Sie auf die angeforderte Website zugreifen können.

Versuchen Sie nun, auf eine andere Website zuzugreifen, die Sie mithilfe der Zugriffsliste blockiert haben. Der Browser zeigt die folgende Seite mit der Meldung „Der Proxy-Server verweigert Verbindungen“.

Das ist alles, was dazu gehört! In diesem Artikel haben Sie gelernt, wie Sie den Squid-Proxyserver auf einem Linux-System konfigurieren. Wir haben gerade die grundlegenden Konfigurationen besprochen. Mit dem Squid-Proxyserver können Sie noch viel mehr tun. Weitere Informationen finden Sie in der offiziellen Dokumentation.


Ubuntu
  1. So richten Sie den Squid-Proxyserver unter Ubuntu 18.04 ein und installieren ihn

  2. So installieren und konfigurieren Sie Squid Proxy unter Ubuntu 18.04

  3. So installieren und konfigurieren Sie Squid Proxy unter Ubuntu 20.04

  4. So installieren Sie den Squid-Proxyserver unter Ubuntu 18.04 LTS

  5. So installieren Sie Squid Proxy unter Ubuntu 20.04 LTS

So konfigurieren Sie einen NTP-Server und -Client unter Ubuntu 20.04 LTS

So aktualisieren Sie auf Ubuntu Server 22.04 LTS

Installieren Sie Squid Proxy Server unter Ubuntu 20.04 LTS Linux

So installieren und konfigurieren Sie den Lighttpd-Webserver unter Ubuntu 20.04 LTS

So installieren und konfigurieren Sie den DNS-Server unter Ubuntu 16.04 LTS

So installieren Sie den Squid-Proxyserver unter Ubuntu 18.04