ഉബുണ്ടുവിലും ഡെബിയനിലും സ്uക്വിഡ് പ്രോക്uസി സെർവർ എങ്ങനെ സജ്ജീകരിക്കാം


വെബ് സെർവറിന്റെ വേഗത മെച്ചപ്പെടുത്തുന്നതിനും പ്രതികരണ സമയം കുറയ്ക്കുന്നതിനും നെറ്റ്uവർക്ക് ബാൻഡ്uവിഡ്ത്ത് ഉപയോഗം കുറയ്ക്കുന്നതിനും ഒരു വെബ് സെർവറിൽ നിന്ന് വെബ് പേജുകൾ കാഷെ ചെയ്യാൻ എന്റെ വിപുലമായ കമ്പനികൾ ഉപയോഗിച്ചിരുന്ന HTTP വെബ് പ്രോക്uസി സെർവർ ഏറ്റവും ജനപ്രിയമായ കാഷിംഗ്, ഫോർവേഡിംഗ് ആണ് Squid.

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

ഉബുണ്ടുവിൽ കണവ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം

ഞങ്ങൾ ആരംഭിക്കുന്നതിന് മുമ്പ്, സ്uക്വിഡ് സെർവറിന് ആവശ്യകതകളൊന്നുമില്ലെന്ന് നിങ്ങൾ അറിഞ്ഞിരിക്കണം, എന്നാൽ പ്രോക്uസി സെർവർ വഴി ഇന്റർനെറ്റ് ബ്രൗസ് ചെയ്യുന്ന ക്ലയന്റുകളെ അടിസ്ഥാനമാക്കി റാം ഉപയോഗത്തിന്റെ അളവ് വ്യത്യാസപ്പെടാം.

അടിസ്ഥാന ഉബുണ്ടു ശേഖരണത്തിൽ നിന്ന് ഇൻസ്റ്റാൾ ചെയ്യാൻ സ്ക്വിഡ് പാക്കേജ് ലഭ്യമാണ്, എന്നാൽ അതിനുമുമ്പ് നിങ്ങളുടെ പാക്കേജുകൾ പ്രവർത്തിപ്പിച്ച് അപ്ഡേറ്റ് ചെയ്യുന്നത് ഉറപ്പാക്കുക.

$ sudo apt update

നിങ്ങളുടെ പാക്കേജുകൾ അപ് ടു ഡേറ്റ് ആയിക്കഴിഞ്ഞാൽ, താഴെ പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് squid ഇൻസ്റ്റാൾ ചെയ്യാനും സിസ്റ്റം സ്റ്റാർട്ടപ്പിൽ അത് ആരംഭിക്കാനും പ്രവർത്തനക്ഷമമാക്കാനും തുടരാം.

$ sudo apt -y install squid
$ sudo systemctl start squid
$ sudo systemctl enable squid

ഈ ഘട്ടത്തിൽ നിങ്ങളുടെ സ്uക്വിഡ് വെബ് പ്രോക്uസി ഇതിനകം തന്നെ പ്രവർത്തിക്കുന്നുണ്ടാകണം, കൂടാതെ നിങ്ങൾക്ക് സേവനത്തിന്റെ നില പരിശോധിക്കാവുന്നതാണ്.

$ sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x
   Loaded: loaded (/etc/init.d/squid; generated)
   Active: active (running) since Tue 2018-12-04 06:42:43 UTC; 14min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 4 (limit: 1717)
   CGroup: /system.slice/squid.service
           ├─2761 /usr/sbin/squid -YC -f /etc/squid/squid.conf
           ├─2766 (squid-1) -YC -f /etc/squid/squid.conf
           ├─2768 (logfile-daemon) /var/log/squid/access.log
           └─2772 (pinger)

Dec 04 06:42:43 tecmint systemd[1]: Starting LSB: Squid HTTP Proxy version 3.x...
Dec 04 06:42:43 tecmint squid[2708]:  * Starting Squid HTTP Proxy squid
Dec 04 06:42:43 tecmint squid[2708]:    ...done.
Dec 04 06:42:43 tecmint systemd[1]: Started LSB: Squid HTTP Proxy version 3.x.
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: will start 1 kids
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: (squid-1) process 2766 started

