Sådan installeres og konfigureres blæksprutte fuldmagt på CentOS 7
blæksprutte er en komplet cache-fuldmagt, der understøtter populære netværksprotokoller som HTTP, HTTPS, FTP og mere. Placering af blæksprutte foran en internetserver kan i høj grad forbedre serverens ydeevne ved at cachelagre gentagne anmodninger, filtrere internettrafik og få adgang til geobegrænset indhold.
denne vejledning forklarer, hvordan du konfigurerer blæksprutte på CentOS 7 og konfigurerer Google Chrome til at bruge fuldmagten.
installation blæksprutte på CentOS #
blæksprutte pakke er inkluderet i standard CentOS 7 repositories. For at installere det køre følgende kommando som sudo bruger:
sudo yum install squid
når installationen er afsluttet, skal du starte og aktivere blæksprutte-tjenesten:
sudo systemctl start squid
sudo systemctl enable squid
for at kontrollere, at installationen var vellykket, skal du skrive følgende kommando, der udskriver servicestatus:
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...
konfiguration af blæksprutte #
blæksprutte kan konfigureres ved at redigere filen /etc/squid/squid.conf
. Yderligere filer med konfigurationsindstillinger kan inkluderes ved hjælp af “Inkluder” – direktivet.
før du foretager ændringer, skal du sikkerhedskopiere den originale konfigurationsfil med kommandoen cp
:
sudo cp /etc/squid/squid.conf{,.orginal}
for at redigere filen skal du åbne den i din teksteditor:
sudo nano /etc/squid/squid.conf
som standard er blæksprutte konfigureret til at lytte på port 3128
på alle netværksgrænseflader på serveren.
hvis du vil ændre porten og indstille en lyttegrænseflade, skal du finde linjen, der starter med http_port
, og angive interface-IP-adressen og den nye port. Hvis der ikke er angivet nogen grænseflade blæksprutte vil lytte på alle grænseflader.
# Squid normally listens to port 3128http_port IP_ADDR:PORT
at køre blæksprutte på alle grænseflader og på standardporten skal være fint for de fleste brugere.
du kan styre adgangen til Blæksprutteserveren ved hjælp af Adgangskontrollisterne (ACLs).
som standard tillader blæksprutte kun adgang fra localhost og localnet.
hvis alle de klienter, der bruger fuldmagten, har en statisk IP-adresse, kan du oprette en ACL, der inkluderer de tilladte IP ‘ er.
i stedet for at tilføje IP-adresserne i hovedkonfigurationsfilen opretter vi en ny dedikeret fil, der indeholder IPs:
192.168.33.1# All other allowed IPs
når du er færdig, skal du åbne hovedkonfigurationsfilen og oprette en ny ACL med navnet allowed_ips
(første fremhævede linje) og give adgang til den ACL ved hjælp af http_access
direktivet (anden fremhævede 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
rækkefølgen af http_access
regler er vigtig. Sørg for at tilføje linjen før http_access deny all
.
http_access
direktivet fungerer på samme måde som brandvægsreglerne. Blæksprutte læser reglerne fra top til bund, og når en regel matcher reglerne nedenfor ikke behandles.
når du foretager ændringer i konfigurationsfilen, skal du genstarte blæksprutte-tjenesten for at ændringerne skal træde i kraft:
sudo systemctl restart squid
blæksprutte autentificering #
blæksprutte kan bruge forskellige bagender, herunder Samba, LDAP og HTTP basic auth til godkendte brugere.
i dette eksempel konfigurerer vi blæksprutte til at bruge basic auth. Det er en simpel godkendelsesmetode indbygget i HTTP-protokollen.
vi bruger openssl
til at generere adgangskoder og tilføje username:password
par 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 at oprette en bruger ved navn ” mike “med adgangskode” Pz$lPk76
” du ville køre:
printf "mike:$(openssl passwd -crypt 'Pz$lPk76')\n" | sudo tee -a /etc/squid/htpasswd
mike:2nkgQsTSPCsIo
det næste trin er at konfigurere blæksprutte for at aktivere HTTP basic-godkendelse og bruge filen.
Åbn hovedkonfigurationen og tilføj 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 første tre fremhævede linjer opretter vi en ny ACL med navnet authenticated
. Den sidste fremhævede linje giver adgang til godkendte brugere.
genstart blæksprutte service:
sudo systemctl restart squid
konfiguration af brandvæg #
hvis du kører en brandvægdu skal åbne port 3128
. For at gøre det skal du køre følgende kommandoer:
sudo firewall-cmd --permanent --add-port=3128/tcp
firewall-cmd --reload
#
nu hvor du har oprettet blæksprutte, er det sidste trin at konfigurere din foretrukne bro.ser til at bruge den.
brandbekæmpelse #
nedenstående trin er de samme for macOS.
-
klik på hamburgerikonet i øverste højre hjørne
☰
for at åbne menuen: -
Klik på linket
⚙ Preferences
. -
Rul ned til
Network Settings
sektionen og klik påSettings...
knappen. -
et nyt vindue åbnes.
- vælg alternativknappen
Manual proxy configuration
. - Indtast din IP-adresse i feltet
HTTP Host
og3128
i feltetPort
. - Marker afkrydsningsfeltet
Use this proxy server for all protocols
. - Klik på knappen
OK
for at gemme indstillingerne.
- vælg alternativknappen
på dette tidspunkt, din Firefoks er konfigureret, og du kan surfe på internettet via blæksprutte fuldmagt. For at bekræfte det skal du åbne google.com
, skrive “hvad er min ip”, og du skal se din blæksprutte server IP-adresse.
for at vende tilbage til standardindstillingerne skal du gå til Network Settings
, vælge alternativknappen Use system proxy settings
og gemme indstillingerne.
der er også flere plugins, der kan hjælpe dig med at konfigurere f.eks.
Google Chrome #
Google Chrome bruger standardindstillingerne for systemets fuldmagt. I stedet for at ændre indstillingerne for dit operativsystem kan du enten bruge en tilføjelse som f.eks.
for at starte Chrome ved hjælp af en ny profil og oprette forbindelse til Blæksprutteserveren skal du bruge følgende kommando:
:
/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"
vinduer :
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"
profilen oprettes automatisk, hvis den ikke findes. På denne måde kan du køre flere forekomster af Chrome på samme tid.
for at bekræfte, at fuldmagts-serveren fungerer korrekt, skal du åbne google.com
og skrive “hvad er min ip”. Den IP, der vises på din server, skal være IP-adressen på din server.
konklusion #
du har lært, hvordan du installerer blæksprutte på CentOS 7 og konfigurerer din bro.ser til at bruge den.
blæksprutte er en af de mest populære fuldmægtige caching servere. Det forbedrer hastigheden på internetserveren og kan hjælpe dig med at begrænse brugeradgang til internettet.