hur man installerar och konfigurerar Squid Proxy på CentOS 7

Squid är en fullfjädrad caching proxy som stöder populära nätverksprotokoll som HTTP, HTTPS, FTP, och mer. Att placera Squid framför en webbserver kan förbättra serverns prestanda avsevärt genom att cacha upprepade förfrågningar, filtrera webbtrafik och få tillgång till geo-Begränsat innehåll.

denna handledning förklarar hur du ställer in Squid på CentOS 7 och konfigurerar Firefox och Google Chrome webbläsare för att använda proxy.

installera Squid på CentOS #

Squid paketet ingår i standard CentOS 7 repositories. För att installera det kör följande kommando som sudo-användare:

sudo yum install squid

när installationen är klar startar du och aktiverar Squid-tjänsten:

sudo systemctl start squidsudo systemctl enable squid

för att verifiera att installationen lyckades, skriv följande kommando som skriver ut servicestatusen:

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...

konfigurera Squid #

Squid kan konfigureras genom att redigera filen /etc/squid/squid.conf. Ytterligare filer med konfigurationsalternativ kan inkluderas med hjälp av direktivet ”inkludera”.

innan du gör några ändringar, säkerhetskopiera den ursprungliga konfigurationsfilen med kommandot cp:

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

för att redigera filen, öppna den i din textredigerare:

sudo nano /etc/squid/squid.conf

som standard är Squid konfigurerad att lyssna på port 3128 på alla nätverksgränssnitt på servern.

om du vill ändra porten och ställa in ett lyssningsgränssnitt, leta reda på raden som börjar med http_port och ange gränssnittets IP-adress och den nya porten. Om inget gränssnitt anges Squid kommer att lyssna på alla gränssnitt.

/etc/bläckfisk / bläckfisk.conf
# Squid normally listens to port 3128http_port IP_ADDR:PORT

att köra Squid på alla gränssnitt och på standardporten borde vara bra för de flesta användare.

du kan styra åtkomsten till Squid-servern med hjälp av Åtkomstkontrolllistorna (ACL).

som standard tillåter Squid endast åtkomst från localhost och localnet.

om alla klienter som använder proxyn har en statisk IP-adress kan du skapa en ACL som innehåller de tillåtna IP-adresserna.

istället för att lägga till IP-adresserna i huvudkonfigurationsfilen skapar vi en ny dedikerad fil som håller IP-adresserna:

/etc/bläckfisk / allowed_ips.txt
192.168.33.1# All other allowed IPs

när du är klar öppnar du huvudkonfigurationsfilen och skapar en ny ACL med namnet allowed_ips (första markerade raden) och tillåter åtkomst till den ACL med http_access – direktivet (andra markerade raden):

/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

ordningen på http_access – reglerna är viktig. Se till att du lägger till raden före http_access deny all.

http_access – direktivet fungerar på samma sätt som brandväggsreglerna. Squid läser reglerna från topp till botten, och när en regel matchar reglerna nedan inte bearbetas.

när du gör ändringar i konfigurationsfilen måste du starta om Squid-tjänsten för att ändringarna ska träda i kraft:

sudo systemctl restart squid

Squid Authentication #

Squid kan använda olika bakändar, inklusive Samba, LDAP och HTTP basic auth till autentiserade användare.

i det här exemplet konfigurerar vi Squid för att använda basic auth. Det är en enkel autentiseringsmetod inbyggd i HTTP-protokollet.

vi använder openssl för att generera lösenorden och lägga till username:password – paret till /etc/squid/htpasswd – filen med kommandot teesom visas nedan:

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

till exempel för att skapa en användare som heter ”mike” med lösenord ”Pz$lPk76 ” skulle du köra:

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

nästa steg är att konfigurera Squid för att aktivera HTTP basic-autentisering och använda filen.

öppna huvudkonfigurationen och Lägg till följande:

/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

med de tre första markerade raderna skapar vi en ny ACL med namnet authenticated. Den sista markerade raden ger åtkomst till autentiserade användare.

starta om Squid-tjänsten:

sudo systemctl restart squid

konfigurera brandvägg #

om du kör en brandvägg måste du öppna port 3128. För att göra det kör följande kommandon:

sudo firewall-cmd --permanent --add-port=3128/tcpfirewall-cmd --reload
om Squid körs på en annan, icke-standardport, måste du tillåta trafik på den porten med.

konfigurera din webbläsare för att använda Proxy #

nu när du har Squid konfigurerat är det sista steget att konfigurera din föredragna webbläsare för att använda den.

Firefox #

stegen nedan är desamma för Windows, macOS och Linux.

  1. i det övre högra hörnet klickar du på hamburgarikonen för att öppna Firefox-menyn:

  2. klicka på länken ⚙ Preferences.

  3. bläddra ner till avsnittet Network Settings och klicka på knappen Settings....

  4. ett nytt fönster öppnas.

    • välj alternativknappen Manual proxy configuration.
    • ange din Squid-server IP-adress i fältet HTTP Host och 3128 i fältet Port.
    • markera kryssrutan Use this proxy server for all protocols.
    • klicka på knappen OK för att spara inställningarna.
    Firefox Squid Proxy

vid denna tidpunkt är din Firefox konfigurerad och du kan surfa på Internet via Squid-proxy. För att verifiera det, öppna google.com, skriv ”vad är min ip” och du bör se din Squid-serverns IP-adress.

för att återgå till standardinställningarna, gå till Network Settings, välj alternativknappen Use system proxy settings och spara inställningarna.

det finns också flera plugins som kan hjälpa dig att konfigurera Firefox proxyinställningar som FoxyProxy.

Google Chrome #

Google Chrome använder standardinställningarna för systemproxy. Istället för att ändra proxyinställningarna för operativsystemet kan du antingen använda ett tillägg som Switchyomegaeller starta Chrome-webbläsaren från kommandoraden.

för att starta Chrome med en ny profil och ansluta till Squid-servern, använd följande kommando:

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"

fönster :

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

profilen skapas automatiskt om den inte finns. På så sätt kan du köra flera instanser av Chrome samtidigt.

för att bekräfta att proxyservern fungerar korrekt, öppna google.com och skriv ”vad är min ip”. IP-adressen som visas i din webbläsare ska vara din servers IP-adress.

slutsats #

du har lärt dig hur du installerar squid på CentOS 7 och konfigurerar din webbläsare för att använda den.

Squid är en av de mest populära proxy caching-servrarna. Det förbättrar hastigheten på webbservern och kan hjälpa dig att ta begränsa användarnas tillgång till Internet.

Leave a Reply

Din e-postadress kommer inte publiceras.