CentOS 7/8-de Squid ulanyp, HTTP proksi nädip döretmeli
Web proksi birnäçe wagt bäri bar we ýer ýüzündäki millionlarça ulanyjy tarapyndan ulanylýar. Olaryň dürli maksatlary bar, iň meşhurlary onlaýn anonim bolmak, ýöne web proksi-lerinden peýdalanmagyň başga ýollary bar. Ine käbir pikirler:
- Onlaýn anonimlik
- Onlaýn howpsuzlygy gowulandyrmak
- adingükleme wagtyny gowulandyrmak
- Zyýanly traffigi blokirläň
- Onlaýn işjeňligiňizi ýazyň
- Sebitleýin çäklendirmeleri aýyrmak üçin
- Käbir ýagdaýlarda geçirijilik giňligini azaldyp biler
Proksi serwer, müşderi bilen çeşmäniň talap edip biljek beýleki serwerleriniň arasynda araçy hökmünde ulanylýan kompýuterdir. Muňa ýönekeý mysal, müşderi onlaýn haýyşlar edeninde (mysal üçin web sahypasyny açmak isleýär), ilki bilen proksi serwerine birikýär.
Proksi serweri soňra ýerli disk keşini barlaýar we maglumatlary şol ýerden tapyp bolýan bolsa, maglumatlary müşderä gaýtaryp berer, keş bolmasa, proksi IP adresini ulanyp müşderiniň adyndan haýyş eder. müşderiler) we soňra maglumatlary müşderä gaýtaryp beriň. Proksi serweri täze maglumatlary keşlemäge synanyşar we geljekde şol bir serwere edilen haýyşlar üçin ulanar.
“Squid” meniň giň guramalarymy ulanýan web proksi. Köplenç keş keşi proksi we jogap wagtyny gowulaşdyrmak we geçirijilik giňligini azaltmak hökmünde ulanylýar.
Bu makalanyň maksady üçin, “Linode CentOS 7 VPS” -e “Squid” guraryn we ony HTTP proksi serweri hökmünde ulanaryn.
“CentOS 7/8” -de “Squid” -i nädip gurmaly
Başlamazdan ozal, “Squid” -iň iň pes talaplarynyň ýokdugyny bilmelisiňiz, ýöne proksi serwer arkaly internete girýän müşderilere baglylykda RAM ulanylyşynyň mukdary üýtgäp biler.
“Squid” esasy ammarda ýerleşýär we şonuň üçin gurnama ýönekeý we gönümel. Şeýle-de bolsa, ony gurmazdan ozal, paketleriňiziň işleýändigine göz ýetiriň.
# yum -y update
“Squid” gurup dowam etdiriň, aşakdaky buýruklary ulanyp, ulgam işine başlaň we işlediň.
# yum -y install squid # systemctl start squid # systemctl enable squid
Bu pursatda, “Squid” web proksiňiz eýýäm işlemeli we hyzmatyň ýagdaýyny barlap bilersiňiz.
# systemctl status squid
● squid.service - Squid caching proxy Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2018-09-20 10:07:23 UTC; 5min ago Main PID: 2005 (squid) CGroup: /system.slice/squid.service ├─2005 /usr/sbin/squid -f /etc/squid/squid.conf ├─2007 (squid-1) -f /etc/squid/squid.conf └─2008 (logfile-daemon) /var/log/squid/access.log Sep 20 10:07:23 tecmint systemd[1]: Starting Squid caching proxy... Sep 20 10:07:23 tecmint squid[2005]: Squid Parent: will start 1 kids Sep 20 10:07:23 tecmint squid[2005]: Squid Parent: (squid-1) process 2007 started Sep 20 10:07:23 tecmint systemd[1]: Started Squid caching proxy.
Ine, bilmeli möhüm faýl ýerleriňiz:
- Squid konfigurasiýa faýly: /etc/squid/squid.conf
- Squid giriş gündeligi: /var/log/squid/access.log
- Squid Keş gündeligi: /var/log/squid/cache.log
Iň az squid.conf
konfigurasiýa faýly (içindäki düşündirişsiz) şuňa meňzeýär:
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localnet http_access allow localhost http_access deny all http_port 3128 coredump_dir /var/spool/squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320
Squid-i HTTP proksi hökmünde düzmek
Bu ýerde, tassyklamak üçin diňe müşderiniň IP adresini ulanyp, skidini HTTP proksi hökmünde nädip düzmelidigini görkezeris.
IP adresi täze proksi serweriňiz arkaly internete girmäge rugsat bermek isleseňiz, konfigurasiýa faýlynda täze ACL (giriş gözegçilik sanawy) setirini goşmaly bolarsyňyz.
# vim /etc/squid/squid.conf
Goşmaly setiriňiz:
acl localnet src XX.XX.XX.XX
Bu ýerde XX.XX.XX.XX goşmak isleýän müşderiňiziň hakyky IP adresi. ACL-ler kesgitlenen faýlyň başynda setir goşulmaly. ACL-iň gapdalynda bu IP adresi kimiň ulanýandygyny düşündirjek teswir goşmak gowy tejribe.
“Squid” ýerli ulgamyňyzyň daşynda ýerleşýän bolsa, müşderiniň umumy IP adresini goşmalydygyny bellemelidiris.
Täze üýtgeşmeleriň güýje girmegi üçin Squid-i täzeden açmaly bolarsyňyz.
# systemctl restart squid
Sazlama faýlynda görşüňiz ýaly, birikmek üçin diňe käbir portlara rugsat berilýär. Sazlama faýlyny redaktirläp has köp goşup bilersiňiz.
acl Safe_ports port XXX
XXX ýüklemek isleýän hakyky portuňyz. Againene-de portuň näme üçin ulanyljakdygyny suratlandyrýan gapdalynda teswir goýmak gowy pikir.
Üýtgeşmeleriň güýje girmegi üçin skidini ýene bir gezek täzeden açmaly bolarsyňyz.
# systemctl restart squid
Proksi ulanmazdan ozal ulanyjylaryňyzyň hakykylygyny tassyklamagyny islärsiňiz. Şol maksat bilen, esasy HTTP tassyklamasyny açyp bilersiňiz. Sazlamak aňsat we çalt.
Ilki bilen, httpd-gurallary gurnalar.
# yum -y install httpd-tools
Indi tassyklamak üçin ulanyjy adyny saklaýan bir faýl döredeliň. “Squid” ulanyjy\“squid” bilen işleýär, şonuň üçin faýl şol ulanyja degişli bolmaly.
# touch /etc/squid/passwd # chown squid: /etc/squid/passwd
Indi\proksient atly täze ulanyjy dörederis we parolyny gurarys.
# htpasswd /etc/squid/passwd proxyclient New password: Re-type new password: Adding password for user proxyclient
Hakyky tanamak üçin konfigurasiýa faýly açyň.
# vim /etc/squid/squid.conf
Portlardan soň ACL-ler aşakdaky setirleri goşýarlar:
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
Täze üýtgeşmeleriň güýje girmegi üçin faýly ýazdyryň we squid-i täzeden açyň:
# systemctl restart squid
Ahyrynda, islenmeýän web sahypalaryny blokirlemäge kömek etjek iň soňky ACL dörederis. Ilki bilen gara sanawdaky sahypalary saklaýan faýly dörediň.
# touch /etc/squid/blacklisted_sites.acl
Blokirlemek isleýän käbir domenleriňizi goşup bilersiňiz. Mysal üçin:
.badsite1.com .badsite2.com
Dowam edýän nokat, www.badsite1, subsite.badsite1.com we ş.m. ýaly sahypalara salgylanmalaryň hemmesini blokirlemegi aýdýar.
Indi “Squid” -iň konfigurasiýa faýlyny açyň.
# vim /etc/squid/squid.conf
Portlardan soň ACL-ler aşakdaky iki setiri goşýarlar:
acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl" http_access deny bad_urls
Indi faýly ýazdyryň we squid-i täzeden açyň:
# systemctl restart squid
Everythinghli zat dogry düzülensoň, indi ýerli müşderi brauzeriňizi ýa-da operasiýa ulgamynyň set sazlamalaryny, HTTP proksi-ni ulanmak üçin düzüp bilersiňiz.
Bu gollanmada, “Squid HTTP Proxy” serwerini özbaşdak gurmagy, goramagy we sazlamagy öwrendiňiz. Justaňy alan maglumatlaryňyz bilen, indi “Squid” -iň üsti bilen gelýän we çykýan traffik üçin esasy süzgüç goşup bilersiňiz.
Goşmaça bir kilometre barmak isleseňiz, ünsüňizi sowmak üçin iş wagty käbir web sahypalaryny blokirlemek üçin skid düzüp bilersiňiz. Soraglaryňyz ýa-da teswirleriňiz bar bolsa, aşakdaky teswir bölüminde goýmagyňyzy haýyş edýäris.