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 squid
sudo 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 cp
Commando:
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.
# 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:
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):
# ...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 all
toevoegt.
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 tee
commando 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:
# ...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 3128
openen. Voer hiervoor de volgende commando ‘ s uit:
sudo firewall-cmd --permanent --add-port=3128/tcp
firewall-cmd --reload
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.
-
klik in de rechterbovenhoek op het hamburger-pictogram
☰
om het menu van Firefox te openen: -
klik op de
⚙ Preferences
link. -
Scroll naar beneden naar de sectie
Network Settings
en klik op de knopSettings...
. -
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 en3128
in hetPort
veld. - Schakel het selectievakje
Use this proxy server for all protocols
in. - klik op de
OK
knop om de instellingen op te slaan.
- Selecteer het keuzerondje
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.