Slik Installerer Og Konfigurerer Du Squid Proxy På CentOS 7
Squid er en fullverdig caching proxy som støtter populære nettverksprotokoller som HTTP, HTTPS, FTP og mer. Plassering Av Squid foran en webserver kan i stor grad forbedre serverytelsen ved å caching gjentatte forespørsler, filtrere webtrafikk og få tilgang til geo-begrenset innhold.
denne veiledningen forklarer hvordan du setter Opp Squid På CentOS 7 og konfigurerer Firefox og Google Chrome nettlesere for å bruke proxy.
Installere Squid På CentOS #
Squid pakken er inkludert i standard CentOS 7 repositories. For å installere det, kjør følgende kommando som sudo-bruker:
sudo yum install squid
når installasjonen er fullført, start og aktiver Squid-tjenesten:
sudo systemctl start squid
sudo systemctl enable squid
for å bekrefte at installasjonen var vellykket, skriv inn følgende kommando som vil skrive 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...
Konfigurere Squid #
Squid kan konfigureres ved å redigere filen /etc/squid/squid.conf
. Flere filer med konfigurasjonsalternativer kan inkluderes ved hjelp av» include » direktivet.
sikkerhetskopier den opprinnelige konfigurasjonsfilen med kommandoen cp
før du gjør endringer:
sudo cp /etc/squid/squid.conf{,.orginal}
for å redigere filen, åpne den i tekstredigeringsprogrammet:
sudo nano /etc/squid/squid.conf
Som standard er Squid konfigurert til å lytte på port 3128
på alle nettverksgrensesnitt på serveren.
hvis du vil endre porten og angi et lyttegrensesnitt, finn linjen som starter med http_port
og angi grensesnittets IP-adresse og den nye porten. Hvis ingen grensesnitt er angitt Squid vil lytte på alle grensesnitt.
# Squid normally listens to port 3128http_port IP_ADDR:PORT
Kjører Blekksprut på alle grensesnitt og på standardporten bør være bra for de fleste brukere.
du kan styre tilgangen til Squid-serveren ved Hjelp Av Access Control Lists (Acl).
Som standard Gir Squid tilgang bare fra localhost og localnet.
hvis alle klientene som skal bruke proxyen, har en statisk IP-adresse, kan du opprette EN ACL som vil inkludere de tillatte Ip-Ene.
I Stedet for Å legge TIL IP-adressene i hovedkonfigurasjonsfilen, oppretter vi en ny dedikert fil som vil holde Ip-Adressene:
192.168.33.1# All other allowed IPs
når du er ferdig, åpne hovedkonfigurasjonsfilen og opprett en ny ACL kalt allowed_ips
(første uthevet linje) og gi tilgang til DEN ACL ved hjelp av direktivet http_access
(andre uthevet linje):
# ...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
rekkefølgen på http_access
reglene er viktig. Pass på at du legger til linjen før http_access deny all
.
direktivet http_access
fungerer på samme måte som brannmurreglene. Squid leser reglene fra topp til bunn, og når en regel samsvarer reglene nedenfor ikke behandles.
når du gjør endringer i konfigurasjonsfilen, må Du starte Squid-tjenesten på Nytt for at endringene skal tre i kraft:
sudo systemctl restart squid
Squid-Godkjenning #
Squid kan bruke forskjellige bakender, inkludert Samba, LDAP og HTTP basic auth til godkjente brukere.
i dette eksemplet konfigurerer Vi Squid til å bruke grunnleggende auth. Det er en enkel godkjenningsmetode innebygd I HTTP-protokollen.
vi bruker openssl
til å generere passordene og legge til username:password
– paret til /etc/squid/htpasswd
– filen med kommandoen tee
som vist nedenfor:
printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd
for eksempel å opprette en bruker som heter «mike» med passord «Pz$lPk76
» du vil kjøre:
printf "mike:$(openssl passwd -crypt 'Pz$lPk76')\n" | sudo tee -a /etc/squid/htpasswd
mike:2nkgQsTSPCsIo
det neste trinnet er å konfigurere Squid for å aktivere HTTP basic-godkjenning og bruke filen.
Åpne hovedkonfigurasjonen og legg til følgende:
# ...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ørste uthevede linjene oppretter vi en NY ACL som heter authenticated
. Den siste uthevede linjen gir tilgang til godkjente brukere.
Start Squid-tjenesten På Nytt:
sudo systemctl restart squid
Konfigurere brannmur #
hvis du kjører en brannmur, må du åpne port 3128
. For å gjøre det, kjør følgende kommandoer:
sudo firewall-cmd --permanent --add-port=3128/tcp
firewall-cmd --reload
Konfigurere Nettleseren Din Til Å Bruke Proxy #
Nå som Du har Squid satt opp, er det siste trinnet å konfigurere din foretrukne nettleser for å bruke den.
Firefox #
trinnene nedenfor er de samme For Windows, macOS og Linux.
-
i øvre høyre hjørne klikker du på hamburgerikonet
☰
for å åpne Firefox-menyen: -
Klikk på linken
⚙ Preferences
. -
Rull ned til
Network Settings
– delen og klikk påSettings...
– knappen. -
Et nytt vindu åpnes.
- Velg alternativknappen
Manual proxy configuration
. - Skriv Inn Squid-serverens IP-adresse i feltet
HTTP Host
og3128
i feltetPort
. - Merk av for
Use this proxy server for all protocols
. - Klikk på
OK
knappen for å lagre innstillingene.
- Velg alternativknappen
På dette tidspunktet Er Firefox konfigurert, og Du kan surfe På Internett via Squid proxy. For å bekrefte det, åpne google.com
, skriv «hva er min ip» og du bør se Din Squid server IP-adresse.
hvis du vil gå tilbake til standardinnstillingene, går du til Network Settings
, velger alternativknappen Use system proxy settings
og lagrer innstillingene.
Det er også flere plugins som kan hjelpe Deg med å konfigurere Firefox proxy-innstillinger som FoxyProxy.
Google Chrome #
Google Chrome bruker standard systemproxyinnstillinger. I stedet for å endre operativsystemets proxy-innstillinger kan du enten bruke et tillegg som Switchyomegaeller start Chrome nettleser fra kommandolinjen.
for å starte Chrome ved hjelp av en ny profil og koble Til Squid-serveren, bruk følgende 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"
Windows :
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"
profilen vil bli opprettet automatisk hvis den ikke eksisterer. På denne måten kan du kjøre Flere forekomster Av Chrome samtidig.
for å bekrefte at proxy-serveren fungerer som den skal, åpner du google.com
og skriver «hva er min ip». IP-adressen som vises i nettleseren din, bør VÆRE ip-adressen til serveren din.
Konklusjon #
du har lært hvordan du installerer squid På CentOS 7 og konfigurerer nettleseren din til å bruke den.
Squid er en av de mest populære proxy caching serverne. Det forbedrer hastigheten på webserveren og kan hjelpe deg med å begrense brukertilgang til Internett.