ഈ ലേഖനത്തിൽ, ഒരു അത്ഭുതകരമായ പ്രോജക്റ്റിനായി ഒരു ടെസ്റ്റ് സെർവർ ഇൻസ്റ്റാൾ ചെയ്യുന്ന പ്രക്രിയ ഘട്ടം ഘട്ടമായി വിവരിക്കാൻ ഞാൻ ശ്രമിക്കും
ഡ്യൂഡ്, അൻസിബിൾ തുടങ്ങിയ സ്വയം എഴുതിയ സ്ക്രിപ്റ്റുകളുടെ രൂപത്തിൽ ഭയങ്കരമായ റേക്കുകളും ക്രച്ചുകളും ഉപയോഗിച്ച് നെറ്റ്വർക്ക് ഉപകരണങ്ങൾ കൈകാര്യം ചെയ്യുന്നത് ഉപേക്ഷിക്കാൻ സഹപ്രവർത്തകരെ പ്രോത്സാഹിപ്പിക്കുക എന്നതാണ് ലേഖനത്തിന്റെ ഉദ്ദേശം. ചതുരങ്ങൾ.
0. ചോയ്സ്
എന്തുകൊണ്ട് ഫ്രീയാക്സും ജീനി-എക്സും പരാമർശിക്കരുത്
കാരണം മൈക്രോട്ടിക്കിനൊപ്പം ജീനി-എക്സ് അനുസരിച്ച് സ്പെയിൻകാരുടെ പ്രസിദ്ധീകരണങ്ങളുണ്ട്. അവർ ഇതാ
1. freeacs ഇൻസ്റ്റാൾ ചെയ്യുക
ഞങ്ങൾ ഇത് Centos7-ൽ ഇൻസ്റ്റാൾ ചെയ്യും, കൂടാതെ ഉപകരണങ്ങൾ ധാരാളം ഡാറ്റ കൈമാറുകയും ഡാറ്റാബേസിനൊപ്പം ACS സജീവമായി പ്രവർത്തിക്കുകയും ചെയ്യുന്നതിനാൽ, ഞങ്ങൾ വിഭവങ്ങളോട് അത്യാഗ്രഹിക്കില്ല. സുഖപ്രദമായ ജോലിക്കായി, ഞങ്ങൾ 2 സിപിയു കോറുകളും 4 ജിബി റാമും 16 ജിബി ഫാസ്റ്റ് എസ്എസ്ഡി റെയ്ഡ്10 സ്റ്റോറേജും അനുവദിക്കും. Proxmox VE lxc കണ്ടെയ്നറിൽ ഞാൻ freeacs ഇൻസ്റ്റാൾ ചെയ്യും, നിങ്ങൾക്ക് സൗകര്യപ്രദമായ ഏത് ഉപകരണത്തിലും നിങ്ങൾക്ക് പ്രവർത്തിക്കാനാകും.
നിങ്ങളുടെ ACS മെഷീനിൽ ശരിയായ സമയം സജ്ജീകരിക്കുന്നത് ഉറപ്പാക്കുക.
സിസ്റ്റം ഒരു പരീക്ഷണമായിരിക്കും, അതിനാൽ ഞങ്ങൾ രോമങ്ങൾ പിളർത്തില്ല, ദയയോടെ നൽകിയ ഇൻസ്റ്റാളേഷൻ സ്ക്രിപ്റ്റ് അതേപടി ഉപയോഗിക്കുക.
wget https://raw.githubusercontent.com/freeacs/freeacs/master/scripts/install_centos.sh
chmod +x install_centos.sh
./ install_centos.sh
സ്ക്രിപ്റ്റ് പൂർത്തിയാകുമ്പോൾ, നിങ്ങൾക്ക് മെഷീൻ ഐപി വഴി അഡ്മിൻ/ഫ്രീയാക്സ് ക്രെഡൻഷ്യലുകൾ ഉപയോഗിച്ച് ഉടൻ തന്നെ വെബ് ഇന്റർഫേസിലേക്ക് പ്രവേശിക്കാം.
ഇത് വളരെ നല്ല മിനിമലിസ്റ്റിക് ഇന്റർഫേസ് ആണ്, എല്ലാം എത്ര രസകരവും വേഗവുമാണ്
2. ഫ്രീയാക്കുകളുടെ പ്രാരംഭ സജ്ജീകരണം
ACS-ന്റെ അടിസ്ഥാന മാനേജ്മെന്റ് യൂണിറ്റ് യൂണിറ്റ് അല്ലെങ്കിൽ CPE (ഉപഭോക്തൃ പരിസര ഉപകരണങ്ങൾ) ആണ്. യൂണിറ്റുകൾ കൈകാര്യം ചെയ്യേണ്ട ഏറ്റവും പ്രധാനപ്പെട്ട കാര്യം അവയുടെ യൂണിറ്റ് തരമാണ്, അതായത്. ഒരു യൂണിറ്റിന്റെയും അതിന്റെ സോഫ്റ്റ്വെയറിന്റെയും കോൺഫിഗർ ചെയ്യാവുന്ന ഒരു കൂട്ടം പാരാമീറ്ററുകൾ നിർവചിക്കുന്ന ഒരു ഉപകരണ മോഡൽ. ഒരു പുതിയ യൂണിറ്റ് തരം എങ്ങനെ ശരിയായി സൃഷ്ടിക്കണമെന്ന് ഞങ്ങൾക്ക് അറിയില്ലെങ്കിലും, ഡിസ്കവറി മോഡ് ഓണാക്കി യൂണിറ്റിനോട് തന്നെ അതിനെക്കുറിച്ച് ചോദിക്കുന്നതാണ് നല്ലത്.
ഈ മോഡ് ഉൽപ്പാദനത്തിൽ പൂർണ്ണമായും ഉപയോഗിക്കാൻ കഴിയില്ല, പക്ഷേ ഞങ്ങൾ എത്രയും വേഗം എഞ്ചിൻ ആരംഭിക്കുകയും സിസ്റ്റത്തിന്റെ കഴിവുകൾ കാണുകയും വേണം. എല്ലാ അടിസ്ഥാന ക്രമീകരണങ്ങളും /opt/freeacs-* എന്നതിൽ സംഭരിച്ചിരിക്കുന്നു. അതിനാൽ, ഞങ്ങൾ തുറക്കുന്നു
vi /opt/freeacs-tr069/config/application-config.conf
, ഞങ്ങൾ കണ്ടെത്തുന്നു
discovery.mode = false
ഒപ്പം മാറ്റുക
discovery.mode = true
കൂടാതെ, nginx ഉം mysql ഉം പ്രവർത്തിക്കുന്ന പരമാവധി ഫയൽ വലുപ്പങ്ങൾ വർദ്ധിപ്പിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു. mysql-ന്, /etc/my.cnf-ലേക്ക് ലൈൻ ചേർക്കുക
max_allowed_packet=32M
, കൂടാതെ nginx-ന്, /etc/nginx/nginx.conf എന്നതിലേക്ക് ചേർക്കുക
client_max_body_size 32m;
http വിഭാഗത്തിലേക്ക്. അല്ലെങ്കിൽ, 1M-ൽ കൂടുതൽ ഫേംവെയറിൽ പ്രവർത്തിക്കാൻ ഞങ്ങൾക്ക് കഴിയും.
ഞങ്ങൾ റീബൂട്ട് ചെയ്യുന്നു, ഞങ്ങൾ ഉപകരണങ്ങളുമായി പ്രവർത്തിക്കാൻ തയ്യാറാണ്.
ഒരു ഉപകരണത്തിന്റെ (CPE) റോളിൽ നമുക്ക് കഠിനാധ്വാനിയായ ഒരു കുഞ്ഞ് ജനിക്കും
ഒരു ടെസ്റ്റ് കണക്ഷൻ ഉണ്ടാക്കുന്നതിന് മുമ്പ്, CPE ഒരു മിനിമം വർക്കിംഗ് കോൺഫിഗറേഷനിലേക്ക് സ്വമേധയാ കോൺഫിഗർ ചെയ്യുന്നതാണ് ഉചിതം, അതുവഴി ഭാവിയിൽ നിങ്ങൾ കോൺഫിഗർ ചെയ്യാൻ ആഗ്രഹിക്കുന്ന പാരാമീറ്ററുകൾ ശൂന്യമല്ല. ഒരു റൂട്ടറിനായി, ether1-ൽ dhcp ക്ലയന്റ് പ്രവർത്തനക്ഷമമാക്കുക, tr-069client പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുക, പാസ്വേഡുകൾ സജ്ജീകരിക്കുക എന്നിവയാണ് നിങ്ങൾക്ക് ചെയ്യാൻ കഴിയുന്ന ഏറ്റവും കുറഞ്ഞ കാര്യം.
3. Mikrotik ബന്ധിപ്പിക്കുക
ഒരു ലോഗിൻ ആയി സാധുവായ ഒരു സീരിയൽ നമ്പർ ഉപയോഗിച്ച് എല്ലാ യൂണിറ്റുകളും ബന്ധിപ്പിക്കുന്നതാണ് ഉചിതം. അപ്പോൾ ലോഗുകളിൽ എല്ലാം നിങ്ങൾക്ക് വ്യക്തമാകും. WAN MAC ഉപയോഗിക്കാൻ ആരോ ഉപദേശിക്കുന്നു - അത് വിശ്വസിക്കരുത്. എല്ലാവർക്കും പൊതുവായ ഒരു ലോഗിൻ/പാസ് ജോടി ആരെങ്കിലും ഉപയോഗിക്കുകയാണെങ്കിൽ, അവരെ ഒഴിവാക്കുക.
"ചർച്ചകൾ" നിരീക്ഷിക്കാൻ ലോഗ് tr-069 തുറക്കുക
tail -f /var/log/freeacs-tr069/tr069-conversation.log
Winbox തുറക്കുക, മെനു ഇനം TR-069.
ACS URL: http://10.110.0.109/tr069/prov
(നിങ്ങളുടെ ഐപി ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുക)
ഉപയോക്തൃനാമം: 9249094C26CB (സിസ്റ്റം> റൂട്ടർബോർഡിൽ നിന്ന് സീരിയൽ നമ്പർ പകർത്തുക)
പാസ്വേഡ്: 123456 (കണ്ടെത്തലിന് ആവശ്യമില്ല, പക്ഷേ ആവശ്യമാണ്)
ആനുകാലിക വിവര ഇടവേള ഞങ്ങൾ മാറ്റില്ല. ഞങ്ങളുടെ ACS വഴി ഞങ്ങൾ ഈ ക്രമീകരണം നൽകും
കണക്ഷന്റെ റിമോട്ട് ഇനീഷ്യലൈസേഷനുള്ള ക്രമീകരണങ്ങൾ ചുവടെയുണ്ട്, എന്നാൽ ഇതിനൊപ്പം പ്രവർത്തിക്കാൻ എനിക്ക് mikrotik ലഭിക്കില്ല. ഫോണുകളിൽ വിദൂര അഭ്യർത്ഥന പ്രവർത്തിക്കുന്നുവെങ്കിലും. നമുക്കത് കണ്ടുപിടിക്കേണ്ടി വരും.
പ്രയോഗിക്കുക ബട്ടൺ ക്ലിക്കുചെയ്ത ശേഷം, ടെർമിനലിൽ ഡാറ്റ കൈമാറ്റം ചെയ്യപ്പെടും, കൂടാതെ Freeacs വെബ് ഇന്റർഫേസിൽ നിങ്ങൾക്ക് സ്വയമേവ സൃഷ്ടിച്ച യൂണിറ്റ് തരം "hAPaclite" ഉപയോഗിച്ച് ഞങ്ങളുടെ റൂട്ടർ കാണാനാകും.
റൂട്ടർ ബന്ധിപ്പിച്ചിരിക്കുന്നു. നിങ്ങൾക്ക് യാന്ത്രികമായി സൃഷ്ടിച്ച യൂണിറ്റ് തരം നോക്കാം. തുറക്കുന്നു Easy Provisioning > Unit Type > Unit Type Overview > hAPaclite
. എന്താ അവിടെ ഇല്ലാത്തത്! 928 പാരാമീറ്ററുകൾ (ഞാൻ ഷെല്ലിൽ നോക്കി). ഇത് ഒരുപാട് ആയാലും കുറച്ചായാലും, ഞങ്ങൾ അത് പിന്നീട് മനസ്സിലാക്കും, എന്നാൽ ഇപ്പോൾ ഞങ്ങൾ പെട്ടെന്ന് നോക്കാം. ഇതാണ് യൂണിറ്റ് തരം അർത്ഥമാക്കുന്നത്. കീകളുള്ള എന്നാൽ മൂല്യങ്ങളില്ലാത്ത പിന്തുണയ്ക്കുന്ന പാരാമീറ്ററുകളുടെ ഒരു ലിസ്റ്റാണിത്. മൂല്യങ്ങൾ താഴെയുള്ള ലെവലുകളിൽ സജ്ജീകരിച്ചിരിക്കുന്നു - പ്രൊഫൈലുകളും യൂണിറ്റുകളും.
4. Mikrotik കോൺഫിഗർ ചെയ്യുക
ഡൗൺലോഡ് ചെയ്യാൻ സമയമായി
ഞങ്ങൾ തന്നെ, വെബ് ഇന്റർഫേസിൽ, ഞങ്ങളുടെ യൂണിറ്റിന് അടുത്തുള്ള പെൻസിലിൽ ക്ലിക്ക് ചെയ്ത് യൂണിറ്റ് കോൺഫിഗറേഷൻ മോഡിലേക്ക് പോകുക. ഇത് ഇതുപോലെ കാണപ്പെടുന്നു:
ഈ പേജിൽ രസകരമായത് എന്താണെന്ന് നമുക്ക് ചുരുക്കമായി നോക്കാം:
യൂണിറ്റ് കോൺഫിഗറേഷൻ ബ്ലോക്ക്
- പ്രൊഫൈൽ: ഇത് യൂണിറ്റ് തരത്തിനുള്ളിലെ പ്രൊഫൈലാണ്. ശ്രേണി ഇതുപോലെയാണ്:
UnitType > Profile > Unit
. അതായത്, നമുക്ക് സൃഷ്ടിക്കാൻ കഴിയും, ഉദാഹരണത്തിന്, പ്രൊഫൈലുകൾhAPaclite > hotspot
иhAPaclite > branch
, എന്നാൽ ഉപകരണ മോഡലിനുള്ളിൽ
പ്രൊവിഷനിംഗ് ബ്ലോക്ക് ബട്ടണുകൾ ഉപയോഗിച്ച്
Provisioning ബ്ലോക്കിലെ എല്ലാ ബട്ടണുകൾക്കും ConnectionRequestURL വഴി കോൺഫിഗറേഷൻ തൽക്ഷണം പ്രയോഗിക്കാൻ കഴിയുമെന്ന് ടൂൾടിപ്പുകൾ സൂചന നൽകുന്നു. പക്ഷേ, ഞാൻ മുകളിൽ പറഞ്ഞതുപോലെ, ഇത് പ്രവർത്തിക്കില്ല, അതിനാൽ ബട്ടണുകൾ അമർത്തിയാൽ നിങ്ങൾ സ്വമേധയാ പ്രൊവിഷൻ ആരംഭിക്കുന്നതിന് mikrotik-ൽ tr-069 ക്ലയന്റ് പുനരാരംഭിക്കേണ്ടതുണ്ട്.
- ആവൃത്തി/സ്പ്രെഡ്: സെർവറിലെയും ആശയവിനിമയ ചാനലുകളിലെയും ലോഡ് കുറയ്ക്കുന്നതിന് കോൺഫിഗറേഷൻ ±% നൽകുന്നതിന് ആഴ്ചയിൽ എത്ര തവണ. സ്ഥിരസ്ഥിതിയായി ഇത് 7/20 ആണ്, അതായത്. എല്ലാ ദിവസവും ± 20%, സെക്കന്റുകൾക്കുള്ളിൽ അത് എങ്ങനെയാണെന്നതിന്റെ സൂചന. ഡെലിവറി ഫ്രീക്വൻസി മാറ്റുന്നതിൽ അർത്ഥമില്ല, കാരണം... ലോഗുകളിൽ അധിക ശബ്ദം ഉണ്ടാകും കൂടാതെ ക്രമീകരണങ്ങൾ എപ്പോഴും പ്രതീക്ഷിച്ചതുപോലെ പ്രയോഗിക്കപ്പെടില്ല
പ്രൊവിഷനിംഗ് ഹിസ്റ്ററി ബ്ലോക്ക് (അവസാന 48 മണിക്കൂർ)
- കാഴ്ചയിൽ, സ്റ്റോറി ഒരു സ്റ്റോറി പോലെയാണ്, എന്നാൽ ശീർഷകത്തിൽ ക്ലിക്കുചെയ്യുന്നതിലൂടെ, regexp, goodies എന്നിവയുള്ള സൗകര്യപ്രദമായ ഒരു ഡാറ്റാബേസ് തിരയൽ ഉപകരണത്തിലേക്ക് നിങ്ങളെ കൊണ്ടുപോകും.
പാരാമീറ്ററുകൾ ബ്ലോക്ക്
ഏറ്റവും വലുതും പ്രധാനപ്പെട്ടതുമായ ബ്ലോക്ക്, വാസ്തവത്തിൽ, തന്നിരിക്കുന്ന യൂണിറ്റിനുള്ള പാരാമീറ്ററുകൾ സജ്ജീകരിച്ച് വായിക്കുന്നു. ഇപ്പോൾ നമ്മൾ ഏറ്റവും പ്രധാനപ്പെട്ട സിസ്റ്റം പാരാമീറ്ററുകൾ മാത്രം കാണുന്നു, അതില്ലാതെ യൂണിറ്റിനൊപ്പം എസിഎസ് പ്രവർത്തിക്കുന്നത് അസാധ്യമാണ്. എന്നാൽ ഞങ്ങളുടെ യൂണിറ്റ് തരത്തിൽ അവ ഉണ്ടെന്ന് ഞങ്ങൾ ഓർക്കുന്നു - 928. എല്ലാ അർത്ഥങ്ങളും നോക്കി എല്ലാവരും Mikrotik ഉപയോഗിച്ച് എന്താണ് കഴിക്കുന്നതെന്ന് തീരുമാനിക്കാം.
4.1 പാരാമീറ്ററുകൾ വായിക്കുന്നു
പ്രൊവിഷനിംഗ് ബ്ലോക്കിൽ, എല്ലാം വായിക്കുക ബട്ടൺ ക്ലിക്ക് ചെയ്യുക. ബ്ലോക്കിൽ ഒരു ചുവന്ന ലിഖിതമുണ്ട്. വലതുവശത്ത് ഒരു കോളം ദൃശ്യമാകും CPE (നിലവിലെ) മൂല്യം. സിസ്റ്റം പാരാമീറ്ററുകളിൽ, പ്രൊവിഷനിംഗ് മോഡ് റീഡാൾ എന്നതിലേക്ക് മാറിയിരിക്കുന്നു.
കൂടാതെ... System.X_FREEACS-COM.IM.Message എന്നതിലെ സന്ദേശമല്ലാതെ മറ്റൊന്നും സംഭവിക്കില്ല Kick failed at...
.
TR-069 ക്ലയന്റ് പുനരാരംഭിക്കുക അല്ലെങ്കിൽ റൂട്ടർ റീബൂട്ട് ചെയ്യുക, വലതുവശത്ത് സന്തോഷകരമായ ചാരനിറത്തിലുള്ള ദീർഘചതുരങ്ങളിൽ പാരാമീറ്ററുകൾ ലഭിക്കുന്നതുവരെ ബ്രൗസർ പേജ് പുതുക്കുന്നത് തുടരുക
ആർക്കെങ്കിലും പഴയ വൈൻ കുടിക്കാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ, ഈ മോഡ് 10.2 ഇൻസ്പെക്ഷൻ മോഡ് എന്ന് മാനുവലിൽ വിവരിച്ചിരിക്കുന്നു. ഇത് ഓൺ ചെയ്യുകയും കുറച്ച് വ്യത്യസ്തമായി പ്രവർത്തിക്കുകയും ചെയ്യുന്നു, പക്ഷേ സാരാംശം നന്നായി വിവരിച്ചിരിക്കുന്നു
റീഡാൽ മോഡ് 15 മിനിറ്റിനുശേഷം സ്വയം ഓഫാകും, ഇവിടെ ഉപയോഗപ്രദമായത് എന്താണെന്ന് മനസിലാക്കാൻ ഞങ്ങൾ ശ്രമിക്കും, ഈ മോഡിൽ ആയിരിക്കുമ്പോൾ "ഫ്ലൈയിൽ" എന്താണ് ശരിയാക്കാൻ കഴിയുക.
നിങ്ങൾക്ക് IP വിലാസങ്ങൾ മാറ്റാനും ഇന്റർഫേസുകൾ പ്രവർത്തനക്ഷമമാക്കാനും/അപ്രാപ്തമാക്കാനും കഴിയും, അഭിപ്രായങ്ങളുള്ള ഫയർവാൾ നിയമങ്ങൾ (അല്ലെങ്കിൽ ഇത് ഒരു പൂർണ്ണമായ കുഴപ്പമാണ്), Wi-Fi മുതലായവ.
അതായത്, TR-069 ഉപയോഗിച്ച് മാത്രം mikrotik ക്രമീകരിക്കാൻ ഇതുവരെ സാധ്യമല്ല. എന്നാൽ നിങ്ങൾക്ക് ഇത് നന്നായി നിരീക്ഷിക്കാൻ കഴിയും. ഇന്റർഫേസുകളെയും അവയുടെ സ്റ്റാറ്റസ്, ഫ്രീ മെമ്മറി മുതലായവയെയും കുറിച്ചുള്ള സ്ഥിതിവിവരക്കണക്കുകൾ ലഭ്യമാണ്.
4.2 പരാമീറ്ററുകൾ വിതരണം ചെയ്യുന്നു
ഇപ്പോൾ നമുക്ക് "സ്വാഭാവിക" രീതിയിൽ, TR-069 വഴി റൂട്ടറിലേക്ക് പാരാമീറ്ററുകൾ കൈമാറാൻ ശ്രമിക്കാം. ആദ്യത്തെ ഇര Device.DeviceInfo.X_MIKROTIK_SystemIdity ആയിരിക്കും. എല്ലാ യൂണിറ്റിന്റെയും പാരാമീറ്ററുകളിൽ ഞങ്ങൾ അത് കണ്ടെത്തുന്നു. നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, അത് വ്യക്തമാക്കിയിട്ടില്ല. ഇതിനർത്ഥം ഏത് യൂണിറ്റിനും ഏതെങ്കിലും ഐഡന്റിറ്റി ഉണ്ടായിരിക്കാം എന്നാണ്. ഇത് സഹിച്ചാൽ മതി!
സൃഷ്ടിക്കുക കോളത്തിലെ ചെക്ക്ബോക്സിൽ ക്ലിക്ക് ചെയ്യുക, Mr.White എന്ന പേര് സജ്ജീകരിച്ച് അപ്ഡേറ്റ് പാരാമീറ്ററുകൾ ബട്ടൺ ക്ലിക്കുചെയ്യുക. അടുത്തതായി എന്ത് സംഭവിക്കുമെന്ന് നിങ്ങൾ ഇതിനകം ഊഹിച്ചു. ഹെഡ്ക്വാർട്ടേഴ്സുമായുള്ള അടുത്ത ആശയവിനിമയ സെഷനിൽ, റൂട്ടർ അതിന്റെ ഐഡന്റിറ്റി മാറ്റണം.
എന്നാൽ ഇത് ഞങ്ങൾക്ക് പര്യാപ്തമല്ല. ആവശ്യമുള്ള യൂണിറ്റിനായി തിരയുമ്പോൾ ഐഡന്റിറ്റി പോലുള്ള ഒരു പാരാമീറ്റർ എപ്പോഴും കയ്യിൽ ഉണ്ടായിരിക്കുന്നത് നല്ലതാണ്. പാരാമീറ്റർ നാമത്തിൽ ക്ലിക്ക് ചെയ്ത് ഡിസ്പ്ലേ(ഡി), സെർച്ച് ചെയ്യാവുന്ന (എസ്) ചെക്ക്ബോക്സുകൾ പരിശോധിക്കുക. പാരാമീറ്റർ കീ RWSD-ലേക്ക് മാറുന്നു (ഓർക്കുക, പേരുകളും കീകളും ഏറ്റവും ഉയർന്ന യൂണിറ്റ് തരം തലത്തിൽ സജ്ജീകരിച്ചിരിക്കുന്നു)
മൂല്യം ഇപ്പോൾ പൊതുവായ തിരയൽ ലിസ്റ്റിൽ മാത്രമല്ല, തിരയലിനും ലഭ്യമാണ് Support > Search > Advanced form
ഞങ്ങൾ പ്രൊവിഷൻ ആരംഭിക്കുകയും ഐഡന്റിറ്റി നോക്കുകയും ചെയ്യുന്നു. നമസ്കാരം Mr.White ! ഇപ്പോൾ നിങ്ങൾക്ക് tr-069client പ്രവർത്തിക്കുമ്പോൾ നിങ്ങളുടെ ഐഡന്റിറ്റി മാറ്റാൻ കഴിയില്ല
4.3 സ്ക്രിപ്റ്റുകൾ നടപ്പിലാക്കുന്നു
അവയില്ലാതെ നമുക്ക് ജീവിക്കാൻ കഴിയില്ലെന്ന് കണ്ടെത്തിയതിനാൽ, നമുക്ക് അവ നടപ്പിലാക്കാം.
എന്നാൽ ഫയലുകളുമായി പ്രവർത്തിക്കാൻ തുടങ്ങുന്നതിനുമുമ്പ്, ഞങ്ങൾ നിർദ്ദേശം ശരിയാക്കേണ്ടതുണ്ട് public.url
ഫയലിൽ /opt/freeacs-tr069/config/application-config.conf
ഞങ്ങൾക്ക് ഇപ്പോഴും ഒരു സ്ക്രിപ്റ്റ് ഉപയോഗിച്ച് ഒരു ടെസ്റ്റ് കോൺഫിഗറേഷൻ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട്. മറന്നു പോയോ?
# --- Public url (used for download f. ex.) ---
public.url = "http://10.110.0.109"
public.url: ${?PUBLIC_URL}
ഞങ്ങൾ ACS റീബൂട്ട് ചെയ്ത് നേരെ പോകുന്നു Files & Scripts
.
എന്നാൽ ഇപ്പോൾ നമുക്കായി തുറക്കുന്നത് യൂണിറ്റ് തരത്തിൽ പെട്ടതാണ്, അതായത്. ആഗോളതലത്തിൽ എല്ലാ എച്ച്എപി എസി ലൈറ്റ് റൂട്ടറുകൾക്കും, അത് ഒരു ബ്രാഞ്ച് റൂട്ടറോ, ഹോട്ട്സ്പോട്ട് അല്ലെങ്കിൽ ക്യാപ്സ്മാൻ ആകട്ടെ. ഞങ്ങൾക്ക് ഇതുവരെ അത്തരമൊരു ഉയർന്ന തലം ആവശ്യമില്ല, അതിനാൽ സ്ക്രിപ്റ്റുകളും ഫയലുകളും ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നതിന് മുമ്പ്, ഞങ്ങൾ ഒരു പ്രൊഫൈൽ സൃഷ്ടിക്കണം. നിങ്ങൾക്ക് ഇതിനെ ഉപകരണത്തിന്റെ "ഡ്യൂട്ടി" എന്ന് വിളിക്കാം.
നമുക്ക് നമ്മുടെ കുഞ്ഞിനെ ടൈം സെർവർ ആക്കാം. ഒരു പ്രത്യേക സോഫ്റ്റ്വെയർ പാക്കേജും ചെറിയ അളവിലുള്ള പാരാമീറ്ററുകളും ഉള്ള മാന്യമായ സ്ഥാനം. നമുക്ക് പോകാം Easy Provisioning > Profile > Create Profile
കൂടാതെ യൂണിറ്റ് തരത്തിൽ ഒരു പ്രൊഫൈൽ സൃഷ്ടിക്കുക: hAPaclite ടൈംസെർവർ. ഡിഫോൾട്ട് പ്രൊഫൈലിൽ ഞങ്ങൾക്ക് പാരാമീറ്ററുകളൊന്നും ഇല്ല, അതിനാൽ പകർത്താൻ ഒന്നുമില്ല ഇതിൽ നിന്ന് പാരാമീറ്ററുകൾ പകർത്തുക: "പകർത്തരുത്..."
ഇവിടെ ഇതുവരെ പാരാമീറ്ററുകൾ ഒന്നുമില്ല, പക്ഷേ hAPaclite-ൽ നിന്ന് ഒരുമിച്ച് കൂട്ടിച്ചേർത്ത ഞങ്ങളുടെ ടൈം സെർവറുകളിൽ പിന്നീട് കാണാൻ ആഗ്രഹിക്കുന്നവ സജ്ജീകരിക്കാൻ കഴിയും. ഉദാഹരണത്തിന്, NTP സെർവറുകളുടെ പൊതുവായ വിലാസങ്ങൾ.
നമുക്ക് യൂണിറ്റ് കോൺഫിഗറേഷനിലേക്ക് പോയി ടൈംസെർവർ പ്രൊഫൈലിലേക്ക് നീക്കാം
ഞങ്ങൾ ഒടുവിൽ പോകുന്നു Files & Scripts
, സ്ക്രിപ്റ്റുകൾ ഉണ്ടാക്കുക, ഇവിടെ അതിശയകരമാംവിധം സൗകര്യപ്രദമായ ബണ്ണുകൾ ഞങ്ങളെ കാത്തിരിക്കുന്നു.
ഒരു യൂണിറ്റിൽ സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിന്, നമ്മൾ തിരഞ്ഞെടുക്കേണ്ടതുണ്ട് തരം:TR069_SCRIPT а പേര് и ലക്ഷ്യ നാമം .alter എന്ന വിപുലീകരണം ഉണ്ടായിരിക്കണം
അതേ സമയം, സ്ക്രിപ്റ്റുകൾക്ക്, സോഫ്റ്റ്വെയറിൽ നിന്ന് വ്യത്യസ്തമായി, നിങ്ങൾക്ക് ഒന്നുകിൽ ഒരു റെഡിമെയ്ഡ് ഫയൽ ഡൗൺലോഡ് ചെയ്യാം അല്ലെങ്കിൽ അത് ഫീൽഡിൽ എഴുതാം/എഡിറ്റ് ചെയ്യാം. ഉള്ളടക്കം. അത് അവിടെ തന്നെ എഴുതാൻ ശ്രമിക്കാം.
നിങ്ങൾക്ക് ഫലം ഉടനടി കാണുന്നതിന്, ether1-ലെ റൂട്ടറിലേക്ക് ഒരു vlan ചേർക്കാം
/interface vlan
add interface=ether1 name=vlan1 vlan-id=1
ഡ്രൈവ് ചെയ്യുക, അമർത്തുക അപ്ലോഡ് നിങ്ങൾ പൂർത്തിയാക്കി. ഞങ്ങളുടെ സ്ക്രിപ്റ്റ് vlan1.alter
ചിറകുകളിൽ കാത്തിരിക്കുന്നു.
ശരി, നമുക്ക് പോകാം? ഇല്ല. ഞങ്ങളുടെ പ്രൊഫൈലിനായി ഒരു ഗ്രൂപ്പും ചേർക്കേണ്ടതുണ്ട്. ഉപകരണ ശ്രേണിയിൽ ഗ്രൂപ്പുകൾ ഉൾപ്പെടുത്തിയിട്ടില്ല, എന്നാൽ യൂണിറ്റ് ടൈപ്പിലോ പ്രൊഫൈലിലോ യൂണിറ്റുകൾക്കായി തിരയാൻ അവ ആവശ്യമാണ്, കൂടാതെ വിപുലമായ പ്രൊവിഷനിംഗിലൂടെ സ്ക്രിപ്റ്റുകൾ നടപ്പിലാക്കുന്നതിന് അവ ആവശ്യമാണ്. സാധാരണഗതിയിൽ, ഗ്രൂപ്പുകൾക്ക് ലൊക്കേഷനുകളുമായി ബന്ധമുണ്ട്, കൂടാതെ ഒരു നെസ്റ്റഡ് ഘടനയുമുണ്ട്. നമുക്ക് ഒരു ഗ്രൂപ്പ് റഷ്യ ഉണ്ടാക്കാം.
"hAPaclite-ലെ ലോകത്തിലെ എല്ലാ സമയ സെർവറുകളും" എന്നതിൽ നിന്ന് "hAPaclite-ലെ റഷ്യയിലെ എല്ലാ സമയ സെർവറുകളും" എന്നതിലേക്ക് തിരച്ചിൽ ചുരുക്കാൻ ഞങ്ങൾക്ക് കഴിഞ്ഞതായി നിങ്ങൾക്ക് സങ്കൽപ്പിക്കാനാകുമോ? ഗ്രൂപ്പുകൾക്കൊപ്പം രസകരമായ കാര്യങ്ങളുടെ ഒരു വലിയ പാളി ഇപ്പോഴും ഉണ്ട്, പക്ഷേ ഞങ്ങൾക്ക് സമയമില്ല. നമുക്ക് തിരക്കഥകളിലേക്ക് പോകാം.
Advanced Provisioning > Job > Create Job
ഞങ്ങൾ, എല്ലാത്തിനുമുപരി, വിപുലമായ മോഡിൽ ആയതിനാൽ, ഇവിടെ നിങ്ങൾക്ക് ഒരു ടാസ്ക് ആരംഭിക്കുന്നതിനുള്ള വ്യത്യസ്ത വ്യവസ്ഥകളുടെ ഒരു കൂട്ടം, പിശകുകൾ, ആവർത്തനങ്ങൾ, കാലഹരണപ്പെടലുകൾ എന്നിവയിൽ പെരുമാറ്റം വ്യക്തമാക്കാൻ കഴിയും. മാനുവലുകളിൽ ഇതെല്ലാം വായിക്കാനോ നിർമ്മാണത്തിൽ നടപ്പിലാക്കുമ്പോൾ പിന്നീട് ചർച്ച ചെയ്യാനോ ഞാൻ ശുപാർശ ചെയ്യുന്നു. ഇപ്പോൾ, ഞങ്ങൾ സ്റ്റോപ്പ് നിയമങ്ങളിൽ n1 ഇടും, അതിനാൽ ഞങ്ങളുടെ ആദ്യ യൂണിറ്റിൽ ടാസ്ക് പൂർത്തിയായാലുടൻ അത് നിർത്തും.
ആവശ്യമായ വിവരങ്ങൾ ഞങ്ങൾ പൂരിപ്പിക്കുന്നു, അത് സമാരംഭിക്കുക മാത്രമാണ് അവശേഷിക്കുന്നത്!
START അമർത്തി കാത്തിരിക്കുക. മോശമായി ഡീബഗ്ഗുചെയ്ത സ്ക്രിപ്റ്റ് ഇല്ലാതാക്കിയ ഉപകരണങ്ങളുടെ കൗണ്ടർ ഇപ്പോൾ വേഗത്തിൽ പ്രവർത്തിക്കും! തീർച്ചയായും ഇല്ല. അത്തരം ജോലികൾ വളരെ സമയമെടുക്കും, ഇത് സ്ക്രിപ്റ്റുകൾ, അൻസിബിൾ മുതലായവയിൽ നിന്നുള്ള വ്യത്യാസമാണ്. യൂണിറ്റുകൾ സ്വയം ഒരു ഷെഡ്യൂളിൽ ടാസ്ക്കുകൾക്കായി അപേക്ഷിക്കുന്നു അല്ലെങ്കിൽ അവ നെറ്റ്വർക്കിൽ ദൃശ്യമാകുന്നതുപോലെ, ഏതൊക്കെ യൂണിറ്റുകൾക്ക് ഇതിനകം ടാസ്ക്കുകൾ ലഭിച്ചുവെന്നും അവ എങ്ങനെ പൂർത്തിയാക്കി എന്നും ട്രാക്ക് ചെയ്യുന്നു, ഇത് യൂണിറ്റ് പാരാമീറ്ററുകളിൽ രേഖപ്പെടുത്തുന്നു. ഞങ്ങളുടെ ഗ്രൂപ്പിൽ 1 യൂണിറ്റ് ഉണ്ട്, അവരിൽ 1001 പേർ ഉണ്ടെങ്കിൽ, അഡ്മിൻ ഈ ടാസ്ക്ക് ആരംഭിച്ച് മത്സ്യബന്ധനത്തിന് പോകും
വരിക. റൂട്ടർ റീബൂട്ട് ചെയ്യുക അല്ലെങ്കിൽ TR-069 ക്ലയന്റ് പുനരാരംഭിക്കുക. എല്ലാം സുഗമമായി നടക്കണം, Mr.White-ന് ഒരു പുതിയ vlan ലഭിക്കും. ഞങ്ങളുടെ സ്റ്റോപ്പ് റൂൾ ടാസ്ക് താൽക്കാലികമായി നിർത്തിയ നിലയിലേക്ക് മാറും. അതായത്, ഇത് ഇപ്പോഴും പുനരാരംഭിക്കാനോ മാറ്റാനോ കഴിയും. നിങ്ങൾ പൂർത്തിയാക്കുക ക്ലിക്കുചെയ്യുകയാണെങ്കിൽ, ടാസ്ക് ആർക്കൈവ് ചെയ്യപ്പെടും
4.4 സോഫ്റ്റ്വെയർ അപ്ഡേറ്റ് ചെയ്യുന്നു
Mikrotik ഫേംവെയർ മോഡുലാർ ആയതിനാൽ ഇത് വളരെ പ്രധാനപ്പെട്ട ഒരു കാര്യമാണ്, എന്നാൽ മൊഡ്യൂളുകൾ ചേർക്കുന്നത് ഉപകരണത്തിന്റെ മൊത്തത്തിലുള്ള ഫേംവെയർ പതിപ്പിനെ മാറ്റില്ല. ഞങ്ങളുടെ ACS സാധാരണമാണ്, ഇത് ഉപയോഗിക്കാറില്ല.
ഇപ്പോൾ ഞങ്ങൾ ഇത് ദ്രുത & വൃത്തികെട്ട ശൈലിയിൽ ചെയ്യുകയും NTP മൊഡ്യൂളിനെ പൊതു ഫേംവെയറിലേക്ക് തള്ളുകയും ചെയ്യും, എന്നാൽ ഉപകരണത്തിൽ പതിപ്പ് അപ്ഡേറ്റ് ചെയ്തയുടൻ, അതേ രീതിയിൽ മറ്റൊരു മൊഡ്യൂൾ ചേർക്കാൻ ഞങ്ങൾക്ക് കഴിയില്ല.
ഉൽപ്പാദനത്തിൽ, അത്തരം ഒരു ട്രിക്ക് ഉപയോഗിക്കാതിരിക്കുന്നതാണ് നല്ലത്, കൂടാതെ സ്ക്രിപ്റ്റുകൾ ഉപയോഗിച്ച് മാത്രം യൂണിറ്റ് ടൈപ്പിന് ഓപ്ഷണൽ ആയ മൊഡ്യൂളുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക.
അതിനാൽ, നമ്മൾ ആദ്യം ചെയ്യേണ്ടത് ആവശ്യമായ പതിപ്പുകളുടെയും ആർക്കിടെക്ചറിന്റെയും സോഫ്റ്റ്വെയർ പാക്കേജുകൾ തയ്യാറാക്കി അവ ആക്സസ് ചെയ്യാവുന്ന ചില വെബ് സെർവറിൽ ഇടുക എന്നതാണ്. പരിശോധനയ്ക്കായി, ഞങ്ങളുടെ Mr.White-ന് എത്തിച്ചേരാൻ കഴിയുന്ന ആർക്കും പരിശോധന നടത്തും, എന്നാൽ ഉൽപ്പാദനത്തിന് ആവശ്യമായ സോഫ്റ്റ്വെയറിന്റെ ഒരു യാന്ത്രിക-അപ്ഡേറ്റിംഗ് മിറർ കൂട്ടിച്ചേർക്കുന്നതാണ് നല്ലത്, അത് വെബിൽ ഇടാൻ ഭയാനകമല്ല.
പ്രധാനം! നിങ്ങളുടെ അപ്ഡേറ്റുകളിൽ എല്ലായ്പ്പോഴും tr-069client പാക്കേജ് ഉൾപ്പെടുത്താൻ മറക്കരുത്!
അത് മാറുന്നതുപോലെ, പാക്കറ്റുകളിലേക്കുള്ള പാതയുടെ ദൈർഘ്യം വളരെ പ്രധാനമാണ്! ഞാൻ ഇതുപോലെ എന്തെങ്കിലും ഉപയോഗിക്കാൻ ശ്രമിക്കുമ്പോൾ http://192.168.0.237/routeros/stable/mipsbe/routeros-mipsbe-6.45.6.npk
, mikrotik ഒരു റിസോഴ്സുമായി ഒരു ചാക്രിക കണക്ഷനിൽ അകപ്പെട്ടു, tr-069 ലോഗിലേക്ക് ആവർത്തിച്ചുള്ള ട്രാൻസ്ഫർകംപ്ലീറ്റ് അയച്ചു. എന്താണ് തെറ്റ് എന്ന് മനസിലാക്കാൻ ഞാൻ കുറച്ച് നാഡീകോശങ്ങൾ ചെലവഴിച്ചു. അതിനാൽ, കണ്ടെത്തുന്നതുവരെ ഇപ്പോൾ നമുക്ക് ഇത് റൂട്ടിൽ ഇടാം
അതിനാൽ നമുക്ക് മൂന്ന് npk ഫയലുകൾ http വഴി ലഭ്യമാകണം. ഇത് എനിക്ക് ഇതുപോലെ മാറി
http://192.168.0.241/routeros-mipsbe-6.45.6.npk
http://192.168.0.241/routeros/stable/mipsbe/ntp-6.45.6-mipsbe.npk
http://192.168.0.241/routeros/stable/mipsbe/tr069-client-6.45.6-mipsbe.npk
ഇപ്പോൾ ഇത് ഫയൽ ടൈപ്പ് = "1 ഫേംവെയർ അപ്ഗ്രേഡ് ഇമേജ്" ഉള്ള ഒരു xml ഫയലിലേക്ക് ഫോർമാറ്റ് ചെയ്യേണ്ടതുണ്ട്, അത് ഞങ്ങൾ Mikrotik-ലേക്ക് ഫീഡ് ചെയ്യും. പേര് ros.xml ആയിരിക്കട്ടെ
നിന്നുള്ള നിർദ്ദേശങ്ങൾക്കനുസൃതമായി ഞങ്ങൾ ഇത് ചെയ്യുന്നു
<upgrade version="1" type="links">
<config />
<links>
<link>
<url>http://192.168.0.241/routeros-mipsbe-6.45.6.npk</url>
</link>
<link>
<url>http://192.168.0.241/ntp-6.45.6-mipsbe.npk</url>
</link>
<link>
<url>http://192.168.0.241/tr069-client-6.45.6-mipsbe.npk</url>
</link>
</links>
</upgrade>
പ്രകടമായ കുറവുണ്ട് Username/Password
ഡൗൺലോഡ് സെർവർ ആക്സസ് ചെയ്യാൻ. പ്രോട്ടോക്കോൾ tr-3.2.8-ന്റെ A.069 ഖണ്ഡികയിലെന്നപോലെ നിങ്ങൾക്ക് ഇത് നൽകാൻ ശ്രമിക്കാവുന്നതാണ്:
<link>
<url>http://192.168.0.237/routeros/stable/mipsbe/ntp-6.45.6-mipsbe.npk</url>
<Username>user</Username>
<Password>pass</Password>
</link>
അല്ലെങ്കിൽ *.npk-ലേക്കുള്ള പരമാവധി പാത ദൈർഘ്യത്തെക്കുറിച്ച് Mikrotik ഉദ്യോഗസ്ഥരോട് നേരിട്ട് ചോദിക്കുക
നമുക്ക് അറിയാവുന്ന സ്ഥലങ്ങളിലേക്ക് പോകാം Files & Scripts
, കൂടാതെ അവിടെ ഒരു സോഫ്റ്റ്വെയർ ഫയൽ സൃഷ്ടിക്കുക പേര്:ros.xml, ലക്ഷ്യ നാമം:ros.xml ഒപ്പം പതിപ്പ്:6.45.6
ശ്രദ്ധ! ഇവിടെയുള്ള പതിപ്പ് ഉപകരണത്തിൽ പ്രദർശിപ്പിക്കുകയും പാരാമീറ്ററിൽ കൈമാറുകയും ചെയ്യുന്ന ഫോർമാറ്റിൽ കൃത്യമായി വ്യക്തമാക്കിയിരിക്കണം. System.X_FREEACS-COM.Device.SoftwareVersion
.
അപ്ലോഡ് ചെയ്യാൻ ഞങ്ങളുടെ xm ഫയൽ തിരഞ്ഞെടുക്കുക, നിങ്ങൾ പൂർത്തിയാക്കി.
ഇപ്പോൾ നമുക്ക് ഉപകരണം അപ്ഡേറ്റ് ചെയ്യാൻ നിരവധി മാർഗങ്ങളുണ്ട്. പ്രധാന മെനുവിലെ വിസാർഡ് വഴി, വിപുലമായ പ്രൊവിഷനിംഗിലൂടെയും സോഫ്റ്റ്വെയർ തരത്തോടുകൂടിയ ടാസ്ക്കിലൂടെയും അല്ലെങ്കിൽ യൂണിറ്റ് കോൺഫിഗറേഷനിലേക്ക് പോയി അപ്ഗ്രേഡ് ക്ലിക്ക് ചെയ്യുക. നമുക്ക് ഏറ്റവും ലളിതമായ പാത തിരഞ്ഞെടുക്കാം, അല്ലാത്തപക്ഷം ലേഖനം ഇതിനകം വീർത്തതാണ്.
ഞങ്ങൾ ബട്ടൺ അമർത്തി, പ്രൊവിഷൻ ആരംഭിക്കുക, നിങ്ങൾ പൂർത്തിയാക്കി. ടെസ്റ്റ് പ്രോഗ്രാം പൂർത്തിയായി. ഇപ്പോൾ നമുക്ക് mikrotik ഉപയോഗിച്ച് കൂടുതൽ ചെയ്യാൻ കഴിയും.
5. ഉപസംഹാരം
ഞാൻ എഴുതാൻ തുടങ്ങിയപ്പോൾ, ഒരു IP ഫോണിന്റെ കണക്ഷൻ വിവരിക്കാൻ ഞാൻ ആദ്യം ആഗ്രഹിച്ചു, കൂടാതെ tr-069 എളുപ്പത്തിലും അനായാസമായും പ്രവർത്തിക്കുമ്പോൾ അത് എത്ര രസകരമാകുമെന്ന് വിശദീകരിക്കാൻ അതിന്റെ ഉദാഹരണം ഉപയോഗിക്കുക. എന്നാൽ പിന്നീട്, ഞാൻ പുരോഗതി പ്രാപിക്കുകയും മെറ്റീരിയലുകൾ കുഴിക്കുകയും ചെയ്യുമ്പോൾ, Microtik കണക്റ്റുചെയ്തവർക്ക്, ഒരു ഫോണും സ്വതന്ത്ര പഠനത്തിന് ഭയാനകമാകില്ലെന്ന് ഞാൻ കരുതി.
തത്വത്തിൽ, ഞങ്ങൾ പരീക്ഷിച്ച Freeacs, ഇതിനകം തന്നെ ഉൽപ്പാദനത്തിൽ ഉപയോഗിക്കാൻ കഴിയും, എന്നാൽ ഇതിനായി നിങ്ങൾ സെക്യൂരിറ്റി കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്, SSL, പുനഃസജ്ജമാക്കിയതിന് ശേഷം യാന്ത്രിക കോൺഫിഗറേഷനായി നിങ്ങൾ Mikrotik കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്, യൂണിറ്റ് തരത്തിന്റെ ശരിയായ കൂട്ടിച്ചേർക്കൽ നിങ്ങൾ ഡീബഗ് ചെയ്യേണ്ടതുണ്ട്, വെബ് സേവനങ്ങളുടെയും ഫ്യൂഷൻ ഷെല്ലിന്റെയും പ്രവർത്തനവും മറ്റും വിശകലനം ചെയ്യുക. ഒരു തുടർച്ച പരീക്ഷിക്കുക, കണ്ടുപിടിക്കുക, എഴുതുക!
എല്ലാവർക്കും, നിങ്ങളുടെ ശ്രദ്ധയ്ക്ക് നന്ദി! തിരുത്തലുകളും അഭിപ്രായങ്ങളും കാണുമ്പോൾ ഞാൻ സന്തോഷിക്കും!
ഉപയോഗിച്ച വസ്തുക്കളുടെ പട്ടികയും ഉപയോഗപ്രദമായ ലിങ്കുകളും:
അവലംബം: www.habr.com