Otu esi emepụta proxy HTTP site na iji Squid na CentOS 7/8


Proxies webụ adịla kemgbe ọtụtụ nde ndị ọrụ gburugburu ụwa ejirila ya. Ha nwere ọtụtụ ebumnuche, nke kachasị ewu ewu bụ enweghị aha n'ịntanetị, mana enwere ụzọ ndị ọzọ ị nwere ike isi jiri proxies webụ mee ihe. Nke a bụ ụfọdụ echiche:

  • Amaghị aha n'ịntanetị
  • Melite nchekwa n'ịntanetị
  • Melite oge nbudata
  • gbochie okporo ụzọ ọjọọ
  • Banye ihe omume gị n'ịntanetị
  • Iji gafee mmachi mpaghara
  • N'ọnọdụ ụfọdụ nwere ike ibelata ojiji bandwit

Ihe nkesa proxy bụ kọmpụta a na-eji dị ka onye na-emekọrịta ihe n'etiti onye ahịa na sava ndị ọzọ nke onye ahịa nwere ike ịrịọ ihe onwunwe. Otu ihe atụ dị mfe nke a bụ mgbe onye ahịa na-arịọ arịrịọ n'ịntanetị (dịka ọmụmaatụ chọrọ imepe ibe weebụ), ọ na-ebu ụzọ jikọọ na ihe nkesa proxy.

Ihe nkesa proxy wee lelee cache diski mpaghara ya ma ọ bụrụ na enwere ike ịchọta data ahụ n'ebe ahụ, ọ ga-eweghachi onye ahịa ahụ data ahụ, ọ bụrụ na echekwaghị ya, ọ ga-eme arịrịọ ahụ n'aha onye ahịa site na iji adreesị IP proxy (dị iche na nke ahụ). ndị ahịa) wee weghachi data ahụ na onye ahịa. Ihe nkesa proxy ga-anwa ịchekwa data ọhụrụ ahụ ma ga-eji ya maka arịrịọ ga-eme n'ọdịnihu na otu ihe nkesa ahụ.

Squid bụ onye nnọchi anya webụ nke jiri ọtụtụ ọgbakọ m. A na-ejikarị ya dị ka onye nnọchi anya caching na ịkwalite oge nzaghachi yana ibelata ojiji bandwit.

Maka ebumnuche nke isiokwu a, m ga-etinye Squid na Linode CentOS 7 VPS ma jiri ya dị ka ihe nkesa proxy HTTP.

Otu esi etinye Squid na CentOS 7/8

Tupu anyị amalite, ị kwesịrị ịma na Squid, enweghị ihe ọ bụla chọrọ kacha nta, mana ọnụọgụ RAM nwere ike ịdị iche dabere na ndị ahịa na-eme nchọgharị na ịntanetị site na ihe nkesa proxy.

A na-etinye squid n'ime ebe a na-edebe ebe a na-edebe ihe, yabụ nrụnye dị mfe ma kwụ ọtọ. Tupu ịwụnye ya, Otú ọ dị, jide n'aka na ngwugwu gị dị ọhụrụ site na ịgba ọsọ.

# yum -y update

Gaa n'ihu site na ịwụnye squid, bido wee mee ya na mmalite sistemụ site na iji iwu ndị a.

# yum -y install squid
# systemctl start squid
# systemctl  enable squid

N'oge a, proxy webụ Squid gị kwesịrị ịdị na-agba ọsọ ma ị nwere ike iji nyochaa ọkwa nke ọrụ ahụ.

# 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.

Nke a bụ ụfọdụ ebe faịlụ dị mkpa ị kwesịrị ịma:

  • faịlụ nhazi squid: /etc/squid/squid.conf
  • Akwụkwọ nnweta squid: /var/log/squid/access.log
  • Ndekọ cache squid: /var/log/squid/cache.log

Faịlụ nhazi kacha nta squid.conf dị ka nke a:

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

Na-ahazi Squid ka ọ bụrụ proxy HTTP

N'ebe a, anyị ga-egosi gị otu esi ahazi squid ka ọ bụrụ proxy HTTP site na iji naanị adreesị IP onye ahịa maka nyocha.

Ọ bụrụ na-ịchọrọ ikwe ka adreesị IP nweta webụ site na sava proxy ọhụrụ gị, ị ga-achọ ịgbakwunye ahịrị ACL ọhụrụ (ndepụta njikwa ohere) na faịlụ nhazi.

# vim /etc/squid/squid.conf

Ahịrị ị ga-agbakwunye bụ:

acl localnet src XX.XX.XX.XX