നിങ്ങൾ അറിഞ്ഞിരിക്കേണ്ട ചില പ്രധാനപ്പെട്ട കണവ ഫയൽ ലൊക്കേഷനുകൾ ഇവയാണ്:

  • കണവ കോൺഫിഗറേഷൻ ഫയൽ: /etc/squid/squid.conf
  • കണവ ആക്uസസ് ലോഗ്: /var/log/squid/access.log
  • കണവ കാഷെ ലോഗ്: /var/log/squid/cache.log

ഡിഫോൾട്ട് കോൺഫിഗറേഷൻ ഫയലിൽ ചില കോൺഫിഗറേഷൻ നിർദ്ദേശങ്ങൾ അടങ്ങിയിരിക്കുന്നു, അത് സ്ക്വിഡിന്റെ സ്വഭാവത്തെ ബാധിക്കുന്നതിന് കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്.

ഇപ്പോൾ Vi എഡിറ്റർ ഉപയോഗിച്ച് എഡിറ്റുചെയ്യുന്നതിനായി ഈ ഫയൽ തുറന്ന് ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ മാറ്റങ്ങൾ വരുത്തുക.

$ sudo vim /etc/squid/squid.conf

ഇപ്പോൾ, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന വരികളെക്കുറിച്ച് തിരയുകയും ആവശ്യപ്പെട്ട പ്രകാരം അവ മാറ്റുകയും ചെയ്യാം, Vi എഡിറ്ററിൽ, 'ESC' അമർത്തിക്കൊണ്ട് നിങ്ങൾക്ക് ആ വരികളെക്കുറിച്ച് തിരയുകയും നിർദ്ദിഷ്ട എഴുതുന്നതിന് \/ കീ ടൈപ്പുചെയ്യുകയും ചെയ്യാം. തിരയാനുള്ള വരികൾ.

  • http_port : ഇത് HTTP പ്രോക്സി സെർവറിനുള്ള ഡിഫോൾട്ട് പോർട്ട് ആണ്, ഡിഫോൾട്ടായി ഇത് 3128 ആണ്, നിങ്ങൾക്ക് ആവശ്യമുള്ള മറ്റേതെങ്കിലും പോർട്ടിലേക്ക് ഇത് മാറ്റാം, നിങ്ങൾക്ക് \സുതാര്യമായത് ചേർക്കാം നിങ്ങൾക്ക് വേണമെങ്കിൽ സ്uക്വിഡ് പ്രോക്uസി ഒരു സുതാര്യമായ പ്രോക്uസി പോലെ പ്രവർത്തിക്കാൻ http_port 8888 സുതാര്യമാക്കുക പോലെ വരിയുടെ അവസാനം ടാഗ് ചെയ്യുക.
  • http_access എല്ലാം നിഷേധിക്കുന്നു : HTTP പ്രോക്uസി സെർവർ ആക്uസസ് ചെയ്യാൻ ഈ ലൈൻ ആരെയും അനുവദിക്കില്ല, അതിനാലാണ് നിങ്ങൾ ഇത് http_access എന്നതിലേക്ക് മാറ്റേണ്ടത് നിങ്ങളുടെ സ്uക്വിഡ് പ്രോക്uസി സെർവർ ഉപയോഗിക്കാൻ എല്ലാവരെയും അനുവദിക്കുക.
  • visible_hostname : ഈ നിർദ്ദേശം ഒരു squid സെർവറിലേക്ക് നിർദ്ദിഷ്uട ഹോസ്റ്റ്നാമം സജ്ജീകരിക്കാൻ ഉപയോഗിക്കുന്നു. കണവയ്ക്ക് നിങ്ങൾക്ക് ഏത് ഹോസ്റ്റ്നാമവും നൽകാം.

മുകളിൽ മാറ്റങ്ങൾ വരുത്തിയ ശേഷം, കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് Squid പ്രോക്സി സെർവർ പുനരാരംഭിക്കാം.

$ sudo systemctl restart squid

ഉബുണ്ടുവിൽ ഒരു HTTP പ്രോക്സി ആയി Squid കോൺഫിഗർ ചെയ്യുന്നു

