നിയന്ത്രിത ആക്uസസ് ഉള്ള സ്uക്വിഡ് പ്രോക്uസി സെർവർ കോൺഫിഗർ ചെയ്യുകയും പ്രോക്uസി ഉപയോഗിക്കുന്നതിന് ക്ലയന്റുകളെ സജ്ജീകരിക്കുകയും ചെയ്യുന്നു - ഭാഗം 5


ഒരു ലിനക്സ് ഫൗണ്ടേഷൻ സർട്ടിഫൈഡ് എഞ്ചിനീയർ ലിനക്സ് സിസ്റ്റങ്ങളിൽ നെറ്റ്uവർക്ക് സേവനങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്യാനും നിയന്ത്രിക്കാനും ട്രബിൾഷൂട്ട് ചെയ്യാനും വൈദഗ്ധ്യമുള്ള ഒരു വിദഗ്ദ്ധ പ്രൊഫഷണലാണ്, കൂടാതെ സിസ്റ്റത്തിന്റെ രൂപകൽപ്പന, നടപ്പിലാക്കൽ, നിലവിലുള്ള അറ്റകുറ്റപ്പണികൾ എന്നിവയുടെ ചുമതലയുണ്ട്- വിശാലമായ വാസ്തുവിദ്യ.

ലിനക്സ് ഫൗണ്ടേഷൻ സർട്ടിഫിക്കേഷൻ പ്രോഗ്രാം അവതരിപ്പിക്കുന്നു.

ഈ സീരീസിന്റെ ഭാഗം 1 ൽ, വെബ് ക്ലയന്റുകളുടെ പ്രോക്സി കാഷിംഗ് സെർവറായ squid എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്ന് ഞങ്ങൾ കാണിച്ചുതന്നു. നിങ്ങളുടെ സിസ്റ്റത്തിൽ ഇതുവരെ കണവ ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ തുടരുന്നതിന് മുമ്പ് ദയവായി ആ പോസ്റ്റ് (ചുവടെ നൽകിയിരിക്കുന്ന ലിങ്ക്) പരിശോധിക്കുക.

  1. ഭാഗം 1 - നെറ്റ്uവർക്ക് സേവനങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്യുകയും ബൂട്ടിൽ ഓട്ടോ സ്റ്റാർട്ടപ്പ് ക്രമീകരിക്കുകയും ചെയ്യുക

ഈ ലേഖനത്തിൽ, ഇന്റർനെറ്റ് ആക്uസസ് അനുവദിക്കുന്നതിനോ നിയന്ത്രിക്കുന്നതിനോ വേണ്ടി സ്uക്വിഡ് പ്രോക്uസി സെർവർ എങ്ങനെ കോൺഫിഗർ ചെയ്യാമെന്നും ആ പ്രോക്uസി സെർവർ ഉപയോഗിക്കുന്നതിന് ഒരു http ക്ലയന്റ് അല്ലെങ്കിൽ വെബ് ബ്രൗസർ എങ്ങനെ കോൺഫിഗർ ചെയ്യാമെന്നും ഞങ്ങൾ നിങ്ങളെ കാണിക്കും.

Operating System :	Debian Wheezy 7.5
IP Address 	 :	192.168.0.15
Hostname	 :	dev2.gabrielcanepa.com.ar
Operating System :	Ubuntu 12.04
IP Address 	 :	192.168.0.104 
Hostname	 :	ubuntuOS.gabrielcanepa.com.ar
Operating System :	CentOS-7.0-1406
IP Address 	 :	192.168.0.17 
Hostname	 :	dev1.gabrielcanepa.com.ar

ലളിതമായി പറഞ്ഞാൽ, ഒരു വെബ് പ്രോക്സി സെർവർ ഒന്നോ അതിലധികമോ ക്ലയന്റ് കമ്പ്യൂട്ടറുകൾക്കും ഒരു പ്രത്യേക നെറ്റ്uവർക്ക് റിസോഴ്uസിനും ഇടയിലുള്ള ഒരു ഇടനിലക്കാരനാണെന്ന് നമുക്ക് ഓർക്കാം, ഏറ്റവും സാധാരണമായത് ഇന്റർനെറ്റിലേക്കുള്ള ആക്uസസ് ആണ്. മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, പ്രോക്സി സെർവർ ഒരു വശത്ത് നേരിട്ട് ഇൻറർനെറ്റിലേക്കും (അല്ലെങ്കിൽ ഇന്റർനെറ്റുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന ഒരു റൂട്ടറിലേക്കും) മറുവശത്ത് വേൾഡ് വൈഡ് വെബിലേക്ക് പ്രവേശിക്കുന്ന ക്ലയന്റ് കമ്പ്യൂട്ടറുകളുടെ ഒരു ശൃംഖലയുമായും ബന്ധിപ്പിച്ചിരിക്കുന്നു.

