ഒരേ OpenVPN സെർവറിലെ രണ്ട് ക്ലയന്റുകൾ അവരുടെ പൂളിനായി DROP നിയമം ചേർത്ത ശേഷവും പരസ്പരം എത്താനാകും. നിയമം FORWARD ശൃംഖലയിൽ ഇരിക്കുന്നു, ട്രാഫിക് വ്യക്തമായി ഒഴുകുന്നു, എന്നാൽ ആ നിയമത്തിന്റെ കൗണ്ടർ പൂജ്യത്തിൽ തന്നെ തുടരുന്നു. സ്വാഭാവിക നിഗമനം ഫയർവാൾ തകർന്നു എന്നാണ്. പലപ്പോഴും പാക്കറ്റ് ശൃംഖലയിൽ പ്രവേശിച്ചിട്ടേയില്ല.

OpenVPN സെർവറിലൂടെ ഒരു പിയർ പാക്കറ്റിന് സഞ്ചരിക്കാനാകുന്ന രണ്ട് പാതകളുണ്ട്, അവ ഫയർവാളല്ല, കോൺഫിഗറേഷനാണ് തീരുമാനിക്കുന്നത്. ഏത് പാതയാണ് ഉപയോഗിക്കുന്നതെന്ന് അറിയുന്നത് ഹോസ്റ്റ് നിയമം ശരിയായ സ്ഥലത്താണോ എന്ന് പറയും.

ഒരു പിയർ പാക്കറ്റിന് സഞ്ചരിക്കാനാകുന്ന രണ്ട് പാതകൾ

ആന്തരിക ഫോർവേഡിംഗ് ഓപ്ഷൻ ഓഫ് ചെയ്തിരിക്കുമ്പോൾ, ക്ലയന്റ് A-യിൽ നിന്നുള്ള പാക്കറ്റ് ടണൽ ഇന്റർഫേസിൽ എത്തുന്നു, അതിന്റെ ലക്ഷ്യം ക്ലയന്റ് B-യ്ക്ക് അനുവദിച്ച വിലാസത്തിനുള്ളിലാണ്. B-യുടെ വിലാസത്തിലേക്കുള്ള റൂട്ട് സെർവറിന്റേതായതിനാൽ സെർവറിന്റെ റൂട്ടിംഗ് പട്ടിക അത് അതേ ടണൽ ഇന്റർഫേസിലൂടെ തിരികെ അയക്കുന്നു. ഇത് ഹോസ്റ്റിലൂടെയുള്ള അകത്തേക്കും പുറത്തേക്കുമുള്ള പ്രവാഹമാണ്, IPv4 ഫോർവേഡിംഗ് പാത അത് വിലയിരുത്തുന്നു.

ആന്തരിക ഫോർവേഡിംഗ് ഓപ്ഷൻ ഓൺ ചെയ്തിരിക്കുമ്പോൾ, സെർവർ പ്രോസസ്സ് പാക്കറ്റിനെ ബന്ധിപ്പിച്ച ക്ലയന്റുമായി പൊരുത്തപ്പെടുത്തി അതേ ക്ലയന്റിലേക്ക് നേരിട്ട് തിരികെ എഴുതുന്നു. പാക്കറ്റ് ഡീമണിനുള്ളിൽ കൈകാര്യം ചെയ്യപ്പെടുന്നു, ടണൽ ഉപകരണത്തിലേക്ക് വീണ്ടും പ്രവേശിക്കുന്നില്ല, അതിനാൽ ഹോസ്റ്റിന്റെ ഫോർവേഡിംഗ് പാത പൂർണ്ണമായി ഒഴിവാക്കപ്പെടുന്നു. OpenVPN 2.6 മാനുവൽ ഈ ഓപ്ഷനെ ആന്തരിക ക്ലയന്റ്-തൊട്ട്-ക്ലയന്റ് ഫോർവേഡിംഗ് എന്ന് വിശേഷിപ്പിക്കുന്നു, ഹോസ്റ്റ് ഫയർവാൾ നിയമത്തിന് അത് കാണാനാകാത്തതിന്റെ കാരണം അതുതന്നെയാണ്.