ഈ സ്ക്വിഡ് കോൺഫിഗറേഷൻ വിഭാഗത്തിൽ, പ്രാമാണീകരണത്തിനായി ക്ലയന്റ് ഐപി വിലാസം മാത്രം ഉപയോഗിച്ച് ഒരു എച്ച്ടിടിപി പ്രോക്സിയായി കണവയെ എങ്ങനെ കോൺഫിഗർ ചെയ്യാം എന്ന് ഞങ്ങൾ വിശദീകരിക്കും.

നിങ്ങളുടെ പുതിയ പ്രോക്സി സെർവർ വഴി ഇന്റർനെറ്റ് ആക്സസ് ചെയ്യാൻ ഒരു IP വിലാസം മാത്രം അനുവദിക്കണമെങ്കിൽ, കോൺഫിഗറേഷൻ ഫയലിൽ നിങ്ങൾ പുതിയ acl (ആക്സസ് കൺട്രോൾ ലിസ്റ്റ്) നിർവചിക്കേണ്ടതുണ്ട്.

$ sudo vim /etc/squid/squid.conf

നിങ്ങൾ ചേർക്കേണ്ട acl റൂൾ ഇതാണ്:

acl localnet src XX.XX.XX.XX

ഇവിടെ XX.XX.XX.XX എന്നത് ക്ലയന്റ് മെഷീന്റെ IP വിലാസമാണ്. ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ACL-ന്റെ വിഭാഗത്തിന്റെ തുടക്കത്തിൽ ഈ acl ചേർക്കേണ്ടതാണ്.

ഈ ഐപി വിലാസം ആരാണ് ഉപയോഗിക്കുന്നതെന്ന് വിവരിക്കുന്ന ACL-ന് അടുത്തുള്ള ഒരു അഭിപ്രായം നിർവചിക്കുന്നത് എല്ലായ്പ്പോഴും ഒരു നല്ല സമ്പ്രദായമാണ്.

acl localnet src 192.168.0.102  # Boss IP address

പുതിയ മാറ്റങ്ങൾ പ്രാബല്യത്തിൽ വരാൻ നിങ്ങൾ സ്ക്വിഡ് സേവനം പുനരാരംഭിക്കേണ്ടതുണ്ട്.

$ sudo systemctl restart squid

ഡിഫോൾട്ടായി, സ്uക്വിഡ് കോൺഫിഗറേഷനിൽ ചില പോർട്ടുകൾ മാത്രമേ അനുവദനീയമാകൂ, നിങ്ങൾക്ക് കൂടുതൽ ചേർക്കാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ കാണിച്ചിരിക്കുന്നതുപോലെ കോൺഫിഗറേഷൻ ഫയലിൽ അവ നിർവ്വചിക്കുക.

acl Safe_ports port XXX

നിങ്ങൾ അനുവദിക്കാൻ ആഗ്രഹിക്കുന്ന പോർട്ട് നമ്പർ XXX ആണ്. പോർട്ട് എന്തിനുവേണ്ടിയാണ് ഉപയോഗിക്കാൻ പോകുന്നതെന്ന് വിവരിക്കുന്ന acl-ന് അടുത്തായി ഒരു അഭിപ്രായം നിർവചിക്കുന്നത് ഒരു നല്ല പ്രയോഗമാണ്.

മാറ്റങ്ങൾ പ്രാബല്യത്തിൽ വരുന്നതിന്, നിങ്ങൾ ഒരിക്കൽ കൂടി കണവ പുനരാരംഭിക്കേണ്ടതുണ്ട്.

$ sudo systemctl restart squid

പ്രോക്സി ഉപയോഗിക്കുന്നതിന് മുമ്പ് ആധികാരികത ഉറപ്പാക്കാൻ ഉപയോക്താക്കളെ അനുവദിക്കുന്നതിന്, കോൺഫിഗറേഷൻ ഫയലിൽ നിങ്ങൾ അടിസ്ഥാന http പ്രാമാണീകരണം പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്, എന്നാൽ അതിനുമുമ്പ് നിങ്ങൾ ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് apache2-utils പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്.

