Sådan konfigureres "Squid Proxy" -server på Ubuntu og Debian
Blæksprutte er en mest populær caching og videresendelse af HTTP-web-proxyserver, der brugte min brede vifte af virksomheder til at cache websider fra en webserver for at forbedre webserverhastigheden, reducere responstider og reducere netværksbåndbreddebrug.
I denne artikel forklarer vi, hvordan du installerer en blæksprutte-proxyserver på Ubuntu- og Debian-distributioner og bruger den som en HTTP-proxyserver.
Sådan installeres blæksprutte på Ubuntu
Før vi begynder, skal du vide, at Squid-serveren ikke har nogen krav, men mængden af RAM-udnyttelse kan variere afhængigt af klienter, der surfer på internettet via proxyserveren.
Blækspruttepakken er tilgængelig til installation fra basis Ubuntu-arkivet, men sørg inden for det for at opdatere dine pakker ved at køre.
$ sudo apt update
Når dine pakker er opdaterede, kan du gå videre med at installere blæksprutte og starte og aktivere den ved systemstart ved hjælp af følgende kommandoer.
$ sudo apt -y install squid $ sudo systemctl start squid $ sudo systemctl enable squid
På dette tidspunkt skal din Squid-webproxy allerede køre, og du kan kontrollere status for tjenesten med.
$ sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Tue 2018-12-04 06:42:43 UTC; 14min ago Docs: man:systemd-sysv-generator(8) Tasks: 4 (limit: 1717) CGroup: /system.slice/squid.service ├─2761 /usr/sbin/squid -YC -f /etc/squid/squid.conf ├─2766 (squid-1) -YC -f /etc/squid/squid.conf ├─2768 (logfile-daemon) /var/log/squid/access.log └─2772 (pinger) Dec 04 06:42:43 tecmint systemd[1]: Starting LSB: Squid HTTP Proxy version 3.x... Dec 04 06:42:43 tecmint squid[2708]: * Starting Squid HTTP Proxy squid Dec 04 06:42:43 tecmint squid[2708]: ...done. Dec 04 06:42:43 tecmint systemd[1]: Started LSB: Squid HTTP Proxy version 3.x. Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: will start 1 kids Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: (squid-1) process 2766 started
Følgende er nogle vigtige blækspruttefilplaceringer, du skal være opmærksom på:
- Blækspruttekonfigurationsfil: /etc/squid/squid.conf
- Blæksprutteadgangslog: /var/log/squid/access.log
- Blæksprutte-cache-log: /var/log/squid/cache.log
Standardkonfigurationsfilen indeholder nogle konfigurationsdirektiver, der skal konfigureres for at påvirke blæksprutte.
Åbn nu denne fil til redigering ved hjælp af Vi editor og foretag ændringer som vist nedenfor.
$ sudo vim /etc/squid/squid.conf
Nu kan du søge efter de følgende linjer og ændre dem som ønsket, i Vi-editoren kan du søge om disse linjer ved at trykke på 'ESC' og skrive "/" -tasten for at skrive de specifikke linjer at lede efter.
- http_port : Dette er standardporten til HTTP-proxyserveren, som standard er det 3128, du kan ændre den til en hvilken som helst anden port, du ønsker, du kan også tilføje det "gennemsigtige" tag til slutningen af linjen som http_port 8888 gennemsigtig for at få blæksprutte-proxy til at fungere som en gennemsigtig proxy, hvis du vil.
- http_access nægter alle : Denne linje giver ingen adgang til HTTP-proxyserveren, det er derfor, du skal ændre den til http_access, så alle kan begynde at bruge din Squid-proxyserver.
- synlig_hostnavn : Dette direktiv bruges til at indstille det specifikke værtsnavn til en blæksprutterserver. Du kan give ethvert værtsnavn til blæksprutter.
Efter at have foretaget ovenstående ændringer kan du genstarte Squid-proxyserveren ved hjælp af kommandoen.
$ sudo systemctl restart squid
Konfiguration af blæksprutte som en HTTP-proxy på Ubuntu
I dette sektion for blækspruttekonfiguration forklarer vi dig, hvordan du konfigurerer blæksprutter som en HTTP-proxy, der kun bruger klientens IP-adresse til godkendelse.
Hvis du kun vil tillade en IP-adresse at få adgang til internettet via din nye proxyserver, skal du definere ny acl (adgangskontrolliste) i konfigurationsfilen.
$ sudo vim /etc/squid/squid.conf
Den acl-regel, du skal tilføje, er:
acl localnet src XX.XX.XX.XX
Hvor XX.XX.XX.XX
er IP-adressen på klientmaskinen. Denne ACL skal tilføjes i begyndelsen af ACL's sektion som vist i det følgende skærmbillede.
Det er altid en god praksis at definere en kommentar ved siden af ACL, som f.eks. Beskriver, hvem der bruger denne IP-adresse.
acl localnet src 192.168.0.102 # Boss IP address
Du bliver nødt til at genstarte blæksprutte-tjenesten for at træde i kraft de nye ændringer.
$ sudo systemctl restart squid
Som standard er kun visse porte tilladt i blækspruttekonfigurationen, hvis du vil tilføje mere, skal du bare definere dem i konfigurationsfilen som vist.
acl Safe_ports port XXX
Hvor XXX
er det portnummer, du vil tillade. Igen er det en god praksis at definere en kommentar ved siden af ACL, der beskriver, hvad porten skal bruges til.
For at ændringerne skal træde i kraft, skal du genstarte blæksprutten igen.
$ sudo systemctl restart squid
For at tillade brugere at godkende, før de bruger proxyen, skal du aktivere grundlæggende http-godkendelse i konfigurationsfilen, men inden det skal du installere apache2-utils-pakken ved hjælp af følgende kommando.
$ sudo apt install apache2-utils
Opret nu en fil kaldet "passwd", der senere gemmer brugernavnet til godkendelse. Blæksprutter kører med brugerens "proxy", så filen skal ejes af den bruger.
$ sudo touch /etc/squid/passwd $ sudo chown proxy: /etc/squid/passwd $ ls -l /etc/squid/passwd
Nu opretter vi en ny bruger kaldet “tecmint” og opsætter dens adgangskode.
$ sudo htpasswd /etc/squid/passwd tecmint New password: Re-type new password: Adding password for user tecmint
Åbn nu konfigurationsfilen for at aktivere grundlæggende http-godkendelse.
$ sudo vim /etc/squid/squid.conf
Efter portens ACL'er tilføjes følgende linjer:
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd auth_param basic children 5 auth_param basic realm Squid Basic Authentication auth_param basic credentialsttl 2 hours acl auth_users proxy_auth REQUIRED http_access allow auth_users
Gem filen og genstart blæksprutter, så de nye ændringer kan træde i kraft:
$ sudo systemctl restart squid
For at blokere adgangen til uønskede websteder skal du først oprette en fil kaldet “blacklisted_sites.acl”, der gemmer de sortlistede websteder i den.
$ sudo touch /etc/squid/blacklisted_sites.acl
Tilføj nu f.eks. De websteder, som du ønsker at blokere for adgang.
.badsite1.com .badsite2.com
Den fortsatte prik informerer blæksprutte om at blokere alle referencer til disse websteder, inklusive www.badsite1, subsite.badsite1.com osv.
Åbn nu Squid's konfigurationsfil.
$ sudo vim /etc/squid/squid.conf
Lige efter ovenstående ACL'er tilføj følgende to linjer:
acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl" http_access deny bad_urls
Gem nu filen og genstart blæksprutter:
$ sudo systemctl restart squid
For at blokere en liste med nøgleord skal du først oprette en fil kaldet "blockkeywords.lst", der gemmer de sortliste nøgleord i den.
$ sudo touch /etc/squid/blockkeywords.lst
Tilføj nu de nøgleord, som du f.eks. Ønsker at blokere for adgang.
facebook instagram gmail
Åbn nu Squid's konfigurationsfil, og tilføj følgende regel.
acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst" http_access deny blockkeywordlist
Gem nu filen og genstart blæksprutter:
$ sudo systemctl restart squid
Når alt er konfigureret nøjagtigt, kan du nu konfigurere din lokale klientwebbrowser eller operativsystemets netværksindstillinger til at bruge din nyligt konfigurerede blæksprutte HTTP-proxy.
Konfigurer klient til at bruge blæksprutteproxy
Nu for at teste, at din proxyserver fungerer eller ikke, kan du åbne Firefox og gå til Rediger -> Indstillinger -> Avanceret -> Netværk -> Indstillinger og vælge "Manuel proxy-konfiguration" og indtaste din proxyserver IP-adresse og port, der skal være bruges til al forbindelse som følger.
Når du har udfyldt alle de krævede proxydetaljer, vil du være i stand til at surfe på nettet ved hjælp af din Squid-proxyserver. Du kan muligvis gøre det samme i en hvilken som helst anden browser eller et program, du ønsker.
For at sikre, at du surfer på nettet ved hjælp af din proxyserver, kan du besøge http://www.ipaddresslocation.org/, i øverste højre hjørne skal du se den samme IP-adresse som serverens IP-adresse.
For flere yderligere konfigurationsindstillinger kan du tjekke den officielle blæksprutte-dokumentation. Hvis du har spørgsmål eller kommentarer, bedes du tilføje dem i kommentarfeltet nedenfor.