Ebe XX.XX.XX.XX bụ adreesị IP onye ahịa nke ịchọrọ ịgbakwunye. Ekwesịrị ịgbakwunye ahịrị ahụ na mmalite nke faịlụ ebe akọwapụtara ACL. Ọ bụ omume dị mma ịgbakwunye okwu na-esote ACL nke ga-akọwa onye na-eji adreesị IP a.

Ọ dị mkpa ịmara na ọ bụrụ na Squid dị na mpụga netwọkụ mpaghara gị, ị ga-agbakwunye adreesị IP ọha nke onye ahịa.

Ị ga-achọ ịmalitegharị Squid ka mgbanwe ọhụrụ ahụ nwee ike ịmalite.

# systemctl  restart squid

Dịka ị nwere ike ịhụ na faịlụ nhazi, ọ bụ naanị ụfọdụ ọdụ ụgbọ mmiri ka a na-ahapụ maka ijikọ. Ị nwere ike tinyekwuo site na dezie faịlụ nhazi.

acl Safe_ports port XXX

Ebe XXX bụ ọdụ ụgbọ mmiri ịchọrọ ibu. Ọzọ ọ dị mma ịhapụ okwu n'akụkụ nke ahụ ga-akọwa ihe a ga-eji ọdụ ụgbọ mmiri mee ihe.

Ka mgbanwe ndị ahụ wee dị irè, ị ga-achọ ịmalitegharị squid ọzọ.

# systemctl  restart squid

O yikarịrị ka ị ga-achọ ka ndị ọrụ gị nyochaa tupu i jiri proxy. Maka ebumnuche ahụ, ị nwere ike mee ka nyocha HTTP bụ isi. Ọ dị mfe na ngwa ngwa ịhazi.

Nke mbụ, ị ga-achọ arụnyere httpd-tools.

# yum -y install httpd-tools

Ugbu a, ka anyị mepụta faịlụ nke ga-emecha chekwaa aha njirimara maka njirimara. Squid na-eji onye ọrụ na-agba ọsọ squid yabụ faịlụ a kwesịrị ịbụ nke onye ọrụ ahụ nwe ya.

# touch /etc/squid/passwd
# chown squid: /etc/squid/passwd

Ugbu a, anyị ga-emepụta onye ọrụ ọhụrụ a na-akpọ \proxyclient wee hazie paswọọdụ ya.

# htpasswd /etc/squid/passwd proxyclient

New password:
Re-type new password:
Adding password for user proxyclient

Ugbu a iji hazie njirimara mepee faịlụ nhazi.

# vim /etc/squid/squid.conf

Mgbe ọdụ ụgbọ mmiri ACL gbakwunyere ahịrị ndị a:

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

Chekwaa faịlụ ma malitegharịa squid ka mgbanwe ọhụrụ ahụ nwee ike ịmalite:

# systemctl restart squid

N'ikpeazụ, anyị ga-emepụta ACL ikpeazụ nke ga-enyere anyị aka igbochi ebe nrụọrụ weebụ na-achọghị. Nke mbụ, mepụta faịlụ nke ga-echekwa saịtị ndị edochiri anya.

# touch /etc/squid/blacklisted_sites.acl

Ị nwere ike itinye ụfọdụ ngalaba ịchọrọ igbochi. Ọmụmaatụ:

.badsite1.com
.badsite2.com

Ntụpọ na-aga n'ihu na-agwa squid ka ọ gbochie ntụnyere aka na saịtị ahụ gụnyere www.badsite1, subsite.badsite1.com, wdg.

Ugbu a mepee faịlụ nhazi Squid.

# vim /etc/squid/squid.conf

Naanị mgbe ọdụ ụgbọ mmiri ACL gbakwunyere ahịrị abụọ ndị a:

acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl"
http_access deny bad_urls

Ugbu a chekwaa faịlụ ma malitegharịa squid:

# systemctl restart squid

Ozugbo ahaziri ihe niile nke ọma, ugbu a ị nwere ike hazie ihe nchọgharị onye ahịa mpaghara gị ma ọ bụ ntọala netwọkụ sistemu ọrụ iji jiri proxy HTTP squid gị.

N'ime nkuzi a, ị mụtara ka esi etinye, chekwaa na hazie sava Squid HTTP Proxy n'onwe gị. Site na ozi ị nwetara ugbu a, ị nwere ike tinye ụfọdụ nzacha maka okporo ụzọ na-abata na nke na-apụ apụ site na Squid.

Ọ bụrụ n’ịchọrọ ịgafe maịl ọzọ, ị nwere ike hazie squid ka ọ gbochie ụfọdụ webụsaịtị n'oge awa ọrụ iji gbochie ndọpụ uche. Ọ bụrụ na ị nwere ajụjụ ọ bụla ma ọ bụ kwuo, biko biputere ha na ngalaba nkọwa n'okpuru.