എന്റെ നെറ്റ്uവർക്ക് ഇൻഫ്രാസ്ട്രക്ചറിലേക്ക് മറ്റൊരു സോഫ്റ്റ്uവെയർ ചേർക്കാൻ ഞാൻ ആഗ്രഹിക്കുന്നത് എന്തുകൊണ്ടാണെന്ന് നിങ്ങൾ ചിന്തിച്ചേക്കാം?

1. ഭാവി കൈമാറ്റങ്ങൾ വേഗത്തിലാക്കാൻ മുൻ അഭ്യർത്ഥനകളിൽ നിന്നുള്ള ഫയലുകൾ സ്ക്വിഡ് സംഭരിക്കുന്നു. ഉദാഹരണത്തിന്, ഇന്റർനെറ്റിൽ നിന്ന് client1 CentOS-7.0-1406-x86_64-DVD.iso ഡൗൺലോഡ് ചെയ്യുന്നു എന്ന് കരുതുക. client2 ഒരേ ഫയലിലേക്ക് ആക്uസസ് അഭ്യർത്ഥിക്കുമ്പോൾ, ഇന്റർനെറ്റിൽ നിന്ന് വീണ്ടും ഡൗൺലോഡ് ചെയ്യുന്നതിനുപകരം squid-ന് അതിന്റെ കാഷെയിൽ നിന്ന് ഫയൽ കൈമാറാൻ കഴിയും. നിങ്ങൾക്ക് ഊഹിക്കാവുന്നതുപോലെ, ഏതെങ്കിലും തരത്തിലുള്ള പതിവ് അപ്uഡേറ്റുകൾ ആവശ്യമുള്ള കമ്പ്യൂട്ടറുകളുടെ ഒരു നെറ്റ്uവർക്കിൽ ഡാറ്റ കൈമാറ്റം വേഗത്തിലാക്കാൻ നിങ്ങൾക്ക് ഈ സവിശേഷത ഉപയോഗിക്കാം.

2. ACLs (ആക്uസസ് കൺട്രോൾ ലിസ്റ്റുകൾ) വെബ്uസൈറ്റുകളിലേക്കുള്ള ആക്uസസ് നിയന്ത്രിക്കാനും കൂടാതെ/അല്ലെങ്കിൽ ഓരോ ഉപയോക്താവിന്റെ അടിസ്ഥാനത്തിൽ ആക്uസസ് നിരീക്ഷിക്കാനും ഞങ്ങളെ അനുവദിക്കുന്നു. ഉദാഹരണത്തിന്, ആഴ്uചയിലെ ദിവസമോ ദിവസത്തിന്റെ സമയമോ അല്ലെങ്കിൽ ഡൊമെയ്uനോ അടിസ്ഥാനമാക്കി നിങ്ങൾക്ക് ആക്uസസ് നിയന്ത്രിക്കാനാകും.

3. വെബ് ഫിൽട്ടറുകൾ ബൈപാസ് ചെയ്യുന്നത് എന്നത് ക്ലയന്റ് നേരിട്ട് ഇൻറർനെറ്റിലേക്ക് അഭ്യർത്ഥിക്കുന്നതിനുപകരം, അഭ്യർത്ഥനകൾ നടത്തുകയും അഭ്യർത്ഥിച്ച ഉള്ളടക്കം ക്ലയന്റിലേക്ക് തിരികെ നൽകുകയും ചെയ്യുന്ന ഒരു വെബ് പ്രോക്സിയുടെ ഉപയോഗത്തിലൂടെയാണ് സാധ്യമാകുന്നത്.

ഉദാഹരണത്തിന്, നിങ്ങൾ client1-ൽ ലോഗിൻ ചെയ്തിട്ടുണ്ടെന്നും നിങ്ങളുടെ കമ്പനിയുടെ റൂട്ടർ വഴി www.facebook.com ആക്സസ് ചെയ്യാൻ ആഗ്രഹിക്കുന്നുവെന്നും കരുതുക. നിങ്ങളുടെ കമ്പനിയുടെ നയങ്ങളാൽ സൈറ്റ് ബ്ലോക്ക് ചെയ്uതിരിക്കാമെന്നതിനാൽ, പകരം നിങ്ങൾക്ക് ഒരു വെബ് പ്രോക്uസി സെർവറിലേക്ക് കണക്റ്റുചെയ്uത് www.facebook.com-ലേക്ക് ആക്uസസ് അഭ്യർത്ഥിക്കാം. നിങ്ങളുടെ കമ്പനിയുടെ റൂട്ടറിന്റെ തടയൽ നയങ്ങൾ മറികടന്ന് റിമോട്ട് ഉള്ളടക്കം വീണ്ടും വെബ് പ്രോക്സി സെർവർ വഴി നിങ്ങൾക്ക് തിരികെ നൽകും.

സ്ക്വിഡ് ക്രമീകരിക്കുന്നു - അടിസ്ഥാനകാര്യങ്ങൾ