ഡാറ്റ ചാനൽ കേർണൽ മൊഡ്യൂളിലേക്ക് ഓഫ്ലോഡ് ചെയ്യുന്ന വിന്യാസങ്ങളിൽ മൂന്നാമത്തെ രൂപവുമുണ്ട്. ഫോർവേഡിംഗ് തീരുമാനവും എൻക്രിപ്ഷനും ഉപയോക്തൃ സ്ഥലത്തുനിന്ന് പുറത്തുപോകുന്നു, netfilter ആ പ്രവാഹം കാണുന്നുണ്ടോ എന്നത് ഓഫ്ലോഡ് പാത എങ്ങനെ നിർമ്മിച്ചു എന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു. പഴയ നിയമക്കൂട്ടം ഓഫ്ലോഡ് ചെയ്ത സെർവറിൽ ഉപയോക്തൃ സ്ഥലത്തെ സെർവറിലേതുപോലെ പെരുമാറുമെന്ന് ഒരിക്കലും അനുമാനിക്കരുത്. മോഡ് പാക്കേജ് പതിപ്പിൽ നിന്നല്ല, പ്രവർത്തിക്കുന്ന കോൺഫിഗറേഷനിൽ നിന്ന് സ്ഥിരീകരിക്കുക.

കൗണ്ടർ ഒരിക്കലും നീങ്ങാത്തപ്പോൾ

പൂജ്യം കൗണ്ടർ എന്നാൽ ആ ഘട്ടത്തിൽ പാക്കറ്റ് ആ നിയമവുമായി പൊരുത്തപ്പെട്ടില്ല എന്നാണ്, കാരണങ്ങൾ പലതാണ്. ആദ്യത്തേത് മുകളിൽ പറഞ്ഞ ഒഴിവാക്കലാണ്: ട്രാഫിക് ശൃംഖലയിൽ എത്തിയേയില്ല. രണ്ടാമത്തേത് ഇന്റർഫേസ്, ദിശ, ഉറവിടം അല്ലെങ്കിൽ ലക്ഷ്യം എന്നിവയിലെ പൊരുത്തക്കേടാണ്, പൂൾ വീണ്ടും അക്കമിട്ടപ്പോൾ നിയമം ഇപ്പോഴും പഴയ പ്രിഫിക്സ് പറയുന്നത് സാധാരണമാണ്.

മൂന്നാമത്തേത് സ്ഥാനമാണ്. ശൃംഖലയിൽ മുൻപുള്ള ഒരു നിയമം നിങ്ങളുടെ DROP വിലയിരുത്തുന്നതിന് മുൻപേ പ്രവാഹം സ്വീകരിച്ചേക്കാം, പിന്നീടുള്ള ഒരു നിയമം ഫലം യഥാർത്ഥത്തിൽ തീരുമാനിക്കുന്നതായിരിക്കാം. കൗണ്ടറുകൾ കാണത്തക്കവിധം ശൃംഖല ക്രമത്തിൽ വായിക്കുക, പരിശോധന ആവർത്തിക്കുമ്പോൾ ഏത് നിയമത്തിന്റെ എണ്ണം കൂടുന്നു എന്ന് പരിശോധിക്കുക.

യഥാർത്ഥ വിലാസങ്ങൾ ഓർമ്മയിലുള്ള ലീസിൽ നിന്നല്ല, സെർവറിന്റെ സ്വന്തം അവസ്ഥയിൽ നിന്ന് സ്ഥിരീകരിച്ച രണ്ട് ക്ലയന്റുകൾക്കിടയിൽ ഒരു നിയന്ത്രിത കൈമാറ്റം നടത്തുക. ബന്ധപ്പെട്ട കൗണ്ടർ ഇപ്പോഴും നീങ്ങുന്നില്ലെങ്കിൽ, പൊരുത്തം മാറ്റിഎഴുതുന്നതിന് മുൻപ് പാതയെ സംശയിക്കുക. അത് നീങ്ങുന്നുവെങ്കിലും കണക്ഷൻ ഇപ്പോഴും വിജയിക്കുന്നുവെങ്കിൽ, ഡ്രോപ്പ് പിന്നീട് അതിലംഘിക്കപ്പെടുന്നു, പ്രശ്നം ക്രമത്തിലാണ്. ആ ഉത്തരമാണ് പരിഹാരം നിയമമാറ്റമോ ടോപ്പോളജി മാറ്റമോ എന്ന് തീരുമാനിക്കുന്നത്, അതിനാൽ എന്തെങ്കിലും എഡിറ്റ് ചെയ്യുന്നതിന് മുൻപ് അത് നേടുക.

ഫിൽട്ടർ ചെയ്യാൻ കഴിയുന്ന ഒരു അതിർത്തി തിരഞ്ഞെടുക്കുക

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

