strongSwan കോൺഫിഗറേഷനിൽ ഒരു കണക്ഷൻ ലിസ്റ്റ് ചെയ്യുന്നത് ഒരു നിർവചനം ലോഡ് ആയി എന്ന് മാത്രം തെളിയിക്കുന്നു. ഇത് പങ്കാളിയെ സമീപിച്ചു, IKE SA നിലവിലുണ്ട് അല്ലെങ്കിൽ എന്തെങ്കിലും ട്രാഫിക് സംരക്ഷിതമാണ് എന്ന് അർത്ഥമാക്കുന്നില്ല. ഡീമൺ നിർവചനങ്ങളെയും ജീവനുള്ള അസോസിയേഷനുകളെയും വെവ്വേറെ വസ്തുക്കളായി കണക്കാക്കുന്നു, അവ തമ്മിലുള്ള ദൂരം ബോധപൂർവമായ ഒരു രൂപകൽപ്പന തീരുമാനമാണ്. നിങ്ങൾ ഏത് വസ്തു പരിശോധിക്കുന്നു എന്ന് അറിയുന്നത് അവ്യക്തമായ ഒരു തകരാറിനെ അടുത്ത കൃത്യമായ കമാൻഡ് ആക്കി മാറ്റുന്നു.

ലോഡ് ചെയ്യുന്നത് ബന്ധിപ്പിക്കലല്ല

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

ഓപ്പറേറ്റർമാർ നിർവചനങ്ങളുടെ പട്ടികയെ അവസ്ഥയുടെ പട്ടികയായി വായിക്കുമ്പോൾ പ്രശ്നത്തിൽ ചെന്ന് ചാടുന്നു. പ്രൊഫൈൽ ഉണ്ട്, അതിനാൽ ടണൽ സജീവമാണെന്ന് കരുതുന്നു, അടുത്ത മണിക്കൂർ ഒരിക്കലും നിർമ്മിക്കാത്ത അസോസിയേഷന്റെ റൂട്ടുകൾ ഡീബഗ് ചെയ്യുന്നതിൽ പോകുന്നു.

വിപരീത തെറ്റും അത്രതന്നെ സാധാരണമാണ്. ഇല്ലാത്ത പ്രൊഫൈൽ ആളുകളെ നെറ്റ്വർക്ക് തകരാറ് തിരയാൻ അയയ്ക്കുന്നു, കോൺഫിഗറേഷൻ ഒരിക്കലും ലോഡ് ആയിട്ടില്ലെങ്കിൽ. വസ്തുവിന് പേര് നൽകി, പിന്നീട് അതിനെ നിരീക്ഷിക്കുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

മൂന്ന് വസ്തുക്കൾ, മൂന്ന് നിരീക്ഷണങ്ങൾ

strongSwan ലോഡ് ചെയ്ത നിർവചനം, IKE SA, CHILD SA എന്നിവ സൂക്ഷിക്കുന്നു. ആദ്യത്തേത് കോൺഫിഗറേഷൻ, രണ്ടാമത്തേത് പ്രാമാണീകരിച്ച നിയന്ത്രണ ബന്ധം, മൂന്നാമത്തേത് തിരഞ്ഞെടുത്ത ട്രാഫിക്കിനായി സംസാരിച്ച് തീരുമാനിച്ച സംരക്ഷണം. അവയ്ക്ക് വെവ്വേറെ പേരുകളുമുണ്ട്, അതിനാൽ hq എന്ന പ്രൊഫൈലിന് hq-lan എന്ന child ഉണ്ടാകാം.

പട്ടിക ഓരോ പാളിയെയും അത് കാണിക്കുന്ന കമാൻഡുമായി ബന്ധിപ്പിക്കുന്നു. ലോഗ് വായിക്കുന്നതിന് മുൻപ് വരി വായിക്കുക.

LayerWhat it containsCommand
DefinitionPeer addresses, credentials, proposals, and traffic selectorsswanctl --list-conns
IKE SAOne authenticated control channel to the peerswanctl --list-sas
CHILD SAKeys and selectors for the traffic being protectedChild rows under the IKE SA