സ്ക്വിഡ് വെബ് പ്രോക്സി സെർവറിന്റെ ആക്സസ് കൺട്രോൾ സ്കീമിൽ രണ്ട് വ്യത്യസ്ത ഘടകങ്ങൾ അടങ്ങിയിരിക്കുന്നു:

  1. ACL ഘടകങ്ങൾ എന്നത് acl എന്ന വാക്കിൽ ആരംഭിക്കുന്ന ഡയറക്റ്റീവ് ലൈനുകളാണ്, കൂടാതെ ഏത് അഭ്യർത്ഥന ഇടപാടിനെതിരെയും നടത്തുന്ന ടെസ്റ്റുകളുടെ തരങ്ങളെ പ്രതിനിധീകരിക്കുന്നു.
  2. ആക്uസസ് ലിസ്റ്റ് റൂളുകൾ എന്നത് ഒരു അനുവദിക്കുക അല്ലെങ്കിൽ നിരസിക്കുക എന്നതിനെ തുടർന്ന് നിരവധി ACL ഘടകങ്ങൾ അടങ്ങിയിരിക്കുന്നു, കൂടാതെ ഏത് പ്രവർത്തനത്തെ സൂചിപ്പിക്കാൻ ഉപയോഗിക്കുന്നു അല്ലെങ്കിൽ തന്നിരിക്കുന്ന അഭ്യർത്ഥനയ്ക്ക് പരിമിതി നടപ്പിലാക്കേണ്ടതുണ്ട്. അവ ക്രമത്തിൽ പരിശോധിക്കുന്നു, നിയമങ്ങളിലൊന്ന് പൊരുത്തപ്പെടുന്ന മുറയ്ക്ക് ലിസ്റ്റ് തിരയൽ അവസാനിക്കും. ഒരു റൂളിൽ ഒന്നിലധികം ACL ഘടകങ്ങൾ ഉണ്ടെങ്കിൽ, അത് ഒരു ബൂളിയൻ AND ഓപ്പറേഷൻ ആയി നടപ്പിലാക്കും (റൂൾ ഒരു പൊരുത്തം ആകണമെങ്കിൽ റൂളിന്റെ എല്ലാ ACL ഘടകങ്ങളും ഒരു പൊരുത്തം ആയിരിക്കണം).

സ്ക്വിഡിന്റെ പ്രധാന കോൺഫിഗറേഷൻ ഫയൽ /etc/squid/squid.conf ആണ്, ഇത് ~5000 വരികളാണ്, കാരണം അതിൽ കോൺഫിഗറേഷൻ നിർദ്ദേശങ്ങളും ഡോക്യുമെന്റേഷനും ഉൾപ്പെടുന്നു. ഇക്കാരണത്താൽ, ഞങ്ങളുടെ സൗകര്യാർത്ഥം കോൺഫിഗറേഷൻ ഡയറക്uടീവുകൾ ഉൾപ്പെടുന്ന ലൈനുകൾ മാത്രം ഉപയോഗിച്ച് ഞങ്ങൾ ഒരു പുതിയ squid.conf ഫയൽ സൃഷ്uടിക്കും, ശൂന്യമായതോ കമന്റ് ചെയ്uതതോ ആയ ലൈനുകൾ ഒഴിവാക്കി. അങ്ങനെ ചെയ്യുന്നതിന്, ഞങ്ങൾ ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിക്കും.

# mv /etc/squid/squid.conf /etc/squid/squid.conf.bkp

എന്നിട്ട്,

# grep -Eiv '(^#|^$)' /etc/squid/squid.conf.bkp

OR

# grep -ve ^# -ve ^$ /etc/squid/squid.conf.bkp > /etc/squid/squid.conf

ഇപ്പോൾ, പുതുതായി സൃഷ്uടിച്ച squid.conf ഫയൽ തുറന്ന്, ഇനിപ്പറയുന്ന ACL ഘടകങ്ങളും ആക്uസസ് ലിസ്റ്റുകളും തിരയുക (അല്ലെങ്കിൽ ചേർക്കുക).

acl localhost src 127.0.0.1/32
acl localnet src 192.168.0.0/24

