Android

Hoe Squid Proxy op Debian 10 Linux te installeren en configureren

installer et configurer squid (sous debian)

installer et configurer squid (sous debian)

Inhoudsopgave:

Anonim

Squid is een complete cacheproxy die populaire netwerkprotocollen zoals HTTP, HTTPS, FTP en meer ondersteunt. Het kan worden gebruikt voor het verbeteren van de prestaties van de webserver door herhaalde verzoeken in het cachegeheugen op te slaan, webverkeer te filteren en toegang te krijgen tot inhoud met geografische beperkingen.

In deze zelfstudie leggen we uit hoe u een Squid-proxy instelt op Debian Buster. We zullen u ook laten zien hoe u Firefox- en Google Chrome-webbrowsers configureert om het te gebruiken.

Squid installeren op Debian

Squid pakket is inbegrepen in de standaard op Debian 10 repositories. Voer de volgende opdrachten uit als sudo-gebruiker om Squid te installeren:

sudo apt update sudo apt install squid

Nadat de installatie is voltooid, wordt de Squid-service automatisch gestart.

Controleer of de installatie is geslaagd en Squid-service actief is door de status van de Squid-service te controleren:

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…

Squid configureren

Squid kan worden geconfigureerd door het /etc/squid/squid.conf configuratiebestand te bewerken. Afzonderlijke configuratiebestanden kunnen worden opgenomen met behulp van de "include" -richtlijn.

Het configuratiebestand squid.conf bevat opmerkingen die beschrijven wat elke configuratie-optie doet.

Voordat u wijzigingen aanbrengt, is het altijd een goed idee om een ​​back-up van het oorspronkelijke bestand te maken:

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

Om de configuratie te wijzigen, opent u het bestand in uw teksteditor:

sudo nano /etc/squid/squid.conf

Standaard luistert Squid op poort 3128 op alle netwerkinterfaces.

/etc/squid/squid.conf

# Squid normally listens to port 3128 http_port IP_ADDR:PORT

Squid uitvoeren op alle interfaces en op de standaardpoort zou voor de meeste gebruikers prima moeten zijn.

Met de toegangscontrolelijsten (ACL's) kunt u bepalen hoe clients toegang kunnen krijgen tot webbronnen. Standaard staat Squid alleen toegang toe vanaf de localhost.

Als alle clients die de proxy gebruiken, een statisch IP-adres hebben, is de eenvoudigste optie om een ​​ACL te maken die de toegestane IP's bevat.

In plaats van de IP-adressen toe te voegen aan het hoofdconfiguratiebestand, maken we een nieuw include-bestand waarin de IP-adressen worden opgeslagen:

/etc/squid/allowed_ips.txt

192.168.33.1 # All other allowed IPs

Zodra u klaar bent, opent u het hoofdconfiguratiebestand en maakt u een nieuwe ACL met de naam allowed_ips (eerste gemarkeerde regel) en geeft u toegang 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 localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all

De volgorde van de http_access regels is belangrijk. Zorg ervoor dat u de regel toevoegt voordat http_access deny all .

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

Wanneer je wijzigingen aanbrengt in het configuratiebestand, moet je de Squid-service opnieuw opstarten om de wijzigingen van kracht te laten worden:

sudo systemctl restart squid

Inktvisverificatie

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

In dit voorbeeld zullen we Squid configureren om basisverificatie te gebruiken. Het is een eenvoudige authenticatiemethode ingebouwd in het

We zullen het openssl hulpprogramma gebruiken om de wachtwoorden te genereren en de username:password toe te voegen aan het bestand /etc/squid/htpasswd met het tee commando zoals hieronder getoond:

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

Laten we een gebruiker met de naam "buster" maken met het wachtwoord " Sz$Zdg69 ":

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

buster:RrvgO7NxY86VM

De volgende stap is het inschakelen van de HTTP-basisverificatie. Open de hoofdconfiguratie en voeg het volgende toe:

/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

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

Start de Squid-service opnieuw:

sudo systemctl restart squid

Firewall configureren

UFW-gebruikers kunnen poort 3128 door het 'Squid'-profiel in te schakelen:

sudo ufw allow 'Squid'

sudo nft add rule inet filter input tcp dport 3128 ct state new, established counter accept Als Squid op een andere, niet-standaard poort draait, moet je verkeer op die poort toestaan.

Uw browser configureren om proxy te gebruiken

In dit gedeelte wordt goed uitgelegd hoe u uw browser configureert om Squid-proxy te gebruiken.

Firefox

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

  1. Klik in de rechterbovenhoek op het hamburgerpictogram om het menu van Firefox te openen:

    Klik op de link ⚙ Preferences .

    Blader omlaag naar het gedeelte Network Settings en klik op de knop Settings…

    Er wordt een nieuw venster geopend.

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

Op dit moment is uw Firefox geconfigureerd en kunt u op internet surfen via de Squid-proxy. Om het te verifiëren, open google.com , typ "wat is mijn ip" en je zou het IP-adres van je Squid-server 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 plug-ins 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 de proxy-instellingen van uw besturingssysteem te wijzigen, kunt u een add-on zoals SwitchyOmega gebruiken of de Chrome-webbrowser starten vanaf de opdrachtregel.

Gebruik de volgende opdracht om Chrome te starten met een nieuw profiel en verbinding te maken met de Squid-server:

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"

Ramen:

"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 gemaakt als het niet bestaat. Op deze manier kunt u meerdere exemplaren van Chrome tegelijkertijd uitvoeren.

Om te bevestigen dat de proxyserver correct 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

We hebben de basisprincipes behandeld van hoe Squid op Debian 10 te installeren en uw browser te configureren om het te gebruiken.

Squid is een van de populairste proxy-cacheservers. Het verbetert de snelheid van de webserver en kan u helpen de gebruikerstoegang tot internet te beperken.

proxy debian