child ആവശ്യപ്പെടുന്നത് ഒന്നുമില്ലാത്തപ്പോൾ ആദ്യം അതിന്റെ മാതൃ IKE SA നിർമ്മിക്കുന്നു. IKE SA മാത്രം ആവശ്യപ്പെടുന്നത് മറ്റൊരു കോളാണ്. ശരിയായി പ്രാമാണീകരിക്കുന്ന നിയന്ത്രണ ചാനൽ ആവശ്യപ്പെട്ട child ഉറപ്പുനൽകുന്നില്ല.

ഈ വ്യത്യാസം ഭാഗിക തകരാറിന്റെ സമയത്ത് പ്രധാനമാണ്. IKE SA ആരോഗ്യകരമായിരിക്കാം, അതേസമയം child തിരഞ്ഞെടുക്കിയുടെ പൊരുത്തക്കേടോ പങ്കാളി സ്വീകരിക്കാത്ത നിർദ്ദേശമോ കാരണം പരാജയപ്പെടുന്നു. രണ്ട് വസ്തുക്കളും വ്യത്യസ്ത കാരണങ്ങളാൽ പരാജയപ്പെടുന്നു, അതിനാൽ അവ വെവ്വേറെ നിരീക്ഷണങ്ങൾക്ക് അർഹരാണ്.

തുടക്ക പ്രവർത്തി ബോധപൂർവം തിരഞ്ഞെടുക്കുക

swanctl.conf ൽ child ന്റെ start_action ലോഡ് ചെയ്തതിന് ശേഷമുള്ള പെരുമാറ്റം തീരുമാനിക്കുന്നു. സ്ഥിരസ്ഥിതി none നിർവചനത്തെ കൈകൊണ്ട് തുടങ്ങാനോ responder ആയി ഉപയോഗിക്കാനോ വിടുന്നു. start അതിനെ ഡയൽ ചെയ്യുന്നു, അതേസമയം trap അനുയോജ്യമായ ട്രാഫിക് പ്രത്യക്ഷപ്പെട്ടാൽ ഉടൻ സംസാരിക്കുന്ന നയം വിടുന്നു.

അതിനാൽ «ലോഡ് ചെയ്യുന്നത് ഒരിക്കലും ടണൽ തുടങ്ങുന്നില്ല» എന്നതും «ലോഡ് ചെയ്യുന്നത് എപ്പോഴും ഒന്ന് തുടങ്ങുന്നു» എന്നതും തെറ്റാണ്. പ്രവർത്തി പ്രൊഫൈലിന്റെ ഭാഗമാണ്, അത് പങ്കാളിയുടെ റോളുമായി യോജിക്കണം. രണ്ട് ഗേറ്റ്വേകളും മറുവശത്തിനായി കാത്തിരുന്നാൽ നിശ്ശബ്ദത ഉണ്ടാകുന്നു, ടണൽ അല്ല.

trap ഉപയോഗിച്ച് ട്രാഫിക് തിരഞ്ഞെടുക്കികളുമായി യോജിക്കണം, അതിനാൽ ബന്ധമില്ലാത്ത ping ഒന്നിനെയും ഉണർത്തുന്നില്ല. start ഉപയോഗിച്ച് പങ്കാളിയുടെ വിലാസം ഉപയോഗയോഗ്യമായിരിക്കണം, ഇരുവശവും പ്രാമാണീകരണത്തിലും നിർദ്ദേശങ്ങളിലും യോജിക്കണം. രണ്ട് പ്രവർത്തികളിൽ ഒന്നും ഈ വ്യവസ്ഥകളുടെ പരിശോധനയ്ക്ക് പകരമാകുന്നില്ല.

വീണ്ടെടുക്കൽ വേറിട്ട നയമാണ്

തുടക്കം keepalive അല്ല. മരിച്ച പങ്കാളിയെ കണ്ടെത്തൽ, പങ്കാളിയുടെ വ്യക്തമായ അടയ്ക്കൽ, കീകളുടെ പുതുക്കൽ, പ്രക്രിയയുടെ പുനരാരംഭം എന്നിവ വ്യത്യസ്ത ജീവിതചക്ര സംഭവങ്ങളാണ്, അവയ്ക്ക് സ്വന്തം ക്രമീകരണങ്ങളുണ്ട്. ഓരോന്നും ബോധപൂർവം ക്രമീകരിക്കുക, പ്രാരംഭ തുടക്കം എല്ലാം ഉൾക്കൊള്ളും എന്ന് പ്രതീക്ഷിക്കുന്നതിന് പകരം.

