OpenVPN ഉപകരണത്തിന്റെ റൂട്ട്: കോൺഫിഗ് ഉടമയോ സ്റ്റാർട്ടപ്പ് സ്ക്രിപ്റ്റോ?
ഒരു റീബൂട്ട് അതിജീവിക്കുന്ന ബ്രാഞ്ച് റൂട്ട് GUI സേവ് അല്ലെങ്കിൽ ഫേംവെയർ അപ്ഡേറ്റിന് ശേഷവും അപ്രത്യക്ഷമാകാം. പിന്തുണയുള്ള കോൺഫിഗ് ഉടമയെ പാച്ച് സ്ക്രിപ്റ്റുമായി താരതമ്യം ചെയ്യുക.
നിങ്ങൾ ഒരു ബ്രാഞ്ച് റൂട്ട് ചേർക്കുന്നു, അത് പ്രവർത്തിക്കുന്നു, തുടർന്ന് ഫേംവെയർ അപ്ഡേറ്റോ വെബ് UI യിൽ നിന്നുള്ള സേവോ അത് നീക്കം ചെയ്യുന്നു. ആ നിമിഷം രണ്ട് പരിഹാരങ്ങൾ ഒരുപോലെ ന്യായയുക്തമായി തോന്നുന്നു: റൂട്ട് ഉപകരണത്തിന്റെ പിന്തുണയുള്ള കോൺഫിഗറേഷൻ ഉറവിടത്തിൽ ഇടുന്നത്, അല്ലെങ്കിൽ സ്റ്റാർട്ടപ്പ് സ്ക്രിപ്റ്റിൽ നിന്ന് സൃഷ്ടിച്ച ഫയലിൽ അത് ചേർക്കുന്നത്. അവ ഒരു ആഴ്ച ഒരേപോലെ പ്രവർത്തിക്കുന്നു, രണ്ടാം അപ്ഗ്രേഡിൽ വേർതിരിയുന്നു. ഈ ലേഖനം ഓരോന്നും യഥാർത്ഥത്തിൽ എന്താണ് സ്വന്തമാക്കുന്നതെന്ന് താരതമ്യം ചെയ്യുന്നു.
രണ്ട് സ്ഥാനാർത്ഥികളും വ്യത്യസ്ത കാര്യങ്ങൾ സ്വന്തമാക്കുന്നു
പിന്തുണയുള്ള കോൺഫിഗറേഷൻ ഉറവിടം എന്നത് ഉപകരണം ഇൻപുട്ടായി കണക്കാക്കുന്ന എല്ലാം: GUI ഫീൽഡ്, ഇറക്കുമതി ചെയ്ത പ്രൊഫൈൽ, ഓരോ ക്ലയന്റിനുമുള്ള ഡോക്യുമെന്റ് ചെയ്ത ഡയറക്ടറി, മാനേജ്മെന്റ് പാക്കേജ് വായിക്കുന്ന സെറ്റിംഗ്സ് ഡാറ്റാബേസ്. സൃഷ്ടിച്ച server.conf ഔട്ട്പുട്ട് ആണ്. ഔട്ട്പുട്ട് എഡിറ്റ് ചെയ്യുന്നത് ജനറേറ്റർ വീണ്ടും പ്രവർത്തിക്കുന്നതുവരെ പ്രവർത്തിക്കും, അത് സേവ്, റീബൂട്ട്, അപ്ഗ്രേഡ് എന്നിവയിൽ സംഭവിക്കുന്നു.
സ്ക്രിപ്റ്റ് സമീപനം ജനറേറ്റർ കഴിഞ്ഞതിന് ശേഷം ആ ഔട്ട്പുട്ട് പാച്ച് ചെയ്യുന്നു. ഇത് ലബോറട്ടറിക്ക് നിയമാനുസൃതമായ സാങ്കേതികതയാണ്, ബ്രാഞ്ച് ഓഫീസിന് ഇത് തെറ്റായ ഡിഫോൾട്ടാണ്, കാരണം ഇത് റൂട്ടിനെ ഡോക്യുമെന്റ് ചെയ്ത ഫീൽഡിന് പകരം ടെക്സ്റ്റ് പൊരുത്തത്തെ ആശ്രയിച്ചാക്കുന്നു.
| Question | Supported config source | Post-generation script |
|---|---|---|
| Survives a GUI save | Yes | Only if the save does not regenerate the file |
| Survives a package upgrade | Usually, when the field is documented | No guarantee; the wrapper can be replaced |
| Supportable by the vendor | Yes | No |
| Obvious to the next admin | Yes, it is in the UI | No, it lives in a wrapper |
ഉപകരണം എന്താണ് വീണ്ടും സൃഷ്ടിക്കുന്നത്, എപ്പോൾ
മാനേജ്മെന്റ് പാക്കേജുകൾ സാധാരണയായി സെറ്റിംഗ്സ് ഡാറ്റാബേസിലോ ടെംപ്ലേറ്റ് സെറ്റിലോ സൂക്ഷിക്കുന്നു, തുടക്കത്തിൽ ഡീമൺ കോൺഫിഗറേഷൻ റെൻഡർ ചെയ്യുന്നു. വെബ് UI യിൽ നിന്നുള്ള സേവ് ഒരു വരി പാച്ച് ചെയ്യുന്നതിന് പകരം മുഴുവൻ ഫയലും വീണ്ടും എഴുതുന്നു. നിങ്ങളുടെ മാറ്റം ആ ഫയലിൽ ഉണ്ടായിരുന്നെങ്കിൽ, അത് ഇപ്പോൾ പോയി, ഒന്നും മുന്നറിയിപ്പ് ലോഗ് ചെയ്യുന്നില്ല, കാരണം ഉപകരണത്തിന്റെ കാഴ്ചപ്പാടിൽ ഒന്നും നഷ്ടപ്പെട്ടിട്ടില്ല.
സ്റ്റാർട്ടപ്പ് റാപ്പറുകൾക്ക് രണ്ടാമത്തെ പരാജയ മോഡ് ഉണ്ട്. നിർദ്ദിഷ്ട സ്പെയ്സിംഗുള്ള ഒരു നിർദ്ദേശത്തിനായുള്ള grep ടെംപ്ലേറ്റ് മാറ്റത്തിന് ശേഷം പൊരുത്തപ്പെടുന്നത് നിർത്തുന്നു, സ്ക്രിപ്റ്റ് നിശബ്ദമായി ഒന്നും ചെയ്യുന്നില്ല. അതിലും മോശം, ഫേംവെയർ അപ്ഡേറ്റ് റാപ്പറെ പുതിയ പതിപ്പ് ഉപയോഗിച്ച് മാറ്റി പാച്ച് കൂടെ കൊണ്ടുപോകാം. അപ്പോൾ ഒരു വർഷം നിലനിന്നിരുന്ന, ആരും റൂട്ടിംഗുമായി ബന്ധിപ്പിക്കാത്ത അറ്റകുറ്റപ്പണിക്കിടയിൽ അപ്രത്യക്ഷമായ ഒരു റൂട്ട് നിങ്ങൾക്കുണ്ട്.
പിന്തുണയുള്ള ഉടമ എന്ത് പ്രകടിപ്പിക്കണം
ഒരു ബ്രാഞ്ച് പ്രിഫിക്സിന് ഒന്നല്ല, മൂന്ന് പ്രസ്താവനകൾ വേണം. ക്ലയന്റ് റൂട്ട് പഠിക്കണം, ഏത് പ്രാമാണീകരിച്ച ക്ലയന്റ് പ്രിഫിക്സ് സ്വന്തമാക്കുന്നു എന്ന് സെർവർ അറിയണം, ബ്രാഞ്ച് വശം ട്രാഫിക് തനിക്ക് നൽകിയ ടണൽ വിലാസത്തിലേക്ക് തിരികെ അയയ്ക്കണം. OpenVPN പദങ്ങളിൽ ഇത് പുഷ് ചെയ്ത route, ക്ലയന്റുമായി ബന്ധിപ്പിച്ച പൊരുത്തമുള്ള iroute, മറുവശത്ത് ഒരു മടക്ക പാത എന്നിവയെ അർത്ഥമാക്കുന്നു.
ഇവിടെ ഉപകരണ UI കൾ തെറ്റിദ്ധരിപ്പിക്കുന്നു. “ക്ലയന്റുകൾക്ക് സെർവറിന്റെ LAN ലേക്ക് പ്രവേശനം അനുവദിക്കുക” എന്ന ലേബലുള്ള ചെക്ക്ബോക്സ് സെർവറിന്റെ സ്വന്തം നെറ്റ്വർക്കിലേക്കുള്ള ട്രാഫിക് വിവരിക്കുന്നു. നിങ്ങളുടെ ബ്രാഞ്ച് വിപരീത ദിശയാണ്: ഒരു ക്ലയന്റിന് പിന്നിലുള്ള നെറ്റ്വർക്ക്, സെർവർ വശത്തുനിന്ന് എത്താവുന്നത്. അതേ ലേബൽ അതിനുള്ള പിന്തുണ സൂചിപ്പിക്കുന്നില്ല, ഫയലിലെ സാധുവായ നിർദ്ദേശം പാക്കേജ് അത് സംരക്ഷിക്കും എന്ന വാഗ്ദാനവുമല്ല.
പിന്തുണയുള്ള നിയന്ത്രണം ഇല്ലാത്തപ്പോൾ
ചിലപ്പോൾ ഇൻസ്റ്റാൾ ചെയ്ത പതിപ്പിന് സഹപ്രവർത്തകന് പ്രത്യേകമായ റൂട്ട് യഥാർത്ഥത്തിൽ പ്രകടിപ്പിക്കാൻ കഴിയില്ല. അപ്പോൾ സത്യസന്ധമായ ഓപ്ഷനുകൾ നിങ്ങൾ നിയന്ത്രിക്കുന്ന മറ്റൊരു ഗേറ്റ്വേ, അല്ലെങ്കിൽ ഇരു അറ്റങ്ങളിലും പിന്തുണയുള്ള സൈറ്റ്-ടു-സൈറ്റ് മോഡ് എന്നിവയാണ്. ഇരു അറ്റങ്ങളും അത് സംസാരിക്കണം. സൈറ്റ്-ടു-സൈറ്റ് എന്ന് പറയുന്ന ഒരു ഉൽപ്പന്ന പേജ് ഏതെങ്കിലും OpenVPN പ്രൊഫൈലിനെ മറ്റൊരു പ്രോട്ടോക്കോളിന്റെ ടണലുമായി പരസ്പരം മാറ്റാവുന്നതാക്കുന്നില്ല, ആ ജോടി നിർബന്ധിച്ച് ചെയ്യുന്നത് സാധാരണയായി സ്റ്റാറ്റസ് പേജിൽ നന്നായി കാണുന്ന പകുതി-ബന്ധിത ടണൽ സൃഷ്ടിക്കുന്നു.
നെറ്റ്വർക്ക് അവകാശമായി ലഭിക്കുന്നയാൾക്ക് ഒരു വാക്യത്തിൽ വിവരിക്കാവുന്ന ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക. ഉത്തരത്തിന് സ്ക്രിപ്റ്റ് പാതയും ടെക്സ്റ്റ് പാറ്റേണും പരാമർശിക്കേണ്ടി വന്നാൽ, ഡിസൈൻ ഇതിനകം ദുർബലമാണ്.
ഉദ്ദേശ്യം ഓഡിറ്റ് ചെയ്യാവുന്നതാക്കുക
കരാർ ഉപകരണത്തിന് പുറത്ത് രേഖപ്പെടുത്തുക: ഫലപ്രദമായ ക്ലയന്റ് ഐഡന്റിറ്റി, പ്രിഫിക്സ്, മടക്ക ഗേറ്റ്വേ, ഓരോന്നും നൽകുന്ന പിന്തുണയുള്ള ഫീൽഡ്. പിന്തുണയുള്ള സംവിധാനത്തിലൂടെ കോൺഫിഗറേഷൻ കയറ്റുമതി ചെയ്യുക, അതുവഴി പുനർനിർമ്മാണത്തിന് ഒരു റഫറൻസ് ഉണ്ടാകും, കൂടാതെ വീണ്ടും ബന്ധിപ്പിക്കൽ, റീസ്റ്റാർട്ട്, അപ്ഗ്രേഡ് എന്നിവയ്ക്ക് ശേഷം സേവനം പരിശോധിക്കുക, മാറ്റത്തിന് ശേഷം മാത്രമല്ല.
എന്തെങ്കിലും തകർന്നാൽ, വിശദീകരിക്കാത്ത വരി പുനഃസ്ഥാപിച്ച് പ്രതീക്ഷിക്കുന്നതിന് പകരം, സൃഷ്ടിച്ച ഫലം ആ രേഖയുമായി താരതമ്യം ചെയ്യുക.OpenVPN 2.6 റഫറൻസ് എന്നത് UI യുമായി തർക്കിക്കുന്നതിന് മുമ്പ് route, iroute എന്നിവ എങ്ങനെ പരസ്പരം പ്രവർത്തിക്കുന്നു എന്ന് സ്ഥിരീകരിക്കാനുള്ള സ്ഥലമാണ്.
അടുത്ത മാറ്റത്തിനുള്ള ചെക്ക്ലിസ്റ്റ്: ഉടമയെ പേരിടുക, മൂന്ന് ഭാഗ കരാർ പ്രസ്താവിക്കുക, ഉദ്ദേശ്യം കയറ്റുമതി ചെയ്യുക, നിങ്ങളുടെ എഡിറ്റിന് ശേഷമല്ല, ഉപകരണത്തിന്റെ സ്വന്തം ജീവിതചക്ര സംഭവങ്ങൾക്ക് ശേഷം വീണ്ടും പരിശോധിക്കുക.