GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat Squid Proxy na Ubuntu 20.04

Squid je plnohodnotný cachovací proxy podporující oblíbené síťové protokoly jako HTTP, HTTPS, FTP a další. Lze jej použít 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 geograficky omezenému obsahu.

Tento tutoriál vysvětluje, jak nastavit Squid Proxy na Ubuntu 20.04 a nakonfigurovat webové prohlížeče Firefox a Google Chrome, aby jej používaly.

Instalace Squid na Ubuntu #

Balíček squid je součástí standardních repozitářů Ubuntu 20.04. Chcete-li jej nainstalovat, spusťte následující příkazy jako uživatel sudo:

sudo apt updatesudo apt install squid

Po dokončení instalace se služba Squid automaticky spustí. Chcete-li to ověřit, zkontrolujte stav služby:

sudo systemctl status squid

Výstup bude vypadat nějak takto:

● squid.service - Squid Web Proxy Server
     Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-10-23 19:02:43 UTC; 14s ago
       Docs: man:squid(8)
...

Konfigurace Squid #

Službu squid lze nakonfigurovat úpravou /etc/squid/squid.conf soubor. Konfigurační soubor obsahuje komentáře, které popisují, co jednotlivé možnosti konfigurace dělají. Konfigurační nastavení můžete také vložit do samostatných souborů, které lze zahrnout do hlavního konfiguračního souboru pomocí direktivy „include“.

Před provedením jakýchkoli změn se doporučuje zálohovat původní konfigurační soubor:

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

Chcete-li zahájit konfiguraci instance olihně, otevřete soubor v textovém editoru:

sudo nano /etc/squid/squid.conf

Ve výchozím nastavení je squid nastavena tak, aby naslouchala na portu 3128 na všech síťových rozhraních na serveru.

Pokud chcete změnit port a nastavit naslouchací rozhraní, vyhledejte řádek začínající http_port a zadejte IP adresu rozhraní a nový port. Pokud není specifikováno žádné rozhraní Squid bude naslouchat na všech rozhraních.

/etc/squid/squid.conf
# Squid normally listens to port 3128
http_port IP_ADDR:PORT

Spuštění Squidu 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.

Squid vám umožňuje řídit, jak mohou klienti přistupovat k webovým zdrojům pomocí seznamů řízení přístupu (ACL). Ve výchozím nastavení je přístup povolen pouze z localhost.

Pokud mají všichni klienti, kteří používají proxy, statickou IP adresu, nejjednodušší možností, jak omezit přístup k proxy serveru, je vytvořit ACL, který bude obsahovat povolené IP adresy. Jinak můžete chobotnici nastavit tak, aby používala ověřování.

Místo přidávání IP adres do hlavního konfiguračního souboru vytvořte nový vyhrazený soubor, který bude obsahovat povolené 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 povolit přístup k tomuto ACL pomocí http_access směrnice (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í http_access pravidla jsou důležitá. Ujistěte se, že jste přidali řádek před http_access deny all .

http_access direktiva funguje podobným způsobem jako pravidla firewallu. Squid čte pravidla odshora dolů, a když se pravidlo shoduje, níže uvedená pravidla nejsou 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

Ověření olihně #

Pokud omezení přístupu na základě IP ve vašem případě nefunguje, můžete nakonfigurovat squid tak, aby používal back-end k ověřování uživatelů. Squid podporuje základní ověřování Samba, LDAP a HTTP.

V této příručce použijeme základní ověření. Jedná se o jednoduchou autentizační metodu zabudovanou do protokolu HTTP.

Chcete-li vygenerovat šifrované heslo, použijte openssl nářadí. Následující příkaz připojí USERNAME:PASSWORD spárujte s /etc/squid/htpasswd soubor:

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

Chcete-li například vytvořit uživatele „josh“ s heslem „P@ssvv0rT “, spustíte:

printf "josh:$(openssl passwd -crypt 'P@ssvv0rd')\n" | sudo tee -a /etc/squid/htpasswd
josh:QMxVjdyPchJl6

Dalším krokem je povolit základní ověřování HTTP a zahrnout soubor obsahující přihlašovací údaje uživatele do konfiguračního souboru squid.

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

sudo nano /etc/squid/squid.conf
/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 ověřeným uživatelům.

Restartujte službu Squid:

sudo systemctl restart squid

Konfigurace brány firewall #

Chcete-li otevřít porty Squid, povolte UFW Profil „chobotnice“:

sudo ufw allow 'Squid'

Pokud Squid běží na jiném, nevý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, je posledním krokem konfigurace vašeho preferovaného prohlížeče, aby jej používal.

Firefox #

Níže uvedené kroky jsou stejné pro Windows, macOS a Linux.

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

  2. Klikněte na ⚙ Preferences odkaz.

  3. Přejděte dolů na Network Settings a klikněte na Settings... tlačítko.

  4. Otevře se nové okno.

    • Vyberte Manual proxy configuration přepínač.
    • Zadejte IP adresu svého serveru Squid do HTTP Host pole a 3128 v Port pole.
    • Vyberte Use this proxy server for all protocols zaškrtávací políčko.
    • Klikněte na OK tlačítko pro uložení nastavení.

V tomto okamžiku je váš Firefox nakonfigurován a můžete procházet internet prostřednictvím proxy serveru Squid. Chcete-li to ověřit, otevřete google.com , zadejte „jaká je moje ip“ a měli byste vidět IP adresu vašeho serveru Squid.

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

Existuje několik pluginů, které vám také mohou pomoci nakonfigurovat nastavení proxy prohlížeče Firefox, jako je FoxyProxy.

Google Chrome #

Google Chrome používá výchozí systémové nastavení proxy serveru. Místo změny nastavení proxy operačního systému můžete buď 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"

macOS:

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

Windows:

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

Pokud profil neexistuje, bude vytvořen automaticky. Tímto způsobem můžete spustit více instancí Chrome současně.

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


Ubuntu
  1. Jak nainstalovat a nakonfigurovat Squid Proxy na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat Squid 3 na Ubuntu

  3. Jak nainstalovat a nakonfigurovat Tinyproxy na Ubuntu 14.04

  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Redmine na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat Sambu na Ubuntu 18.04

  1. Jak nainstalovat a nakonfigurovat Squid Proxy na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat Squid Proxy na CentOS 7