തുടർന്ന് പ്രവാഹം കൃത്യമായി പൊരുത്തപ്പെടുത്തുക. ട്രാഫിക് രണ്ട് ദിശകളിലും ടണൽ ഇന്റർഫേസിൽ എത്തുകയും ടണൽ ഇന്റർഫേസിൽ നിന്ന് പുറത്തുപോകുകയും ചെയ്യുന്നു, അതിനാൽ ഭൗതിക ഇന്റർഫേസ് മാത്രം പരിഗണിക്കുന്ന നിയമങ്ങൾ പൊരുത്തപ്പെടില്ല. വിലാസാധിഷ്ഠിത നിയമങ്ങൾക്ക് നിലവിലെ പൂൾ ആവശ്യമാണ്, മടങ്ങിവരുന്ന ദിശയും മുന്നോട്ടുള്ള ദിശയും അവ കണക്കിലെടുക്കണം.

പല വിന്യാസങ്ങൾക്കും ക്ലയന്റ് അല്ലെങ്കിൽ ഗ്രൂപ്പ് തലത്തിൽ ഫിൽട്ടർ ചെയ്യുന്നതാണ് നല്ലത്, അവിടെ ഐഡന്റിറ്റി അറിയാം, നയം വീണ്ടും ബന്ധിപ്പിക്കുമ്പോൾ മാറുന്ന വിലാസത്തെയല്ല ഉപയോക്താവിനെ പിന്തുടരുന്നു. ഇത് ഹോസ്റ്റ് ശൃംഖലയിൽ നിന്ന് വ്യത്യസ്തമായ സംവിധാനമാണ്, വ്യക്തമായ കാരണമില്ലാതെ രണ്ടും കലർത്തരുത്.

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

ഒരു നിയമത്തിൽ വിശ്വസിക്കുന്നതിനുപകരം ഐസൊലേഷൻ പരിശോധിക്കുക

വിലക്കപ്പെട്ട സാഹചര്യവും അനുവദിക്കപ്പെട്ട സാഹചര്യവും ഒരേ പ്രവർത്തനത്തിൽ പരിശോധിക്കുക. ഒരു ക്ലയന്റിൽ നിന്ന് മറ്റൊന്നിലേക്ക് പുതിയ കണക്ഷൻ ആരംഭിച്ച് അത് പരാജയപ്പെടുന്നു എന്ന് സ്ഥിരീകരിക്കുക, തുടർന്ന് അനുവദിക്കേണ്ട കണക്ഷൻ ഇപ്പോഴും പ്രവർത്തിക്കുന്നു എന്ന് സ്ഥിരീകരിക്കുക. ആദ്യത്തേത് മാത്രം പരിശോധിച്ചാൽ എല്ലാം തടയുന്ന ഫയർവാൾ വിജയമായി തോന്നും.

സെർവർ കോൺഫിഗറേഷൻ വീണ്ടും ലോഡ് ചെയ്തതിന് ശേഷവും ക്ലയന്റ് വീണ്ടും ബന്ധിപ്പിച്ചതിന് ശേഷവും ആവർത്തിക്കുക, കാരണം ആന്തരിക ഫോർവേഡിംഗും പൂൾ അനുവദനങ്ങളും റൺടൈം അവസ്ഥയാണ്. രണ്ട് ദിശകളിലും കൗണ്ടറുകൾ പരിശോധിക്കുക, ഒരു ദിശയുമായി പൊരുത്തപ്പെടുകയും മറുപടിയുമായി പൊരുത്തപ്പെടാതിരിക്കുകയും ചെയ്യുന്ന നിയമം വേഗത്തിലുള്ള പരിശോധനയിൽ ശ്രദ്ധിക്കാൻ പ്രയാസമുള്ള ഭാഗിക ഐസൊലേഷൻ സൃഷ്ടിക്കുന്നു.

പ്രവാഹം യഥാർത്ഥത്തിൽ വഹിക്കുന്ന അതിർത്തിയിൽ നിരീക്ഷിക്കുന്ന ഫലമാണ് ഐസൊലേഷൻ. ഹോസ്റ്റിൽ എവിടെയോയുള്ള DROP നിയമം തെളിവല്ല; പരാജയപ്പെട്ട കണക്ഷനും അതിന് കാരണമായ നിയമത്തിന്റെ നീങ്ങിയ കൗണ്ടറുമാണ് തെളിവ്.

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