Squid je webová proxy aplikace s řadou konfigurací a použití. Squid má velké množství řízení přístupu a podporuje různé protokoly, jako je HTTP, HTTPS, FTP a SSL. V tomto příspěvku uvidíme, jak používat Squid jako HTTP proxy.
Nastavení
Squid je docela starý, vyspělý a běžně používaný software. Obvykle se dodává jako výchozí balíček s různými distribucemi Linuxu.
Nastavení pro tento příspěvek:
192.168.10.2 - is our proxy server. 192.168.10.3 - Will redirect/cache traffic via the proxy server.
Instalace squid proxy
Nainstalujte požadované balíčky pro squid proxy, aby se služba squid spustila automaticky při startu.
# yum install squid # systemctl enable squid # systemctl start squid
Pokud nemáte nejnovější verzi openssl
, může se zobrazit níže uvedená chybaJob for squid.service failed because the control process exited with error code. See "systemctl status squid.service" and "journalctl -xe" for details.
Abyste se ujistili, aktualizujte verzi openssl pomocí níže uvedeného příkazu:
# yum update openssl
Nyní můžeme pokračovat a spustit službu quid.
# systemctl start squid
Konfigurace squid proxy
Squid proxy ve výchozím nastavení naslouchá na portu 3128. Tento port můžete změnit, protože to může být bezpečnostní opatření pro některé společnosti. Upravte konfigurační soubor chobotnice /etc/squid/squid.conf pokud chcete změnit tento port, upravte direktivy http_port pro port 3128. Port ponechám stejný, protože toto je testovací nastavení.
# vim /etc/squid/squid.conf # Squid normally listens to port 3128 http_port 3128
Restartujte službu squid, aby se změny projevily.
# systemctl restart squid
Ověřte, zda jsou spuštěny procesy proxy squid.
# 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
Můžete také ověřit, zda squid proxy naslouchá na portu 3128.
# ss -nlp | grep squid | grep 3128 tcp LISTEN 0 128 :::3128 :::* users:(("squid",pid=5405,fd=11))
Musíme také povolit port 3128 ve firewallu, pokud je povolen. Nebo můžete firewall jednoduše úplně zakázat.
# firewall-cmd --add-port=3128/tcp --permanent
Nastavit klientský server pro použití squid
# export http_proxy=http://${PROXY_FQDN}:8080
Chcete-li na vzdáleném serveru ověřit, že se můžete připojit k proxy, můžete spustit curl na google.com
# 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