OpenVPN-ന്റെ up സ്ക്രിപ്റ്റ് വളരെ നേരത്തെ പ്രവർത്തിച്ചോ, അതോ അത് ഒരിക്കലും തയ്യാറായിരുന്നില്ലേ?
up ഹുക്ക് ടണൽ ഉപകരണം പ്രത്യക്ഷപ്പെടുമ്പോൾ, റൂട്ടുകൾക്കും ആപ്ലിക്കേഷൻ തയ്യാറാകുന്നതിനും മുമ്പ് പ്രവർത്തിക്കുന്നു. സ്ലീപ്പ് ചേർക്കുന്നതിനു പകരം സ്ക്രിപ്റ്റ് ആവശ്യമുള്ള ഇവന്റുമായി പൊരുത്തപ്പെടുത്തുക.
up സ്ക്രിപ്റ്റ് പ്രവർത്തിക്കുന്നു, പൂജ്യത്തോടെ പുറത്തുകടക്കുന്നു, എന്നാൽ അതിനുള്ളിലെ ടാസ്കിന് ടെർമിനലിൽ നിന്ന് രണ്ട് സെക്കൻഡ് കഴിഞ്ഞാൽ തികച്ചും പ്രവർത്തിക്കുന്ന ഒരു സ്വകാര്യ സേവനത്തിൽ എത്താൻ കഴിയുന്നില്ല. സമയമാണ് പ്രശ്നമെന്നാണ് സഹജവാസന പറയുന്നത്, പതിവ് പരിഹാരം സ്ലീപ്പാണ്, അത് മത്സരം മനസ്സിലാക്കാതെ മറയ്ക്കുന്നു. കൂടുതൽ ഉപയോഗപ്രദമായ വായന “up” ഒരു ഹുക്കിന്റെ പേരാണ്, തയ്യാറെടുപ്പിന്റെ ഗ്യാരണ്ടിയല്ല എന്നതാണ്. ടണൽ ഉപകരണം കോൺഫിഗർ ചെയ്യുമ്പോഴാണ് അത് പ്രവർത്തിക്കുന്നത്, അത് റൂട്ടുകളേക്കാളും DNS-നേക്കാളും ടണലിന് പിന്നിലെ ഏത് ആപ്ലിക്കേഷനേക്കാളും നേരത്തെയാണ്.
ഷെൽ പരിശോധന വിജയിച്ചത് എല്ലാം സ്ഥിരപ്പെട്ടതിന് ശേഷം അത് പ്രവർത്തിച്ചതുകൊണ്ടാണ്. ഹുക്ക് ഒരു നിർദ്ദിഷ്ട നിമിഷത്തിൽ പ്രവർത്തിച്ചു.
സ്റ്റാർട്ടപ്പ് ക്രമത്തിൽ up എവിടെയാണ്
OpenVPN ടണൽ ഉപകരണം കോൺഫിഗർ ചെയ്തതിന് ശേഷം up ഹുക്ക് പ്രവർത്തിപ്പിക്കുന്നു. റൂട്ട് ഇൻസ്റ്റാളേഷൻ പിന്നീടുള്ള ഘട്ടമാണ്, അതിന് സ്വന്തം ഹുക്ക് ഉണ്ട്, അതിനാൽ up-ൽ ഇട്ട റൂട്ട് ആശ്രിത ടാസ്കിന് ഉപയോഗപ്രദമായ പാതയില്ലാത്ത ഉപകരണം കാണാൻ കഴിയും. റൂട്ട് ജോലി route-up-ൽ ഇടുക, സമയ പ്രശ്നം സാധാരണയായി അപ്രത്യക്ഷമാകും.
മാനുവൽ ഈ ക്രമവും ഓരോ ഹുക്കും ലഭിക്കുന്ന പരിതസ്ഥിതിയും രേഖപ്പെടുത്തുന്നു. ആ ക്രമമാണ് “എന്റെ ഷെല്ലിൽ നിന്ന് പ്രവർത്തിക്കുന്നു” എന്ന ക്ലാസിക് റിപ്പോർട്ടിന്റെ മുഴുവൻ വിശദീകരണം, അതേ സ്ക്രിപ്റ്റ് ഒരു യന്ത്രത്തിൽ കടന്നുപോകുകയും മന്ദഗതിയിലുള്ള റൂട്ട് ഘട്ടമുള്ള മറ്റൊന്നിൽ പരാജയപ്പെടുകയും ചെയ്യുന്നതിന്റെ കാരണവുമാണ് അത്. രണ്ട് ഫലങ്ങളും സ്ക്രിപ്റ്റിന്റെ ഗുണനിലവാരത്തെക്കുറിച്ച് ഒന്നും പറയുന്നില്ല.
DNS-ഉം ആപ്ലിക്കേഷൻ തയ്യാറെടുപ്പും ഇനിയും വൈകിയാണ് വരുന്നത്. ഇൻസ്റ്റാൾ ചെയ്ത റൂട്ടുകൾ പോലും ദൂരെയുള്ള എൻഡ്പോയിന്റ് കേൾക്കുന്നു എന്നതിനോ, ഒരു പേര് റിസോൾവ് ചെയ്യുന്നു എന്നതിനോ, ഉപയോക്തൃ-പരിധിയിലുള്ള ടാസ്കിന് ഡെസ്ക്ടോപ്പ് സെഷൻ നിലവിലുണ്ട് എന്നതിനോ തെളിവല്ല.
ഹുക്ക് യഥാർത്ഥത്തിൽ എന്താണ് പാരമ്പര്യമായി ലഭിക്കുന്നത്
ഹുക്ക് OpenVPN പ്രോസസിന്റെ അക്കൗണ്ടിലും പരിതസ്ഥിതിയിലും പ്രവർത്തിക്കുന്നു, അത് നിങ്ങളുടെ ഇന്ററാക്ടീവ് ഷെല്ലിന് തുല്യമല്ല. ഉപയോക്താവിന്റെ സെഷൻ ബസ്, ഡെസ്ക്ടോപ്പ് പരിതസ്ഥിതി, അല്ലെങ്കിൽ ലോഗിൻ ചെയ്യുമ്പോൾ മാത്രം തുറക്കുന്ന ഒരു ക്രെഡൻഷ്യൽ എന്നിവ അതിന് ഇല്ലാതിരിക്കാം. ടാസ്കിന് അവയിൽ ഏതാണ് യഥാർത്ഥത്തിൽ വേണ്ടതെന്ന് എഴുതിവയ്ക്കുക.
നെറ്റ്വർക്കിംഗ് പോലെ തോന്നുന്നതും എന്നാൽ ഉപയോക്തൃ സന്ദർഭത്തെ ആശ്രയിക്കുന്നതുമായ ടാസ്കുകൾക്ക് ഇത് പ്രധാനമാണ്: ഉപയോക്തൃ ക്രെഡൻഷ്യൽ ഉപയോഗിച്ച് ഒരു ഷെയർ മൗണ്ട് ചെയ്യുക, ഉപയോക്താവിന് പ്രത്യേക പ്രോക്സി സജ്ജീകരിക്കുക, അല്ലെങ്കിൽ ഒരു പ്രിന്റർ കോൺഫിഗർ ചെയ്യുക. പ്രിവിലേജുള്ള ടണൽ ഹുക്ക് അവയ്ക്ക് തെറ്റായ സ്ഥലമാണ്, എത്ര കാത്തിരുന്നാലും നഷ്ടപ്പെട്ട സെഷൻ ശരിയാകില്ല.
ഒരു ഹുക്കിൽ ടാസ്ക് പരാജയപ്പെടുമ്പോൾ, അക്കൗണ്ട്, പരിതസ്ഥിതി, പരാജയപ്പെട്ട ആദ്യ പ്രവർത്തനം എന്നിവ രേഖപ്പെടുത്തുക. ഇത് അകാലത്തിലുള്ള സമയത്തെ അനുമതി അല്ലെങ്കിൽ സന്ദർഭ പ്രശ്നത്തിൽ നിന്ന് വേർതിരിക്കുന്നു, രണ്ടിനും തികച്ചും വ്യത്യസ്ത പരിഹാരങ്ങളാണുള്ളത്. അവയ്ക്കിടയിൽ ഊഹിക്കുന്നതാണ് അഞ്ച് മിനിറ്റ് പരിഹാരത്തെ ഒരു ഉച്ചയാക്കി മാറ്റുന്നത്.
സ്ലീപ്പ് ചേർക്കുന്നത് എന്തുകൊണ്ട് തയ്യാറെടുപ്പ് പരിശോധനയല്ല
സ്ലീപ്പ് സ്ക്രിപ്റ്റിനെ വൈകിപ്പിക്കുകയും മത്സര ജാലകം നീക്കുകയും ചെയ്യുന്നു. വേഗമേറിയ ദിവസം ടാസ്ക് വിജയിക്കുന്നു; മന്ദഗതിയിലുള്ള ദിവസം അത് വീണ്ടും പരാജയപ്പെടുന്നു, കാലതാമസം പ്രവർത്തിക്കുന്നതായി തോന്നുന്നതിനാൽ പരാജയം വീണ്ടും സൃഷ്ടിക്കാൻ കൂടുതൽ ബുദ്ധിമുട്ടാകുന്നു. ലഘു ലോഡിൽ മാത്രം പ്രവർത്തിക്കുന്ന കാലതാമസം ഒരു യാദൃശ്ചികതയാണ്, പരിഹാരമല്ല.
ആശ്രിതത്വം ഒരു റൂട്ടാണെങ്കിൽ, റൂട്ട് ഇൻസ്റ്റാളേഷനോട് യോജിക്കുന്ന ഹുക്ക് ഉപയോഗിക്കുക. ആശ്രിതത്വം ടണലിന് പിന്നിലെ ഒരു സേവനമാണെങ്കിൽ, ആ നിർദ്ദിഷ്ട അവസ്ഥയ്ക്കായി കാത്തിരിക്കുന്നതും അത് ഒരിക്കലും വരാത്തപ്പോൾ വ്യക്തമായി പരാജയപ്പെടുന്നതുമായ ഒരു പരിധിയുള്ള പരിശോധന ഉപയോഗിക്കുക.
പരാജയം വ്യക്തമായി നിലനിർത്തുക. യഥാർത്ഥ ജോലി പരാജയപ്പെട്ടപ്പോൾ പൂജ്യത്തോടെ പുറത്തുകടക്കുന്ന ഹുക്ക്, പരാജയപ്പെടുന്ന ഹുക്കിനേക്കാൾ മോശമാണ്, കാരണം സേവന മാനേജർ ഒരു വിജയം രേഖപ്പെടുത്തുന്നു, പിന്നീട് ആരും നോക്കുന്നില്ല. സ്ക്രിപ്റ്റിൽ നിന്നുതന്നെയുള്ള ഒരു ലോഗ് വരി അത് സത്യസന്ധമായി നിലനിർത്താനുള്ള ഏറ്റവും വിലകുറഞ്ഞ വഴിയാണ്.
വൃത്തിയാക്കലും വീണ്ടും കണക്റ്റുചെയ്യലും അതേ ശ്രദ്ധ അർഹിക്കുന്നു
പങ്കിട്ട അവസ്ഥ മാറ്റുന്ന സ്ക്രിപ്റ്റിന് അനുയോജ്യമായ പിൻവാങ്ങൽ പാത വേണം. ഒരു ഹുക്ക് ചേർക്കുന്ന റൂട്ടുകൾ, റിസോൾവർ എൻട്രികൾ, ഫയർവാൾ അടയാളങ്ങൾ എന്നിവ ഐഡംപോട്ടന്റും മടക്കാവുന്നതുമായിരിക്കണം, അല്ലാത്തപക്ഷം വീണ്ടും കണക്റ്റുചെയ്യൽ രണ്ടാമത്തെ പകർപ്പ് ആദ്യത്തേതിന് മുകളിൽ അടുക്കും.
വീണ്ടും കണക്റ്റുചെയ്യലുകൾ ഒരു സേവനത്തിന്റെ പൂർണ്ണ സ്റ്റാർട്ടിനേക്കാൾ കൂടുതൽ തവണ ഹുക്കുകൾ പ്രവർത്തിപ്പിക്കാം. ഒരു സെഷൻ വീണ്ടും സ്ഥാപിക്കുന്ന നിരന്തര ഇന്റർഫേസ് up, route-up ചക്രം വീണ്ടും പ്രേരിപ്പിച്ചേക്കാം, അതിനാൽ ഓരോ ബൂട്ടിനും ഒരു എക്സിക്യൂഷൻ അനുമാനിക്കുന്ന സ്ക്രിപ്റ്റ് ഒടുവിൽ തെറ്റായി പ്രവർത്തിക്കും. ഒരു ദിവസത്തെ കുലുക്കത്തിന്റെ ലോഗിൽ എക്സിക്യൂഷനുകൾ എണ്ണി അത് യഥാർത്ഥത്തിൽ എത്ര തവണ പ്രവർത്തിക്കുന്നുവെന്ന് കാണുക. തുടർന്ന് സ്ക്രിപ്റ്റ് ആ തവണയെല്ലാം പ്രവർത്തിപ്പിക്കാൻ സുരക്ഷിതമാക്കുക.
പരാജയപ്പെട്ട ലൈഫ്സൈക്കിൾ പരിശോധിക്കുക, പിന്നീടുള്ള ഒരു കമാൻഡല്ല. ബൂട്ടോ വീണ്ടും കണക്റ്റുചെയ്യലോ പുനരാവിഷ്ക്കരിക്കുക, ഹുക്ക് പ്രവർത്തിക്കുന്നത് നിരീക്ഷിക്കുക, അത് യഥാർത്ഥത്തിൽ പ്രവർത്തിക്കുന്ന നിമിഷത്തിൽ ടാസ്ക് വിജയിച്ചുവെന്ന് ഉറപ്പാക്കുക. പിന്നീട് ഒരു ഇന്ററാക്ടീവ് ഷെല്ലിൽ നിന്നുള്ള വിജയം ആശ്രിതത്വത്തെക്കുറിച്ചുള്ള തെളിവാണ്, സ്റ്റാർട്ടപ്പ് പാത പ്രവർത്തിക്കുന്നു എന്നതിന്റെ തെളിവല്ല.
ഓരോ ടാസ്കും ആശ്രയിക്കുന്ന ഇവന്റിന് പേരിടുക, തുടർന്ന് അതിനെ ആ ഇവന്റുമായി ബന്ധിപ്പിക്കുക. ബാക്കിയെല്ലാം ഒരു പരിശോധനയാണെന്ന് നടിക്കുന്ന കാലതാമസമാണ്.