hoe te installeren en configureren Squid Proxy op CentOS 7

Squid is een full-featured caching proxy ondersteunt populaire netwerkprotocollen zoals HTTP, HTTPS, FTP, en meer. Het plaatsen van Squid voor een webserver kan de prestaties van de server aanzienlijk verbeteren door herhaalde verzoeken in de cache te plaatsen, webverkeer te filteren en toegang te krijgen tot geo-beperkte inhoud.

deze tutorial legt uit hoe u Squid kunt instellen op CentOS 7 en hoe u Firefox en Google Chrome-webbrowsers kunt configureren om de proxy te gebruiken.

Squid installeren op CentOS #

Squid-pakket is opgenomen in de standaard CentOS 7-repositories. Om het te installeren voert u de volgende opdracht uit als sudo-gebruiker:

sudo yum install squid

zodra de installatie is voltooid, start en activeer je de Squid service:

sudo systemctl start squidsudo systemctl enable squid

om te controleren of de installatie succesvol was, typt u het volgende commando om de service status af te drukken:

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

het configureren van Squid #

Squid kan worden geconfigureerd door het /etc/squid/squid.conf bestand te bewerken. Extra bestanden met configuratie opties kunnen worden opgenomen met behulp van de “include” richtlijn.

voordat u wijzigingen aanbrengt, maakt u een back-up van het oorspronkelijke configuratiebestand met het cpCommando:

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

om het bestand te bewerken, opent u het in uw teksteditor:

sudo nano /etc/squid/squid.conf

standaard is Squid geconfigureerd om te luisteren op poort 3128 op alle netwerkinterfaces op de server.

als u de poort wilt wijzigen en een luisterinterface wilt instellen, zoekt u de regel die begint met http_port en specificeert u het IP-adres van de interface en de nieuwe poort. Als er geen interface is opgegeven zal Squid op alle interfaces luisteren.

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

het draaien van Squid op alle interfaces en op de standaard poort zou voor de meeste gebruikers prima moeten zijn.

u kunt de toegang tot de Squid-server beheren met behulp van de ACL ‘ s (Access Control Lists).

standaard staat Squid alleen toegang toe vanaf localhost en localnet.

als alle clients die de proxy gebruiken een statisch IP-adres hebben, kunt u een ACL maken met de toegestane IP ‘ s.

in plaats van het toevoegen van de IP-adressen in het hoofdconfiguratiebestand zullen we een nieuw dedicated bestand maken dat de IP ‘ s bevat:

/ etc/squid / allowed_ips.txt
192.168.33.1# All other allowed IPs

open het hoofdconfiguratiebestand en maak een nieuwe ACL aan met de naam allowed_ips (eerste gemarkeerde regel) en sta toegang toe tot die ACL met behulp van de http_access richtlijn (tweede gemarkeerde regel):

/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

de volgorde van de http_access regels is belangrijk. Zorg ervoor dat u de regel voor http_access deny alltoevoegt.

de http_access richtlijn werkt op dezelfde manier als de firewall regels. Squid leest de regels van boven naar beneden, en wanneer een regel overeenkomt met de onderstaande regels worden niet verwerkt.

wanneer u wijzigingen aanbrengt in het configuratiebestand moet u de Squid-service herstarten om de wijzigingen door te voeren.:

sudo systemctl restart squid

Squid authenticatie #

Squid kan verschillende back-ends gebruiken, waaronder Samba, LDAP en HTTP basic authenticatie voor geverifieerde gebruikers.

in dit voorbeeld zullen we Squid configureren om basis auth te gebruiken. Het is een eenvoudige authenticatie methode ingebouwd in het HTTP protocol.

we gebruiken de openssl om de wachtwoorden te genereren en voegen het username:password paar toe aan het /etc/squid/htpasswd bestand met het teecommando zoals hieronder getoond:

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

om bijvoorbeeld een gebruiker met de naam “mike” met wachtwoord “Pz$lPk76” aan te maken, voer je uit:

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

de volgende stap is om Squid te configureren om de HTTP basic authenticatie in te schakelen en het bestand te gebruiken.

Open de hoofdconfiguratie en voeg het volgende toe:

/ 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

met de eerste drie gemarkeerde regels maken we een nieuwe ACL met de naam authenticated. De laatste gemarkeerde regel geeft toegang aan geverifieerde gebruikers.

start de Squid-service opnieuw op:

sudo systemctl restart squid

firewall instellen #

als u een Firewall draait, moet u poort 3128openen. Voer hiervoor de volgende commando ‘ s uit:

sudo firewall-cmd --permanent --add-port=3128/tcpfirewall-cmd --reload
als Squid op een andere, niet-standaard poort draait, moet je verkeer op die poort toestaan.

uw Browser configureren om Proxy #

te gebruiken nu Squid is ingesteld, is de laatste stap om uw browser te configureren om deze te gebruiken.

Firefox #

de onderstaande stappen zijn hetzelfde voor Windows, macOS en Linux.

  1. klik in de rechterbovenhoek op het hamburger-pictogram om het menu van Firefox te openen:

  2. klik op de ⚙ Preferences link.

  3. Scroll naar beneden naar de sectie Network Settings en klik op de knop Settings....

  4. er wordt een nieuw venster geopend.

    • Selecteer het keuzerondje Manual proxy configuration.
    • voer het IP-adres van uw Squid server in het HTTP Host veld en 3128 in het Port veld.
    • Schakel het selectievakje Use this proxy server for all protocols in.
    • klik op de OK knop om de instellingen op te slaan.
    Firefox Squid-Proxy

op dit punt, uw Firefox is geconfigureerd en u kunt surfen op het Internet via de Squid proxy. Om dit te verifiëren, open google.com, typ “Wat is mijn ip” en je zou je Squid server IP adres moeten zien.

om terug te keren naar de standaardinstellingen ga naar Network Settings, selecteer het keuzerondje Use system proxy settings en sla de instellingen op.

er zijn ook verschillende plugins die u kunnen helpen bij het configureren van Firefox ‘ s proxy-instellingen, zoals FoxyProxy.

Google Chrome #

Google Chrome gebruikt de standaard systeemproxy-instellingen. In plaats van het veranderen van uw besturingssysteem proxy-instellingen kunt u gebruik maken van een addon zoals SwitchyOmegaor start Chrome web browser vanaf de opdrachtregel.

om Chrome te starten met een nieuw profiel en verbinding te maken met de Squid server, gebruik je het volgende commando:

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"

vensters :

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

het profiel wordt automatisch aangemaakt als het niet bestaat. Op deze manier kunt u meerdere exemplaren van Chrome draaien op hetzelfde moment.

om te bevestigen dat de proxyserver goed werkt, opent u google.com en typt u “wat is mijn ip”. Het IP-adres dat in uw browser wordt weergegeven, moet het IP-adres van uw server zijn.

conclusie #

u hebt geleerd hoe u squid op CentOS 7 installeert en uw browser zo configureert.

Squid is een van de meest populaire proxy caching servers. Het verbetert de snelheid van de webserver en kan u helpen om de toegang van de gebruiker tot het Internet te beperken.

Leave a Reply

Het e-mailadres wordt niet gepubliceerd.