Android

Jak nainstalovat a konfigurovat squid proxy na Ubuntu 18.04

Proxy servery

Proxy servery

Obsah:

Anonim

Squid je plnohodnotný vyrovnávací server proxy podporující populární síťové protokoly jako HTTP, HTTPS, FTP a další. Squid se většinou používá ke zlepšení výkonu webového serveru ukládáním opakovaných požadavků do mezipaměti, filtrováním webového provozu a přístupem k obsahu s omezeným přístupem.

Tento tutoriál vás provede procesem nastavení Squid Proxy na Ubuntu 18.04 a konfigurací webových prohlížečů Firefox a Google Chrome pro použití.

Instalace Squid na Ubuntu

Squid balíček je zahrnut ve výchozích úložištích Ubuntu 18.04. Chcete-li jej nainstalovat, zadejte jako uživatel sudo následující příkazy:

sudo apt update sudo apt install squid

Po dokončení instalace se služba Squid spustí automaticky.

Chcete-li ověřit, zda byla instalace úspěšná a běží služba Squid, zadejte následující příkaz, který vytiskne stav služby:

sudo systemctl status squid

● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Thu 2019-06-27 11:45:17 UTC…

Konfigurace chobotnice

Squid lze nakonfigurovat úpravou /etc/squid/squid.conf . Můžete také použít samostatné soubory s možnostmi konfigurace, které lze zahrnout pomocí směrnice „zahrnout“.

Konfigurační soubor obsahuje komentáře, které popisují, co každá možnost konfigurace dělá.

Před provedením jakýchkoli změn je vhodné zálohovat původní konfigurační soubor:

sudo cp /etc/squid/squid.conf{,.orginal}

Chcete-li soubor upravit, otevřete jej v textovém editoru:

sudo nano /etc/squid/squid.conf

Ve výchozím nastavení je Squid nakonfigurován tak, aby poslouchal na portu 3128 na všech síťových rozhraních na serveru.

/etc/squid/squid.conf

# Squid normally listens to port 3128 http_port IP_ADDR:PORT

Spuštění chobotnice na všech rozhraních a na výchozím portu by mělo být pro většinu uživatelů v pořádku.

Ve službě Squid můžete řídit přístup klientů k webovým prostředkům pomocí seznamů řízení přístupu (ACL).

Ve výchozím nastavení Squid umožňuje přístup pouze z localhost.

Pokud mají všichni klienti, kteří budou používat proxy, statickou IP adresu, můžete vytvořit ACL, který bude zahrnovat povolené IP.

Místo přidání IP adres do hlavního konfiguračního souboru vytvoříme nový vyhrazený soubor, který bude uchovávat IP adresy:

/etc/squid/allowed_ips.txt

192.168.33.1 # All other allowed IPs

Po dokončení otevřete hlavní konfigurační soubor a vytvořte nový ACL s názvem allowed_ips (první zvýrazněný řádek) a povolte přístup k tomuto ACL pomocí direktivy http_access (druhý zvýrazněný řádek):

/etc/squid/squid.conf

#… acl allowed_ips src "/etc/squid/allowed_ips.txt" #… #http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all

Pořadí pravidel http_access je důležité. Ujistěte se, že jste řádek přidali před tím, než http_access deny all .

Direktiva http_access funguje podobně jako pravidla brány firewall. Squid čte pravidla shora dolů a když se pravidlo shoduje s pravidly níže, nebudou zpracována.

Kdykoli provedete změny v konfiguračním souboru, musíte restartovat službu Squid, aby se změny projevily:

sudo systemctl restart squid

Squid Authentication

Squid může autentizovaným uživatelům používat různé back-endy, včetně Samba, LDAP a HTTP basic Auth.

V tomto tutoriálu nakonfigurujeme Squid tak, aby používal základní autorizaci. Je to jednoduchá metoda autentizace zabudovaná do protokolu

