Wéi Setup Squid Proxy Server op Ubuntu an Debian
Squid ass e populärste Caching a Forwarding HTTP Web Proxy Server benotzt meng breet Palette vu Firmen fir Websäiten vun engem Webserver ze cache fir Webservergeschwindegkeet ze verbesseren, d'Äntwertzäiten ze reduzéieren an d'Netzbandbreedung ze reduzéieren.
An dësem Artikel wäerte mir erkläre wéi Dir e Squid Proxy Server op Ubuntu an Debian Verdeelungen installéiere kënnt an et als HTTP Proxy Server benotzt.
Wéi installéiere ech Squid op Ubuntu
Ier mer ufänken, sollt Dir wëssen datt Squid Server keng Ufuerderungen huet, awer d'Quantitéit vun der RAM Notzung ka variéieren baséiert op de Clienten déi um Internet iwwer de Proxy Server surfen.
Squid Package ass verfügbar fir aus dem Basis Ubuntu Repository z'installéieren, awer ier dat vergewëssert Iech Är Packagen ze aktualiséieren andeems se lafen.
$ sudo apt update
Wann Är Packagen aktuell sinn, kënnt Dir weiderfuere fir Squid z'installéieren an ze starten an z'aktivéieren beim Systemstart mat de folgende Kommandoen.
$ sudo apt -y install squid $ sudo systemctl start squid $ sudo systemctl enable squid
Zu dësem Zäitpunkt sollt Äre Squid Web Proxy scho lafen an Dir kënnt de Status vum Service verifizéieren mat.
$ 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
Folgend sinn déi e puer wichteg Squid Dateiplazen déi Dir sollt bewosst sinn:
- Squid Konfiguratiounsdatei: /etc/squid/squid.conf
- Squid Access Log: /var/log/squid/access.log
- Squid Cache Log: /var/log/squid/cache.log
D'Standard Konfiguratiounsdatei enthält e puer Konfiguratiounsdirektiven déi musse konfiguréiert ginn fir d'Behuele vum Squid ze beaflossen.
Elo öffnen dës Datei fir z'änneren mam Vi Editor a maacht Ännerungen wéi hei ënnendrënner.
$ sudo vim /etc/squid/squid.conf
Elo kënnt Dir iwwer déi folgend Zeilen sichen an se änneren wéi gefrot, am Vi Editor kënnt Dir iwwer dës Zeilen sichen andeems Dir op den 'ESC' dréckt an den \/ Schlëssel schreift fir de spezifesche Linnen fir ze sichen.
- http_port : Dëst ass den Default Port fir den HTTP Proxy Server, Par défaut ass et 3128, Dir kënnt en op all aner Port änneren, deen Dir wëllt, Dir kënnt och den \transparent derbäisetzen Tag um Enn vun der Linn wéi http_port 8888 transparent fir Squid Proxy ze maachen wéi en transparente Proxy ze handelen wann Dir wëllt.
- http_access deny all : Dës Linn léisst keen Zougang zum HTTP Proxy Server, dofir musst Dir en op http_access änneren, erlaabt all Är Squid Proxy Server ze benotzen.
- visible_hostname : Dës Direktiv gëtt benotzt fir de spezifesche Hostnumm op e Squid-Server ze setzen. Dir kënnt all Hostnumm dem Squid ginn.
Nodeems Dir uewen Ännerunge gemaach hutt, kënnt Dir de Squid Proxy Server mat dem Kommando nei starten.
$ sudo systemctl restart squid
Squid als HTTP Proxy op Ubuntu konfiguréieren
An dëser Squid Konfiguratioun Sektioun wäerte mir Iech erkläre wéi Dir Squid als HTTP Proxy konfiguréiert andeems Dir nëmmen d'Client IP Adress fir Authentifikatioun benotzt.
Wann Dir wëllt nëmmen eng IP Adress Zougang zum Internet duerch Ären neie Proxy Server ze erlaben, musst Dir nei acl (Zougangskontrolllëscht) an der Konfiguratiounsdatei definéieren.
$ sudo vim /etc/squid/squid.conf
D'ACL-Regel, déi Dir addéiere sollt, ass:
acl localnet src XX.XX.XX.XX
Wou XX.XX.XX.XX
d'IP Adress vun der Clientmaschinn ass. Dësen ACL soll am Ufank vun der ACL Sektioun bäigefüügt ginn wéi am folgende Screenshot gewisen.
Et ass ëmmer eng gutt Praxis fir e Kommentar nieft dem ACL ze definéieren deen zum Beispill beschreiwen wien dës IP Adress benotzt.
acl localnet src 192.168.0.102 # Boss IP address
Dir musst Squid Service nei starten fir déi nei Ännerungen a Kraaft ze huelen.
$ sudo systemctl restart squid
Par défaut sinn nëmme gewësse Ports an der Squid Konfiguratioun erlaabt, wann Dir méi wëllt addéieren, definéiert se einfach an der Konfiguratiounsdatei wéi gewisen.
acl Safe_ports port XXX
Wou XXX
d'Portnummer ass, déi Dir zouloosse wëllt. Nach eng Kéier ass et eng gutt Praxis fir e Kommentar nieft acl ze definéieren deen beschreiwen wat den Hafen benotzt gëtt.
Fir datt d'Ännerungen a Kraaft trieden, musst Dir nach eng Kéier Squid nei starten.
$ sudo systemctl restart squid
Fir d'Benotzer z'authentifizéieren ier Dir de Proxy benotzt, musst Dir d'Basis http Authentifikatioun an der Konfiguratiounsdatei aktivéieren, awer virdru musst Dir apache2-utils Package mat de folgende Kommando installéieren.
$ sudo apt install apache2-utils
Erstellt elo eng Datei mam Numm passwd déi spéider de Benotzernumm fir d'Authentifikatioun späichert. Squid leeft mam Benotzer \Proxy sou datt d'Datei vum Benotzer am Besëtz soll sinn.
$ sudo touch /etc/squid/passwd $ sudo chown proxy: /etc/squid/passwd $ ls -l /etc/squid/passwd
Elo wäerte mir en neie Benotzer mam Numm tecmint erstellen a säi Passwuert astellen.
$ sudo htpasswd /etc/squid/passwd tecmint New password: Re-type new password: Adding password for user tecmint
Elo fir d'Basis http Authentifikatioun z'aktivéieren, öffnen d'Konfiguratiounsdatei.
$ sudo vim /etc/squid/squid.conf
No de Ports ACLs addéieren déi folgend Zeilen:
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
Späichert d'Datei a restart Squid sou datt déi nei Ännerungen a Kraaft triede kënnen:
$ sudo systemctl restart squid
Fir Zougang zu ongewollten Websäiten ze blockéieren, erstellt als éischt e Fichier mam Numm blacklisted_sites.acl déi d'schwaarzlëschte Siten dran späichert.
$ sudo touch /etc/squid/blacklisted_sites.acl
Füügt elo d'Websäiten un déi Dir den Zougang wëllt blockéieren, zum Beispill.
.badsite1.com .badsite2.com
De Prozedure Punkt informéiert Squid fir all Referenzen op dës Säiten ze blockéieren, dorënner www.badsite1, subsite.badsite1.com etc.
Elo öffnen d'Squid Konfiguratiounsdatei.
$ sudo vim /etc/squid/squid.conf
Just no den uewe genannten ACLs addéieren déi folgend zwou Linnen:
acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl" http_access deny bad_urls
Elo späichert d'Datei a restart Squid:
$ sudo systemctl restart squid
Fir eng Lëscht vu Schlësselwieder ze blockéieren, erstellt als éischt eng Datei mam Numm blockkeywords.lst deen d'Schwaarzlëschte Schlësselwieder dran späichert.
$ sudo touch /etc/squid/blockkeywords.lst
Füügt elo d'Schlësselwierder un déi Dir wëllt den Zougang blockéieren, zum Beispill.
facebook instagram gmail
Elo öffnen d'Squid Konfiguratiounsdatei a füügt déi folgend Regel un.
acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst" http_access deny blockkeywordlist
Elo späichert d'Datei a restart Squid:
$ sudo systemctl restart squid
Wann alles präzis konfiguréiert ass, kënnt Dir elo Äre lokalen Client Webbrowser oder d'Netz Astellunge vum Betribssystem konfiguréieren fir Ären nei konfiguréierten Squid HTTP Proxy ze benotzen.
Client konfiguréieren fir Squid Proxy ze benotzen
Elo fir ze testen ob Äre Proxy-Server funktionnéiert oder net, kënnt Dir Firefox opmaachen a gitt op Edit -> Preferences -> Advanced -> Network -> Settings a wielt Manuell Proxy Configuration a gitt Är Proxy Server IP Adress a Port fir benotzt ginn fir all Verbindung wéi et follegt.
Wann Dir all déi erfuerderlech Proxy Detailer ausfëllt, kënnt Dir um Internet surfen mat Ärem Squid Proxy Server, Dir kënnt datselwecht maachen an all anere Browser oder Programm Dir wëllt.
Fir sécherzestellen, datt Dir um Internet mat Ärem Proxy-Server surft, kënnt Dir besichen http://www.ipaddresslocation.org/, an der rietser ieweschter Ecke musst Dir déi selwecht IP Adress wéi Är Server IP Adress gesinn.
Fir méi zousätzlech Konfiguratiounsastellungen, kënnt Dir déi offiziell Squiddokumentatioun kucken. Wann Dir Froen oder Kommentarer hutt, füügt se w.e.g. an de Kommentarsektioun hei drënner.