$ sudo apt install apache2-utils

ഇപ്പോൾ passwd എന്ന പേരിൽ ഒരു ഫയൽ സൃഷ്ടിക്കുക, അത് പിന്നീട് പ്രാമാണീകരണത്തിനായി ഉപയോക്തൃനാമം സംഭരിക്കും. \പ്രോക്സി എന്ന ഉപയോക്താവിനൊപ്പം സ്ക്വിഡ് പ്രവർത്തിക്കുന്നു, അതിനാൽ ഫയൽ ആ ഉപയോക്താവിന്റെ ഉടമസ്ഥതയിലായിരിക്കണം.

$ sudo touch /etc/squid/passwd
$ sudo chown proxy: /etc/squid/passwd
$ ls -l /etc/squid/passwd

ഇപ്പോൾ നമ്മൾ \tecmint എന്ന പേരിൽ ഒരു പുതിയ ഉപയോക്താവിനെ സൃഷ്ടിക്കുകയും അതിന്റെ പാസ്uവേഡ് സജ്ജീകരിക്കുകയും ചെയ്യും.

$ sudo htpasswd /etc/squid/passwd tecmint

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

ഇപ്പോൾ അടിസ്ഥാന http പ്രാമാണീകരണം പ്രവർത്തനക്ഷമമാക്കാൻ കോൺഫിഗറേഷൻ ഫയൽ തുറക്കുക.

$ sudo vim /etc/squid/squid.conf

പോർട്ടുകൾക്ക് ശേഷം ACL-കൾ ഇനിപ്പറയുന്ന വരികൾ ചേർക്കുക:

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

പുതിയ മാറ്റങ്ങൾ പ്രാബല്യത്തിൽ വരുന്നതിന് ഫയൽ സംരക്ഷിച്ച് സ്ക്വിഡ് പുനരാരംഭിക്കുക:

$ sudo systemctl restart squid

ആവശ്യമില്ലാത്ത വെബ്uസൈറ്റുകളിലേക്കുള്ള ആക്uസസ് തടയാൻ, ആദ്യം ബ്ലാക്ക്uലിസ്റ്റ് ചെയ്uത സൈറ്റുകൾ സംഭരിക്കുന്ന blacklisted_sites.acl എന്ന ഫയൽ സൃഷ്uടിക്കുക.

$ sudo touch /etc/squid/blacklisted_sites.acl

ഇപ്പോൾ നിങ്ങൾ ആക്സസ് തടയാൻ ആഗ്രഹിക്കുന്ന വെബ്സൈറ്റുകൾ ചേർക്കുക, ഉദാഹരണത്തിന്.

.badsite1.com
.badsite2.com

www.badsite1, subsite.badsite1.com മുതലായ സൈറ്റുകളിലേക്കുള്ള എല്ലാ റഫറൻസുകളും തടയാൻ പ്രൊസീഡിംഗ് ഡോട്ട് സ്ക്വിഡിനെ അറിയിക്കുന്നു.

ഇപ്പോൾ സ്ക്വിഡിന്റെ കോൺഫിഗറേഷൻ ഫയൽ തുറക്കുക.

$ sudo vim /etc/squid/squid.conf

മുകളിലുള്ള ACL-കൾക്ക് ശേഷം ഇനിപ്പറയുന്ന രണ്ട് വരികൾ ചേർക്കുക:

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

ഇപ്പോൾ ഫയൽ സംരക്ഷിച്ച് സ്ക്വിഡ് പുനരാരംഭിക്കുക:

$ sudo systemctl restart squid

കീവേഡുകളുടെ ഒരു ലിസ്റ്റ് തടയാൻ, ആദ്യം blockkeywords.lst എന്ന പേരിൽ ഒരു ഫയൽ സൃഷ്ടിക്കുക, അതിൽ ബ്ലാക്ക്uലിസ്റ്റ് ചെയ്ത കീവേഡുകൾ സംഭരിക്കും.

$ sudo touch /etc/squid/blockkeywords.lst

ഇപ്പോൾ നിങ്ങൾ ആക്സസ് തടയാൻ ആഗ്രഹിക്കുന്ന കീവേഡുകൾ ചേർക്കുക, ഉദാഹരണത്തിന്.