മുകളിലുള്ള രണ്ട് വരികൾ ACL ഘടകങ്ങളുടെ ഉപയോഗത്തിന്റെ അടിസ്ഥാന ഉദാഹരണത്തെ പ്രതിനിധീകരിക്കുന്നു.

  1. ആദ്യത്തെ വാക്ക്, acl, ഇതൊരു ACL എലമെന്റ് ഡയറക്റ്റീവ് ലൈനാണെന്ന് സൂചിപ്പിക്കുന്നു.
  2. രണ്ടാമത്തെ വാക്ക്, localhost അല്ലെങ്കിൽ localnet, നിർദ്ദേശത്തിന് ഒരു പേര് വ്യക്തമാക്കുക.
  3. ഈ സാഹചര്യത്തിൽ src എന്ന മൂന്നാമത്തെ വാക്ക്, യഥാക്രമം ഒരു ക്ലയന്റ് IP വിലാസത്തെയോ വിലാസങ്ങളുടെ ശ്രേണിയെയോ പ്രതിനിധീകരിക്കാൻ ഉപയോഗിക്കുന്ന ഒരു ACL എലമെന്റ് തരമാണ്. നിങ്ങൾക്ക് IP (അല്ലെങ്കിൽ ഹോസ്റ്റ് നാമം, ഏതെങ്കിലും തരത്തിലുള്ള DNS റെസല്യൂഷൻ നടപ്പിലാക്കിയിട്ടുണ്ടെങ്കിൽ) അല്ലെങ്കിൽ നെറ്റ്uവർക്ക് വിലാസം വഴി നിങ്ങൾക്ക് ഒരൊറ്റ ഹോസ്റ്റ് വ്യക്തമാക്കാൻ കഴിയും.
  4. നാലാമത്തെ പാരാമീറ്റർ ഒരു ഫിൽട്ടറിംഗ് ആർഗ്യുമെന്റാണ്, അത് നിർദ്ദേശത്തിന് \ഫീഡ് ആണ്.

ചുവടെയുള്ള രണ്ട് വരികൾ ആക്സസ് ലിസ്റ്റ് നിയമങ്ങളാണ് കൂടാതെ നേരത്തെ സൂചിപ്പിച്ച ACL നിർദ്ദേശങ്ങളുടെ വ്യക്തമായ നടപ്പാക്കലിനെ പ്രതിനിധീകരിക്കുന്നു. കുറച്ച് വാക്കുകളിൽ, അഭ്യർത്ഥന പ്രാദേശിക നെറ്റ്uവർക്കിൽ നിന്നോ (localnet) നിന്നോ localhost-ൽ നിന്നോ ആണെങ്കിൽ http ആക്സസ് അനുവദിക്കണമെന്ന് അവർ സൂചിപ്പിക്കുന്നു. അനുവദനീയമായ ലോക്കൽ നെറ്റ്uവർക്ക് അല്ലെങ്കിൽ പ്രാദേശിക ഹോസ്റ്റ് വിലാസങ്ങൾ എന്തൊക്കെയാണ്? ഉത്തരം ഇതാണ്: ലോക്കൽ ഹോസ്റ്റ്, ലോക്കൽനെറ്റ് നിർദ്ദേശങ്ങളിൽ വ്യക്തമാക്കിയവ.

http_access allow localnet
http_access allow localhost

ഈ സമയത്ത്, തീർപ്പാക്കാത്ത മാറ്റങ്ങൾ പ്രയോഗിക്കുന്നതിന് നിങ്ങൾക്ക് Squid പുനരാരംഭിക്കാം.

# service squid restart 		[Upstart / sysvinit-based distributions]
# systemctl restart squid.service 	[systemd-based distributions]

തുടർന്ന് നിങ്ങളുടെ പ്രോക്സി വഴി ഇന്റർനെറ്റ് ആക്സസ് ചെയ്യുന്നതിന് ലോക്കൽ നെറ്റ്uവർക്കിൽ ഒരു ക്ലയന്റ് ബ്രൗസർ കോൺഫിഗർ ചെയ്യുക (192.168.0.104 ഞങ്ങളുടെ കാര്യത്തിൽ).

1. എഡിറ്റ് മെനുവിലേക്ക് പോയി മുൻഗണനകൾ ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക.

2. വിപുലമായത്, തുടർന്ന് നെറ്റ്uവർക്ക് ടാബിൽ ക്ലിക്ക് ചെയ്യുക, ഒടുവിൽ ക്രമീകരണങ്ങൾ...

3. മാനുവൽ പ്രോക്uസി കോൺഫിഗറേഷൻ പരിശോധിച്ച് പ്രോക്uസി സെർവറിന്റെ IP വിലാസം, കണക്ഷനുകൾക്കായി അത് കേൾക്കുന്ന പോർട്ട് എന്നിവ നൽകുക.

ഡിഫോൾട്ടായി, സ്uക്വിഡ് 3128 എന്ന പോർട്ടിൽ ശ്രദ്ധിക്കുന്നു, എന്നാൽ http_port (ഇത് വഴി സ്ഥിരസ്ഥിതി അത് http_port 3128 വായിക്കുന്നു).

4. മാറ്റങ്ങൾ പ്രയോഗിക്കാൻ ശരി ക്ലിക്ക് ചെയ്യുക, നിങ്ങൾക്ക് പോകാം.

നിങ്ങളുടെ പ്രാദേശിക നെറ്റ്uവർക്ക് ക്ലയന്റ് നിങ്ങളുടെ പ്രോക്uസി മുഖേന ഇന്റർനെറ്റ് ആക്uസസ് ചെയ്യുന്നുണ്ടോ എന്ന് ഇപ്പോൾ നിങ്ങൾക്ക് സ്ഥിരീകരിക്കാൻ കഴിയും.

