Squid ist eine Web-Proxy-Anwendung mit einer Vielzahl von Konfigurationen und Verwendungsmöglichkeiten. Squid verfügt über eine große Anzahl von Zugriffskontrollen und unterstützt verschiedene Protokolle wie HTTP, HTTPS, FTP und SSL. In diesem Beitrag werden wir sehen, wie man Squid als HTTP-Proxy verwendet.
Die Einrichtung
Squid ist eine ziemlich alte, ausgereifte und häufig verwendete Software. Es wird im Allgemeinen als Standardpaket mit verschiedenen Linux-Distributionen ausgeliefert.
Einrichtung für diesen Beitrag:
192.168.10.2 - is our proxy server. 192.168.10.3 - Will redirect/cache traffic via the proxy server.
Squid-Proxy installieren
Installieren Sie die erforderlichen Pakete für den Squid-Proxy, damit der Squid-Dienst beim Booten automatisch gestartet wird.
# yum install squid # systemctl enable squid # systemctl start squid
Sie erhalten möglicherweise die folgende Fehlermeldung, wenn Sie nicht über die neueste Openssl-Version verfügen
Job for squid.service failed because the control process exited with error code. See "systemctl status squid.service" and "journalctl -xe" for details.
Um sicherzugehen, aktualisieren Sie die Openssl-Version mit dem folgenden Befehl:
# yum update openssl
Jetzt können wir fortfahren und den Quid-Service starten.
# systemctl start squid
Squid-Proxy konfigurieren
Der Squid-Proxy lauscht standardmäßig auf Port 3128. Sie können diesen Port ändern, da dies für einige Unternehmen eine Sicherheitsvorkehrung sein kann. Bearbeiten Sie die Squid-Konfigurationsdatei /etc/squid/squid.conf Ändern Sie die http_port-Anweisungen für Port 3128, wenn Sie diesen Port ändern möchten. Ich werde den Port beibehalten, da dies ein Testaufbau ist.
# vim /etc/squid/squid.conf # Squid normally listens to port 3128 http_port 3128
Starten Sie den Squid-Dienst neu, damit die Änderungen wirksam werden.
# systemctl restart squid
Überprüfen Sie, ob die Squid-Proxy-Prozesse gestartet wurden.
# ps -ef | grep squid root 5403 1 0 03:21 ? 00:00:00 /usr/sbin/squid -f /etc/squid/squid.conf squid 5405 5403 0 03:21 ? 00:00:00 (squid-1) -f /etc/squid/squid.conf squid 5406 5405 0 03:21 ? 00:00:00 (logfile-daemon) /var/log/squid/access.log root 5448 5158 0 03:24 pts/0 00:00:00 grep --color=auto squid
Sie können auch überprüfen, ob der Squid-Proxy Port 3128 abhört.
# ss -nlp | grep squid | grep 3128 tcp LISTEN 0 128 :::3128 :::* users:(("squid",pid=5405,fd=11))
Wir müssen auch den Port 3128 in Firewalld zulassen, falls er aktiviert ist. Oder Sie können die Firewall einfach komplett deaktivieren.
# firewall-cmd --add-port=3128/tcp --permanent
Client-Server für die Verwendung von Squid einrichten
# export http_proxy=http://${PROXY_FQDN}:8080
Um auf dem Remote-Server zu überprüfen, ob Sie eine Verbindung zum Proxy herstellen können, können Sie curl zu google.com ausführen
# curl -v http://google.com | head -1 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* About to connect() to google.com port 80 (#0) * Trying 2607:f8b0:4009:804::200e... * Connected to google.com (2607:f8b0:4009:804::200e) port 80 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.29.0 > Host: google.com > Accept: */* > < HTTP/1.1 301 Moved Permanently < Location: http://www.google.com/ < Content-Type: text/html; charset=UTF-8 < Date: Wed, 05 Jun 2019 07:28:26 GMT < Expires: Fri, 05 Jul 2019 07:28:26 GMT < Cache-Control: public, max-age=2592000 < Server: gws < Content-Length: 219 < X-XSS-Protection: 0 < X-Frame-Options: SAMEORIGIN < { [data not shown] 100 219 100 219 0 0 3145 0 --:--:-- --:--:-- --:--:-- 3173 * Connection #0 to host google.com left intact