Squid-välityspalvelimen asentaminen ja määrittäminen CentOS 7: ssä
Squid on monipuolinen välimuisti, joka tukee suosittuja verkkoprotokollia, kuten HTTP, HTTPS, FTP ja paljon muuta. Squid-palvelun asettaminen verkkopalvelimen eteen voi parantaa huomattavasti palvelimen suorituskykyä tallentamalla toistuvia pyyntöjä välimuistiin, suodattamalla verkkoliikennettä ja käyttämällä aluerajoitettua sisältöä.
tämä opetusohjelma kertoo, miten Squid asetetaan CentOS 7: ään ja Firefox-ja Google Chrome-verkkoselaimet asetetaan käyttämään välityspalvelinta.
Squid-paketin asentaminen CentOS #
Squid-pakettiin sisältyy CentOS 7: n oletusvarastoihin. Asentaa sen suorita seuraava komento sudo käyttäjä:
sudo yum install squid
kun asennus on valmis, käynnistä Squid-palvelu ja ota se käyttöön:
sudo systemctl start squid
sudo systemctl enable squid
jos haluat varmistaa, että asennus onnistui, kirjoita seuraava komento, joka tulostaa palvelun tilan:
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...
configuring Squid #
Squid voidaan konfiguroida muokkaamalla /etc/squid/squid.conf
– tiedostoa. Muita asetuksia sisältäviä tiedostoja voidaan sisällyttää ”include” – direktiiviin.
ennen kuin teet muutoksia, varmuuskopioi alkuperäinen asetustiedosto komennolla cp
:
sudo cp /etc/squid/squid.conf{,.orginal}
jos haluat muokata tiedostoa, avaa se tekstieditorissa:
sudo nano /etc/squid/squid.conf
oletuksena Squid on määritetty kuuntelemaan portilla 3128
kaikilla palvelimen verkkoliitännöillä.
jos haluat vaihtaa porttia ja asettaa kuunteluliittymän, etsi rivi, joka alkaa numerolla http_port
, ja määritä liittymän IP-osoite ja uusi portti. Jos rajapintaa ei ole määritelty, Squid kuuntelee kaikilla rajapinnoilla.
# Squid normally listens to port 3128http_port IP_ADDR:PORT
Running Squid kaikilla rajapinnoilla ja oletusportti pitäisi olla kunnossa useimmille käyttäjille.
voit hallita pääsyä Squid-palvelimelle Access Control Lists (ACLS) – järjestelmän avulla.
oletusarvoisesti Squid sallii pääsyn vain localhostista ja localnetistä.
jos kaikilla välityspalvelinta käyttävillä asiakkailla on staattinen IP-osoite, voit luoda ACL: n, joka sisältää sallitut IP-osoitteet.
sen sijaan, että IP-osoitteet lisättäisiin pääasetustiedostoon, luomme uuden dedikoidun tiedoston, joka pitää IP-osoitteet:
192.168.33.1# All other allowed IPs
kun olet valmis, avaa pääasetustiedosto ja luo uusi ACL nimeltään allowed_ips
(ensimmäinen korostettu rivi) ja Salli pääsy kyseiseen ACL: ään käyttämällä http_access
direktiiviä (toinen korostettu rivi):
# ...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
http_access
sääntöjen järjestys on tärkeä. Lisää rivi ennen http_access deny all
.
http_access
direktiivi toimii samalla tavalla kuin palomuurisäännöt. Squid lukee säännöt ylhäältä alas, ja kun sääntö vastaa alla olevia sääntöjä ei käsitellä.
aina kun teet muutoksia asetustiedostoon, sinun täytyy käynnistää Squid-palvelu uudelleen, jotta muutokset tulevat voimaan.:
sudo systemctl restart squid
Squid Authentication #
Squid voi käyttää erilaisia takapäitä, kuten Samba, LDAP ja HTTP basic auth todennetuille käyttäjille.
tässä esimerkissä määritämme Kalmarin käyttämään basic authia. Se on HTTP-protokollaan rakennettu yksinkertainen todennusmenetelmä.
käytämme openssl
salasanojen luomiseen ja liitämme username:password
parin /etc/squid/htpasswd
tiedostoon tee
komennolla kuten alla on esitetty:
printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd
esimerkiksi jos haluat luoda käyttäjän nimeltä ” mike ”salasanalla” Pz$lPk76
”, ajaisit:
printf "mike:$(openssl passwd -crypt 'Pz$lPk76')\n" | sudo tee -a /etc/squid/htpasswd
mike:2nkgQsTSPCsIo
seuraava vaihe on määrittää Squid ottamaan HTTP – Perustodennus käyttöön ja käyttämään tiedostoa.
avaa pääkokoonpano ja lisää seuraava:
# ...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
kolmella ensimmäisellä korostetulla rivillä luodaan uusi eturistiside, jonka nimi on authenticated
. Viimeinen korostettu rivi mahdollistaa pääsyn todennetuille käyttäjille.
Käynnistä Squid-palvelu uudelleen:
sudo systemctl restart squid
Configuring firewall #
If you are running a firewallyou ’ ll need to open port 3128
. Voit tehdä niin suorita seuraavat komennot:
sudo firewall-cmd --permanent --add-port=3128/tcp
firewall-cmd --reload
selaimen määrittäminen käyttämään välityspalvelinta #
nyt kun olet määrittänyt Squid-ohjelman, viimeinen vaihe on määrittää haluamasi selain käyttämään sitä.
Firefox #
alla olevat vaiheet ovat samat Windowsille, macOS: lle ja Linuxille.
-
napsauta oikeassa yläkulmassa olevaa hamburger-kuvaketta
☰
avataksesi Firefoxin valikon: -
klikkaa
⚙ Preferences
– linkkiä. -
Vieritä
Network Settings
– osioon ja klikkaaSettings...
– painiketta. -
uusi ikkuna avautuu.
- valitse
Manual proxy configuration
– Radiopainike. - syötä Squid-palvelimen IP-osoite
HTTP Host
kenttään ja3128
Port
kenttään. - valitse
Use this proxy server for all protocols
– valintaruutu. - Napsauta
OK
– painiketta tallentaaksesi asetukset.
- valitse
tässä vaiheessa Firefox on määritetty ja voit selata Internetiä Squid-välityspalvelimen kautta. Voit tarkistaa sen avaamalla google.com
kirjoittamalla ”mikä on ip-osoitteeni” ja sinun pitäisi nähdä Squid-palvelimen IP-osoite.
palataksesi oletusasetuksiin siirry kohtaan Network Settings
, valitse Use system proxy settings
– Radiopainike ja tallenna asetukset.
on myös useita liitännäisiä, joiden avulla voit määrittää Firefoxin välityspalvelinasetukset, kuten Foxyproxyn.
Google Chrome #
Google Chrome käyttää järjestelmän välityspalvelimen oletusasetuksia. Käyttöjärjestelmän välityspalvelinasetusten muuttamisen sijaan voit käyttää komentoriviltä joko lisäosaa, kuten SwitchyOmegaor start Chrome-verkkoselainta.
käynnistääksesi Chromen uuden profiilin avulla ja muodostaaksesi yhteyden Squid-palvelimeen, käytä seuraavaa komentoa:
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"
ikkunat :
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"
profiili luodaan automaattisesti, jos sitä ei ole olemassa. Näin voit suorittaa useita Chromen instansseja samanaikaisesti.
jos haluat varmistaa välityspalvelimen toimivan oikein, avaa google.com
ja kirjoita ”what is my ip”. Selaimessasi näkyvän IP-osoitteen pitäisi olla palvelimesi IP-osoite.
Conclusion #
you have learned how to install squid on CentOS 7 and configure your browser to use it.
Squid on yksi suosituimmista välityspalvelimista. Se parantaa web-palvelimen nopeutta ja voi auttaa sinua rajoittamaan käyttäjän pääsyä Internetiin.