facebook
instagram
gmail

ഇപ്പോൾ സ്ക്വിഡിന്റെ കോൺഫിഗറേഷൻ ഫയൽ തുറന്ന് ഇനിപ്പറയുന്ന നിയമം ചേർക്കുക.

acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst"
http_access deny blockkeywordlist

ഇപ്പോൾ ഫയൽ സംരക്ഷിച്ച് സ്ക്വിഡ് പുനരാരംഭിക്കുക:

$ sudo systemctl restart squid

എല്ലാം കൃത്യമായി കോൺഫിഗർ ചെയ്uതുകഴിഞ്ഞാൽ, പുതുതായി കോൺഫിഗർ ചെയ്uത സ്uക്വിഡ് HTTP പ്രോക്uസി ഉപയോഗിക്കുന്നതിന് നിങ്ങളുടെ പ്രാദേശിക ക്ലയന്റ് വെബ് ബ്രൗസറോ ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ നെറ്റ്uവർക്ക് ക്രമീകരണമോ ഇപ്പോൾ കോൺഫിഗർ ചെയ്യാം.

സ്ക്വിഡ് പ്രോക്സി ഉപയോഗിക്കുന്നതിന് ക്ലയന്റ് കോൺഫിഗർ ചെയ്യുക

ഇപ്പോൾ നിങ്ങളുടെ പ്രോക്സി സെർവർ പ്രവർത്തിക്കുന്നുണ്ടോ ഇല്ലയോ എന്ന് പരിശോധിക്കാൻ, നിങ്ങൾക്ക് Firefox തുറന്ന് എഡിറ്റ് –> മുൻഗണനകൾ –> വിപുലമായ –> നെറ്റ്uവർക്ക് –> ക്രമീകരണങ്ങൾ എന്നതിലേക്ക് പോയി \മാനുവൽ പ്രോക്സി കോൺഫിഗറേഷൻ തിരഞ്ഞെടുത്ത് നിങ്ങളുടെ പ്രോക്സി സെർവർ IP വിലാസവും പോർട്ടും നൽകുക താഴെ പറയുന്ന പോലെ എല്ലാ കണക്ഷനുകൾക്കും ഉപയോഗിക്കും.

ആവശ്യമായ എല്ലാ പ്രോക്uസി വിശദാംശങ്ങളും നിങ്ങൾ പൂരിപ്പിച്ച് കഴിഞ്ഞാൽ, നിങ്ങളുടെ സ്uക്വിഡ് പ്രോക്uസി സെർവർ ഉപയോഗിച്ച് നിങ്ങൾക്ക് വെബിൽ സർഫ് ചെയ്യാൻ കഴിയും, നിങ്ങൾ ആഗ്രഹിക്കുന്ന മറ്റേതെങ്കിലും ബ്രൗസറിലോ പ്രോഗ്രാമിലോ ഇത് തന്നെ ചെയ്യാം.

നിങ്ങളുടെ പ്രോക്uസി സെർവർ ഉപയോഗിച്ചാണ് നിങ്ങൾ വെബിൽ സർഫിംഗ് ചെയ്യുന്നതെന്ന് ഉറപ്പാക്കാൻ, നിങ്ങൾക്ക് http://www.ipaddresslocation.org/ സന്ദർശിക്കാം, മുകളിൽ വലത് കോണിൽ നിങ്ങളുടെ സെർവർ IP വിലാസത്തിന്റെ അതേ IP വിലാസം നിങ്ങൾ കാണണം.

കൂടുതൽ കോൺഫിഗറേഷൻ ക്രമീകരണങ്ങൾക്കായി, നിങ്ങൾക്ക് ഔദ്യോഗിക സ്ക്വിഡ് ഡോക്യുമെന്റേഷൻ പരിശോധിക്കാവുന്നതാണ്. നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളോ അഭിപ്രായങ്ങളോ ഉണ്ടെങ്കിൽ, ചുവടെയുള്ള അഭിപ്രായ വിഭാഗത്തിൽ അവ ചേർക്കുക.