Jak nainstalovat a nakonfigurovat Squid Proxy na CentOS 7

Squid je plně vybavený proxy pro ukládání do mezipaměti podporující populární síťové protokoly, jako jsou HTTP, HTTPS, FTP a další. Umístění chobotnice před webový server může výrazně zlepšit výkon 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 na CentOS 7 a nakonfigurovat webové prohlížeče Firefox a Google Chrome pro použití proxy.

instalace Squid na CentOS #

Squid balíček je součástí výchozího CentOS 7 repozitářů. Chcete-li jej nainstalovat, spusťte následující příkaz jako sudo user:

sudo yum install squid

po dokončení instalace spusťte a povolte službu Squid:

sudo systemctl start squidsudo systemctl enable squid

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

sudo systemctl status squid
● squid.service - Squid caching proxy Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2019-07-13 16:47:56 UTC; 12s ago...

konfigurace Squid #

Squid lze nakonfigurovat úpravou souboru /etc/squid/squid.conf. Další soubory s možnostmi konfigurace lze zahrnout pomocí směrnice“ zahrnout“.

před provedením jakýchkoli změn zálohujte původní konfigurační soubor příkazem cp:

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.

pokud chcete změnit port a nastavit poslechové rozhraní, vyhledejte řádek začínající http_port a zadejte adresu IP rozhraní a nový port. Není-li uvedeno žádné rozhraní Squid bude poslouchat na všech rozhraních.

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

spuštění Squid 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.

přístup k serveru Squid můžete ovládat pomocí seznamů řízení přístupu (ACL).

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

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

namísto přidání IP adres do hlavního konfiguračního souboru vytvoříme nový vyhrazený soubor, který bude obsahovat 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í směrnice http_access (druhý zvýrazněný řádek):

/etc/squid/squid.conf
# ...acl allowed_ips src "/etc/squid/allowed_ips.txt"# ...http_access allow localnethttp_access allow localhosthttp_access allow allowed_ips# And finally deny all other access to this proxyhttp_access deny all

pořadí pravidel http_access je důležité. Nezapomeňte přidat řádek před http_access deny all.

směrnice http_access funguje podobně jako pravidla brány firewall. Squid čte pravidla shora dolů, a když se pravidlo shoduje s níže uvedenými pravidly, 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

Squid Authentication #

Squid může používat různé zadní konce, včetně Samba, LDAP a HTTP basic auth pro ověřené uživatele.

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

pomocí openssl vygenerujeme hesla a připojíme pár username:password k souboru /etc/squid/htpasswd příkazem tee, jak je uvedeno níže:

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

například pro vytvoření uživatele s názvem“ mike „s heslem“ Pz$lPk76 “ byste spustit:

printf "mike:$(openssl passwd -crypt 'Pz$lPk76')\n" | sudo tee -a /etc/squid/htpasswd
mike:2nkgQsTSPCsIo

dalším krokem je nakonfigurovat Squid tak, aby povolil základní autentizaci HTTP a použil soubor.

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

/ etc / squid / squid.conf
# ...auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/htpasswdauth_param basic realm proxyacl authenticated proxy_auth REQUIRED# ...http_access allow localnethttp_access allow localhosthttp_access allow authenticated# And finally deny all other access to this proxyhttp_access deny all

s prvními třemi zvýrazněnými řádky vytváříme nový ACL s názvem authenticated. 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 #

pokud používáte firewallbudete muset otevřít port 3128. Chcete-li tak učinit, spusťte následující příkazy:

sudo firewall-cmd --permanent --add-port=3128/tcpfirewall-cmd --reload
je-li Squid běží na jiném, non-výchozí port, budete muset povolit provoz na tomto portu s.

konfigurace 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íže uvedené 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:

  2. klikněte na odkaz ⚙ Preferences.

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

  4. otevře se nové okno.

    • vyberte přepínač Manual proxy configuration.
    • zadejte IP adresu serveru Squid do pole HTTP Host a 3128 do pole Port.
    • zaškrtněte políčko Use this proxy server for all protocols .
    • klikněte na tlačítko OK pro uložení nastavení.
    Firefox Squid Proxy

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

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

existuje také několik pluginů, které vám mohou pomoci nakonfigurovat nastavení proxy serveru Firefoxu, jako je FoxyProxy.

Google Chrome #

Google Chrome používá výchozí nastavení systému proxy. Namísto změny nastavení proxy operačního systému můžete buď použít doplněk, jako je Switchyomeganebo spusťte 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"

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 spustit více instancí prohlížeče Chrome současně.

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

závěr #

naučili jste se, jak nainstalovat squid na CentOS 7 a nakonfigurovat prohlížeč tak, aby jej používal.

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

Leave a Reply

Vaše e-mailová adresa nebude zveřejněna.