ബൂട്ടിൽ ഉയർന്ന് ഒരു മണിക്കൂർ കഴിഞ്ഞ് മരിക്കുന്ന ടണൽ വീണ്ടെടുക്കലിന്റെ ചോദ്യമാണ്. തുടക്ക നയം തന്റെ ജോലി ചെയ്തു, പിന്നീട് പ്രധാനമായിരിക്കുന്നത് നിർത്തി. പ്രാരംഭ ചർച്ചകളെ കുറ്റപ്പെടുത്തുന്നതിന് മുൻപ് DPD, കീ പുതുക്കൽ ക്രമീകരണങ്ങൾ നോക്കുക.

ലോഡ് ചെയ്ത നിർവചനങ്ങൾ മാറ്റിസ്ഥാപിക്കുന്നത് പ്രത്യേക പ്രവർത്തനമാണ്. സ്ഥിരസ്ഥിതിയല്ലാത്ത തുടക്ക നയങ്ങൾക്ക് രേഖപ്പെടുത്തിയ വിപരീത പ്രവർത്തികളുണ്ട്, കൂടാതെ റീലോഡ് ചെയ്യുന്നത് പ്രവർത്തനപരമായ മാറ്റമാണ്, ഓരോ അസോസിയേഷനും സ്ഥലത്തുതന്നെ പുതുക്കി എന്ന അനുമാനമല്ല. റീലോഡുകൾ ഘട്ടം ഘട്ടമായി ചെയ്യുക, വീണ്ടും ബന്ധിപ്പിക്കൽ സ്വീകാര്യമായിടത്ത്. പുതിയത് തെളിയിക്കുന്നതുവരെ പഴയ കോൺഫിഗറേഷൻ സൂക്ഷിക്കുക.

റൂട്ടിംഗ് ഡീബഗ് ചെയ്യുന്നതിന് മുൻപ് എന്താണ് നിലവിലുള്ളത് എന്ന് പരിശോധിക്കുക

മൂന്ന് നിരീക്ഷണങ്ങളും ക്രമത്തിൽ ചെയ്യുക: ലോഡ് ചെയ്ത നിർവചനങ്ങൾ, സജീവ IKE SA, child എൻട്രികൾ. ഓരോ ഉത്തരവും അടുത്ത ചോദ്യം ചുരുക്കുന്നു. ഒരു ഘട്ടം ഒഴിവാക്കിയാൽ അവസാനം ഒരിക്കലും നിർമ്മിക്കാത്ത പാളി ഡീബഗ് ചെയ്യും.

ലോഡ് ആയതും യഥാർത്ഥത്തിൽ സ്ഥാപിതമായതും കൊണ്ട് തുടങ്ങുക:

swanctl --list-conns
swanctl --list-sas

പ്രൊഫൈൽ ശരിയായിരിക്കുമ്പോൾ child ഇല്ലെങ്കിൽ, അത് പേരിനാൽ തുടങ്ങി എന്ത് സംഭവിക്കുന്നു എന്ന് നിരീക്ഷിക്കുക. ഔട്ട്പുട്ട് സാധാരണയായി മാതൃ ആദ്യം ഉയർന്നോ എന്ന് പറയുന്നു.

swanctl --initiate --child hq-lan

സജീവ CHILD SA അന്തിമരേഖയല്ല. ഫോർവേഡിംഗ് നിയമങ്ങൾ, റൂട്ടുകൾ, അപ്ലിക്കേഷന്റെ സ്വന്തം അധികാരം എന്നിവ ഇപ്പോഴും യോജിക്കണം. ജീവിതചക്രം എന്താണ് സംസാരിച്ച് തീരുമാനിച്ചത് എന്ന് ഉത്തരം നൽകുന്നു; ആർക്ക് സേവനം ഉപയോഗിക്കാം എന്ന് അതിന് തീരുമാനിക്കാനാവില്ല.

അനുബന്ധ ലേഖനങ്ങൾ