1. നിങ്ങളുടെ ക്ലയന്റിൽ, ഒരു ടെർമിനൽ തുറന്ന് ടൈപ്പ് ചെയ്യുക,

# ip address show eth0 | grep -Ei '(inet.*eth0)'

ആ കമാൻഡ് നിങ്ങളുടെ ക്ലയന്റിന്റെ നിലവിലെ IP വിലാസം പ്രദർശിപ്പിക്കും (192.168.0.104 ഇനിപ്പറയുന്ന ചിത്രത്തിൽ).

2. നിങ്ങളുടെ ക്ലയന്റിൽ, നൽകിയിരിക്കുന്ന ഏതെങ്കിലും വെബ് സൈറ്റ് തുറക്കാൻ ഒരു വെബ് ബ്രൗസർ ഉപയോഗിക്കുക (linux-console.net ഈ സാഹചര്യത്തിൽ).

3. സെർവറിൽ, പ്രവർത്തിപ്പിക്കുക.

# tail -f /var/log/squid/access.log

കൂടാതെ കണവ വഴി നൽകുന്ന അഭ്യർത്ഥനകളുടെ തത്സമയ കാഴ്ച നിങ്ങൾക്ക് ലഭിക്കും.

ക്ലയന്റ് മുഖേനയുള്ള പ്രവേശനം നിയന്ത്രിക്കുന്നു

ബാക്കിയുള്ള പ്രാദേശിക നെറ്റ്uവർക്കിലേക്കുള്ള ആക്uസസ് നിലനിർത്തിക്കൊണ്ടുതന്നെ, ആ പ്രത്യേക ക്ലയന്റ് ഐപി വിലാസത്തിലേക്കുള്ള ആക്uസസ്സ് വ്യക്തമായി നിഷേധിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് കരുതുക.

1. ഒരു പുതിയ ACL നിർദ്ദേശം ഇനിപ്പറയുന്ന രീതിയിൽ നിർവചിക്കുക (ഞാൻ അതിന് ubuntuOS എന്ന് പേരിട്ടിട്ടുണ്ട്, എന്നാൽ നിങ്ങൾക്ക് എന്ത് വേണമെങ്കിലും പേര് നൽകാം).

acl ubuntuOS src 192.168.0.104

2. ലോക്കൽനെറ്റ് ആക്uസസ്സ് ലിസ്റ്റിലേക്ക് ACL നിർദ്ദേശം ചേർക്കുക, അത് ഇതിനകം തന്നെ നിലവിലുണ്ട്, എന്നാൽ ഒരു ആശ്ചര്യചിഹ്നത്തോടെ അതിനെ മുൻനിർത്തി. ഇതിനർത്ഥം, \ubuntuOS നിർദ്ദേശവുമായി പൊരുത്തപ്പെടുന്ന ഒന്ന് ഒഴികെ ലോക്കൽനെറ്റ് ACL നിർദ്ദേശവുമായി പൊരുത്തപ്പെടുന്ന ക്ലയന്റുകൾക്ക് ഇന്റർനെറ്റ് ആക്സസ് അനുവദിക്കുക.

http_access allow localnet !ubuntuOS

3. ഇപ്പോൾ മാറ്റങ്ങൾ പ്രയോഗിക്കുന്നതിന് നമുക്ക് Squid പുനരാരംഭിക്കേണ്ടതുണ്ട്. അപ്പോൾ നമ്മൾ ഏതെങ്കിലും സൈറ്റിലേക്ക് ബ്രൗസ് ചെയ്യാൻ ശ്രമിച്ചാൽ ഇപ്പോൾ ആക്സസ് നിഷേധിക്കപ്പെട്ടതായി കാണാം.

സ്ക്വിഡ് ക്രമീകരിക്കുന്നു - ഫൈൻ ട്യൂണിംഗ്

ഡൊമെയ്uൻ മുഖേന സ്uക്വിഡിലേക്കുള്ള ആക്uസസ് പരിമിതപ്പെടുത്തുന്നതിന് ഞങ്ങൾ ഇനിപ്പറയുന്ന രീതിയിൽ ഒരു ACL നിർദ്ദേശത്തിൽ dstdomain കീവേഡ് ഉപയോഗിക്കും.

acl forbidden dstdomain "/etc/squid/forbidden_domains"

forbidden_domains എന്നത് ഞങ്ങൾ ആക്uസസ് നിരസിക്കാൻ ആഗ്രഹിക്കുന്ന ഡൊമെയ്uനുകൾ ഉൾക്കൊള്ളുന്ന ഒരു പ്ലെയിൻ ടെക്uസ്uറ്റ് ഫയലാണ്.

അവസാനമായി, മുകളിലെ നിർദ്ദേശവുമായി പൊരുത്തപ്പെടാത്ത അഭ്യർത്ഥനകൾക്കായി ഞങ്ങൾ സ്ക്വിഡിന് ആക്സസ് നൽകണം.

