GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat a nakonfigurovat Squid Proxy na Debian 10 Linux

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.

V tomto tutoriálu vysvětlíme, jak nastavit Squid Proxy na Debian Buster. Ukážeme vám také, jak nakonfigurovat webový prohlížeč Firefox a Google Chrome pro jeho používání.

Instalace Squid na Debian #

Balíček Squid je součástí standardu repozitářů Debianu 10. Spusťte následující příkazy jako uživatel sudo pro instalaci Squid:

sudo apt updatesudo apt install squid

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

Ověřte, zda byla instalace úspěšná a služba Squid běží kontrolou stavu služby Squid:

sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x
   Loaded: loaded (/etc/init.d/squid; generated)
   Active: active (running) since Sat 2019-08-03 08:52:47 PDT; 3s ago
...

Konfigurace Squid #

Squid lze nakonfigurovat úpravou /etc/squid/squid.conf konfigurační soubor. Pomocí direktivy „include“ lze zahrnout samostatné konfigurační soubory.

Soubor squid.conf konfigurační soubor obsahuje komentáře popisující, co jednotlivé možnosti konfigurace dělají.

Před provedením jakýchkoli změn je vždy dobré zazálohovat původní soubor:

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

Chcete-li upravit konfiguraci, otevřete soubor ve svém textovém editoru:

sudo nano /etc/squid/squid.conf

Ve výchozím nastavení Squid naslouchá na portu 3128 na všech síťových rozhraních.

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.

Seznamy řízení přístupu (ACL) vám umožňují řídit, jak mohou klienti přistupovat k webovým zdrojům. 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, nejjednodušší možností je vytvořit ACL, který bude obsahovat povolené IP adresy.

Namísto přidávání IP adres do hlavního konfiguračního souboru vytvoříme nový zahrnutí soubor, který bude ukládat 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 shora dolů, a když pravidlo odpovídá pravidlům níže, nejsou zpracovány.

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ě #

Squid může používat různé backendy, včetně Samba, LDAP a základního ověřování HTTP pro ověřené uživatele.

V tomto příkladu nakonfigurujeme Squid tak, aby používal základní ověřování. Jedná se o jednoduchou autentizační metodu zabudovanou do protokolu HTTP.

Použijeme openssl nástroj pro vygenerování hesel a připojení username:password spárujte s /etc/squid/htpasswd soubor s tee příkaz, jak je znázorněno níže:

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

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

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

Dalším krokem je povolení základní autentizace HTTP. 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 ověřeným uživatelům.

Restartujte službu Squid:

sudo systemctl restart squid

Konfigurace brány firewall #

Uživatelé UFW mohou otevřít port 3128 povolením profilu ‚Squid‘:

sudo ufw allow 'Squid'

Pokud používáte nftable k filtrování připojení k vašemu systému, otevřete potřebné porty zadáním následujícího příkazu:

sudo nft add rule inet filter input tcp dport 3128 ct state new,established counter accept
Pokud Squid běží na jiném, nevýchozím portu, budete muset povolit provoz na tomto portu.

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

V této sekci vám dobře ukážeme, jak nakonfigurovat váš prohlížeč pro použití Squid proxy.

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 přes Squid proxy. 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 také několik pluginů, které vám mohou pomoci nakonfigurovat nastavení proxy prohlížeče Firefox, jako je FoxyProxy.

Google Chrome #

Google Chrome používá výchozí nastavení serveru proxy. 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.


Debian
  1. Jak nainstalovat a nakonfigurovat ZFS na Linuxu pomocí Debian Jessie 8.1

  2. Jak nainstalovat a nakonfigurovat docker na Debian 11

  3. Jak nainstalovat a nakonfigurovat Squid Proxy na Rocky Linux/Alma Linux 8

  1. Jak nainstalovat a nakonfigurovat Squid Proxy na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Squid Proxy na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat Squid Proxy na Debian 11

  1. Jak nainstalovat a nakonfigurovat Squid Proxy na CentOS 7

  2. Jak nainstalovat a nakonfigurovat Redis na Debian 9

  3. Jak nainstalovat a nakonfigurovat Zabbix na Debian 9 Linux