Pomocí openssl vygenerujeme hesla a připojíme username:password pair k souboru /etc/squid/htpasswd pomocí příkazu tee jak je ukázáno níže:

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

Vytvořme uživatele s názvem „josh“ s heslem „ Sz$Zdg69 “:

printf "josh:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd

josh:RrvgO7NxY86VM

Nyní, když je uživatel vytvořen, je dalším krokem povolení základní autentizace HTTP a zahrnutí souboru htpasswd .

Otevřete hlavní konfiguraci a přidejte následující:

/etc/squid/squid.conf

#… auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED #… #http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all

První tři zvýrazněné řádky vytvářejí nový ACL s názvem authenticated a poslední zvýrazněný řádek umožňuje přístup k ověřeným uživatelům.

Restartujte službu Squid:

sudo systemctl restart squid

Konfigurace brány firewall

Za předpokladu, že ke správě brány firewall používáte UFW , budete muset otevřít port Squid. K tomu povolte profil 'Squid', který obsahuje pravidla pro výchozí porty Squid.

sudo ufw allow 'Squid'

Ověření typu stavu:

sudo ufw status

Výstup bude vypadat asi takto:

Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere Squid ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) Squid (v6) ALLOW Anywhere (v6) Pokud je Squid spuštěn na jiném, ne výchozím portu, například 8888 , můžete povolit provoz na tomto portu pomocí: sudo ufw allow 8888/tcp .

Konfigurace vašeho prohlížeče pro použití proxy

Nyní, když máte Squid nastaven, posledním krokem je nakonfigurovat preferovaný prohlížeč tak, aby jej používal.

Firefox

Následující kroky jsou stejné pro Windows, MacOS a Linux.

  1. V pravém horním rohu klikněte na ikonu hamburgeru a otevřete nabídku Firefoxu:

    Klikněte na odkaz ⚙ Preferences .

    Přejděte dolů do části Network Settings a klikněte na tlačítko Settings…

    Otevře se nové okno.

    • Vyberte přepínač Manual proxy configuration Zadejte IP adresu vašeho Squid serveru do pole HTTP Host a 3128 do pole Port Zaškrtněte políčko Use this proxy server for all protocols OK tlačítko OK uložte nastavení.

V tomto okamžiku je váš Firefox nakonfigurován a můžete procházet internet pomocí Squid proxy. Chcete-li to ověřit, otevřete google.com , zadejte „what is my ip“ a měla by se zobrazit IP adresa vašeho Squid serveru.

Chcete-li se vrátit k výchozímu nastavení, přejděte na Network Settings , vyberte přepínač Use system proxy settings a uložte nastavení.

Existuje několik pluginů, které vám mohou také pomoci nakonfigurovat nastavení proxy serveru Firefox, například FoxyProxy.

Google Chrome

Google Chrome používá výchozí nastavení systému proxy serveru. Namísto změny nastavení proxy operačního systému můžete použít doplněk, jako je SwitchyOmega, nebo spustit webový prohlížeč Chrome z příkazového řádku.

Chcete-li spustit Chrome pomocí nového profilu a připojit se k serveru Squid, použijte následující příkaz:

Linux:

/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Operační Systém Mac:

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Okna:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"

Profil bude vytvořen automaticky, pokud neexistuje. Tímto způsobem můžete spouštět více instancí prohlížeče Chrome současně.

Chcete-li ověřit, zda proxy server funguje správně, otevřete google.com a zadejte „what is my ip“. IP zobrazená v prohlížeči by měla být IP adresa vašeho serveru.

Závěr

Naučili jste se, jak nainstalovat Squid na Ubuntu 18.04 a nakonfigurovat svůj prohlížeč tak, aby jej používal.

Squid je jedním z nejpopulárnějších proxy serverů pro ukládání do mezipaměti. Zvyšuje rychlost webového serveru a může vám pomoci omezit přístup uživatelů k Internetu.

proxy ubuntu