http_access allow localnet !forbidden

അല്ലെങ്കിൽ, ആ സൈറ്റുകളിലേക്ക് ആ സൈറ്റുകളിലേക്ക് പ്രവേശനം അനുവദിക്കാൻ ഞങ്ങൾ ആഗ്രഹിച്ചേക്കാം, ദിവസത്തിലെ ഒരു നിശ്ചിത സമയത്ത് (10:00 മുതൽ 11:00 വരെ) തിങ്കളാഴ്uച (എം), ബുധൻ (W), വെള്ളിയാഴ്ച (F).

acl someDays time MWF 10:00-11:00
http_access allow forbidden someDays
http_access deny forbidden

അല്ലെങ്കിൽ, ആ ഡൊമെയ്uനുകളിലേക്കുള്ള ആക്uസസ് തടയപ്പെടും.

സ്ക്വിഡ് നിരവധി പ്രാമാണീകരണ സംവിധാനങ്ങളെയും (അടിസ്ഥാന, NTLM, ഡൈജസ്റ്റ്, SPNEGO, Oauth) സഹായികളെയും (SQL ഡാറ്റാബേസ്, LDAP, NIS, NCSA, ചുരുക്കം ചിലത്) പിന്തുണയ്ക്കുന്നു. ഈ ട്യൂട്ടോറിയലിൽ ഞങ്ങൾ NCSA ഉപയോഗിച്ച് അടിസ്ഥാന പ്രാമാണീകരണം ഉപയോഗിക്കും.

നിങ്ങളുടെ /etc/squid/squid.conf ഫയലിലേക്ക് ഇനിപ്പറയുന്ന വരികൾ ചേർക്കുക.

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic credentialsttl 30 minutes
auth_param basic casesensitive on
auth_param basic realm Squid proxy-caching web server for Tecmint's LFCE series
acl ncsa proxy_auth REQUIRED
http_access allow ncsa

ശ്രദ്ധിക്കുക: CentOS 7-ൽ, squid-നുള്ള NCSA പ്ലഗിൻ /usr/lib64/squid/basic_nsca_auth-ൽ കാണാം, അതിനാൽ മുകളിലെ വരിയിൽ അതിനനുസരിച്ച് മാറ്റുക.

കുറച്ച് വ്യക്തതകൾ:

  1. പ്രോഗ്രാമിന്റെ പേര് വ്യക്തമാക്കി auth_param നിർദ്ദേശത്തിനൊപ്പം ഏത് പ്രാമാണീകരണ സഹായ പ്രോഗ്രാമാണ് ഉപയോഗിക്കേണ്ടതെന്ന് ഞങ്ങൾ Squid-നോട് പറയേണ്ടതുണ്ട് (മിക്കവാറും, /usr/lib/squid/ncsa_auth അല്ലെങ്കിൽ /usr/lib64/squid/basic_nsca_auth), കൂടാതെ ആവശ്യമെങ്കിൽ ഏതെങ്കിലും കമാൻഡ് ലൈൻ ഓപ്ഷനുകൾ (/etc/squid/passwd ഈ സാഹചര്യത്തിൽ).
  2. /etc/squid/passwd ഫയൽ htpasswd മുഖേന സൃഷ്uടിച്ചതാണ്, ഫയലുകൾ വഴിയുള്ള അടിസ്ഥാന പ്രാമാണീകരണം നിയന്ത്രിക്കുന്നതിനുള്ള ഒരു ടൂളാണ്. Squid ഉപയോഗിക്കാൻ അനുവദിക്കുന്ന ഉപയോക്തൃനാമങ്ങളുടെ (അവരുടെ അനുബന്ധ പാസ്uവേഡുകളും) ഒരു ലിസ്റ്റ് ചേർക്കാൻ ഇത് ഞങ്ങളെ അനുവദിക്കും.
  3. credentialsttl 30 മിനിറ്റ് ഓരോ 30 മിനിറ്റിലും നിങ്ങളുടെ ഉപയോക്തൃനാമവും പാസ്uവേഡും നൽകേണ്ടതുണ്ട് (നിങ്ങൾക്ക് ഈ സമയ ഇടവേള മണിക്കൂറുകൾക്കൊപ്പം വ്യക്തമാക്കാം).
  4. കേസ്സെൻസിറ്റീവ് എന്നത് ഉപയോക്തൃനാമങ്ങളും പാസ്uവേഡുകളും കേസ് സെൻസിറ്റീവ് ആണെന്ന് സൂചിപ്പിക്കുന്നു.
  5. രാജ്യം എന്നത് പ്രാമാണീകരണ ഡയലോഗിന്റെ വാചകത്തെ പ്രതിനിധീകരിക്കുന്നു, അത് കണവയെ പ്രാമാണീകരിക്കാൻ ഉപയോഗിക്കും.
  6. അവസാനം, പ്രോക്uസി പ്രാമാണീകരണം (proxy_auth REQUIRED) വിജയിക്കുമ്പോൾ മാത്രമേ ആക്uസസ് അനുവദിക്കൂ.

ഫയൽ സൃഷ്uടിക്കുന്നതിനും gacanepa എന്ന ഉപയോക്താവിനായി ക്രെഡൻഷ്യലുകൾ ചേർക്കുന്നതിനും ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക (ഫയൽ നിലവിലുണ്ടെങ്കിൽ -c ഫ്ലാഗ് ഒഴിവാക്കുക).

# htpasswd -c /etc/squid/passwd gacanepa

ക്ലയന്റ് മെഷീനിൽ ഒരു വെബ് ബ്രൗസർ തുറന്ന് നൽകിയിരിക്കുന്ന ഏതെങ്കിലും സൈറ്റിലേക്ക് ബ്രൗസ് ചെയ്യാൻ ശ്രമിക്കുക.

പ്രാമാണീകരണം വിജയിക്കുകയാണെങ്കിൽ, അഭ്യർത്ഥിച്ച ഉറവിടത്തിലേക്ക് പ്രവേശനം അനുവദിക്കും. അല്ലെങ്കിൽ, പ്രവേശനം നിഷേധിക്കപ്പെടും.

ഡാറ്റ കൈമാറ്റം വേഗത്തിലാക്കാൻ കാഷെ ഉപയോഗിക്കുന്നു

ഒരേ ക്ലയന്റോ മറ്റുള്ളവരോ ആ ഒബ്uജക്റ്റുകളുടെ ഭാവി അഭ്യർത്ഥനകൾ വേഗത്തിലാക്കാൻ വെബിൽ നിന്ന് ഡിസ്uകിലേക്ക് അഭ്യർത്ഥിച്ച ഉറവിടങ്ങൾ കാഷെ ചെയ്യാനുള്ള സാധ്യതയാണ് സ്ക്വിഡിന്റെ വ്യതിരിക്തമായ സവിശേഷതകളിലൊന്ന്.

നിങ്ങളുടെ squid.conf ഫയലിൽ ഇനിപ്പറയുന്ന നിർദ്ദേശങ്ങൾ ചേർക്കുക.

cache_dir ufs /var/cache/squid 1000 16 256
maximum_object_size 100 MB
refresh_pattern .*\.(mp4|iso) 2880

മുകളിലുള്ള നിർദ്ദേശങ്ങളുടെ ചില വ്യക്തതകൾ.

  1. ufs എന്നത് സ്ക്വിഡ് സ്റ്റോറേജ് ഫോർമാറ്റാണ്.
  2. /var/cache/squid എന്നത് കാഷെ ഫയലുകൾ സംഭരിക്കുന്ന ഒരു ഉയർന്ന തലത്തിലുള്ള ഡയറക്uടറിയാണ്. ഈ ഡയറക്uടറി നിലവിലുണ്ടാവുകയും സ്uക്വിഡിന് എഴുതാൻ സാധിക്കുകയും വേണം (കണവ നിങ്ങൾക്കായി ഈ ഡയറക്uടറി സൃഷ്uടിക്കില്ല).
  3. 1000 എന്നത് ഈ ഡയറക്uടറിക്ക് കീഴിൽ ഉപയോഗിക്കേണ്ട തുകയാണ് (MB-യിൽ).
  4. 16 എന്നത് 1st-ലെവൽ ഉപഡയറക്uടറികളുടെ എണ്ണമാണ്, അതേസമയം 256 എന്നത് /var/spool/squid.
  5. maximum_object_size നിർദ്ദേശം കാഷെയിൽ അനുവദനീയമായ ഒബ്uജക്റ്റുകളുടെ പരമാവധി വലുപ്പം വ്യക്തമാക്കുന്നു.
  6. refresh_pattern, നിർദ്ദിഷ്uട ഫയൽ തരങ്ങൾ (.mp4, .iso ഈ സാഹചര്യത്തിൽ) എങ്ങനെ കൈകാര്യം ചെയ്യണമെന്നും അത് എത്ര നേരം വേണമെന്നും Squid-നോട് പറയുന്നു അഭ്യർത്ഥിച്ച വസ്തുക്കൾ കാഷെയിൽ സംഭരിക്കുക (2880 മിനിറ്റ് = 2 ദിവസം).

ആദ്യത്തേതും രണ്ടാമത്തേതുമായ 2880 എന്നത് യഥാക്രമം താഴ്ന്നതും ഉയർന്നതുമായ പരിധികളാണ്, വ്യക്തമായ കാലഹരണപ്പെടൽ സമയമില്ലാത്ത ഒബ്uജക്റ്റുകൾ എത്രത്തോളം സമീപകാലത്ത് പരിഗണിക്കും, അങ്ങനെ കാഷെ സേവിക്കും, അതേസമയം 0% എന്നത് ഒബ്uജക്uറ്റുകളുടെ പ്രായത്തിന്റെ ശതമാനമാണ് (അവസാനം പരിഷ്uക്കരിച്ചതിന് ശേഷമുള്ള സമയം) വ്യക്തമായ കാലഹരണപ്പെടൽ സമയമില്ലാത്ത ഓരോ ഒബ്uജക്റ്റും സമീപകാലത്ത് പരിഗണിക്കപ്പെടും.

ആദ്യ ക്ലയന്റ് (IP 192.168.0.104) ഒരു 71 MB .mp4 ഫയൽ 2 മിനിറ്റും 52 സെക്കൻഡും കൊണ്ട് ഡൗൺലോഡ് ചെയ്യുന്നു.

രണ്ടാമത്തെ ക്ലയന്റ് (IP 192.168.0.17) അതേ ഫയൽ 1.4 സെക്കൻഡിനുള്ളിൽ ഡൗൺലോഡ് ചെയ്യുന്നു!

ഫയലിൽ നിന്ന് നേരിട്ട് ഡൗൺലോഡ് ചെയ്യുമ്പോൾ, ആദ്യ സന്ദർഭത്തിൽ നിന്ന് വ്യത്യസ്തമായി, രണ്ടാമത്തെ സാഹചര്യത്തിൽ, Squid cache (TCP_HIT/200 എന്ന് സൂചിപ്പിക്കുന്നത്)-ൽ നിന്നാണ് ഫയൽ നൽകിയത്. ഇന്റർനെറ്റ് (TCP_MISS/200 പ്രതിനിധീകരിക്കുന്നു).

HIT, MISS എന്നീ കീവേഡുകൾ, 200 http പ്രതികരണ കോഡിനൊപ്പം, ഫയൽ രണ്ട് തവണയും വിജയകരമായി നൽകിയതായി സൂചിപ്പിക്കുന്നു, എന്നാൽ കാഷെ HIT ആയിരുന്നു. കൂടാതെ യഥാക്രമം നഷ്ടപ്പെട്ടു. ചില കാരണങ്ങളാൽ കാഷെ വഴി ഒരു അഭ്യർത്ഥന നൽകാൻ കഴിയാതെ വരുമ്പോൾ, സ്ക്വിഡ് അത് ഇന്റർനെറ്റിൽ നിന്ന് സേവിക്കാൻ ശ്രമിക്കുന്നു.

ഉപസംഹാരം

ഒരു സ്uക്വിഡ് വെബ് കാഷിംഗ് പ്രോക്uസി എങ്ങനെ സജ്ജീകരിക്കാമെന്ന് ഈ ലേഖനത്തിൽ ഞങ്ങൾ ചർച്ച ചെയ്തിട്ടുണ്ട്. തിരഞ്ഞെടുത്ത മാനദണ്ഡം ഉപയോഗിച്ച് ഉള്ളടക്കങ്ങൾ ഫിൽട്ടർ ചെയ്യുന്നതിനും ലേറ്റൻസി കുറയ്ക്കുന്നതിനും നിങ്ങൾക്ക് പ്രോക്സി സെർവർ ഉപയോഗിക്കാം (കാഷെയിൽ നിന്ന് സമാനമായ ഇൻകമിംഗ് അഭ്യർത്ഥനകൾ നൽകുന്നു, ഇത് യഥാർത്ഥത്തിൽ ഉള്ളടക്കം നൽകുന്ന വെബ് സെർവറിനേക്കാൾ ക്ലയന്റിനോട് അടുത്താണ്, ഇത് വേഗതയേറിയതിലേക്ക് നയിക്കുന്നു. ഡാറ്റ കൈമാറ്റം) കൂടാതെ നെറ്റ്uവർക്ക് ട്രാഫിക്കും (ഉപയോഗിച്ച ബാൻഡ്uവിഡ്uത്തിന്റെ അളവ് കുറയ്ക്കുന്നു, ഇത് നിങ്ങൾ ട്രാഫിക്കിനായി പണം നൽകുകയാണെങ്കിൽ നിങ്ങളുടെ പണം ലാഭിക്കുന്നു).

കൂടുതൽ ഡോക്യുമെന്റേഷനായി നിങ്ങൾ സ്ക്വിഡ് വെബ്uസൈറ്റ് റഫർ ചെയ്യാൻ ആഗ്രഹിച്ചേക്കാം (വിക്കിയും പരിശോധിക്കുന്നത് ഉറപ്പാക്കുക), എന്നാൽ നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളോ അഭിപ്രായങ്ങളോ ഉണ്ടെങ്കിൽ ഞങ്ങളെ ബന്ധപ്പെടാൻ മടിക്കരുത്. നിങ്ങളിൽ നിന്ന് കേൾക്കുന്നതിൽ ഞങ്ങൾ കൂടുതൽ സന്തോഷിക്കും!