VPN ട്രാഫിക്കിൽ പോളിസി റൂട്ടിംഗ് എന്താണ് മാറ്റുന്നത്, എന്തല്ല
ഏത് പട്ടിക പരിശോധിക്കണമെന്ന് നിയമങ്ങൾ തീരുമാനിക്കുന്നു, അതിനാൽ പ്രധാന പട്ടികയിലെ ഡിഫോൾട്ട് റൂട്ട് പലപ്പോഴും ഒന്നും വിശദീകരിക്കുന്നില്ല. നിയമം ചേർക്കുന്നതിന് മുമ്പ് മുൻഗണനകളും മാർക്കുകളും ഉറവിടങ്ങളും ഒരുമിച്ച് വായിക്കുക.
പോളിസി റൂട്ടിംഗ് മിക്ക ട്രബിൾഷൂട്ടിംഗ് കുറിപ്പുകളും ചോദിക്കുന്ന ചോദ്യത്തിൽ നിന്ന് വ്യത്യസ്തമായ ഒരു ചോദ്യത്തിന് ഉത്തരം നൽകുന്നു. പ്രധാന പട്ടിക ലക്ഷ്യസ്ഥാനം എവിടെ പോകുന്നു എന്ന് പറയുന്നു; പോളിസി നിയമങ്ങൾ ഏത് പട്ടികയാണ് പരിശോധിക്കുന്നത് എന്ന് പറയുന്നു, ഉറവിട വിലാസം, പാക്കറ്റ് മാർക്ക്, അല്ലെങ്കിൽ പാക്കറ്റ് എത്തിയ ഇന്റർഫേസ് എന്നിവയിൽ നിന്ന് അവർ അത് തീരുമാനിക്കാം. ടണൽ പൊരുത്തമില്ലാതെ പ്രവർത്തിക്കുമ്പോൾ, കാരണം പലപ്പോഴും നിയമക്കൂട്ടമാണ്, റൂട്ടിംഗ് പട്ടിക പലപ്പോഴും അല്ല.
നിയമങ്ങൾ പട്ടിക തിരഞ്ഞെടുക്കുന്നു, പിന്നെ പട്ടിക റൂട്ട് തിരഞ്ഞെടുക്കുന്നു
ഓരോ നിയമത്തിനും മുൻഗണന, പൊരുത്ത വ്യവസ്ഥ, ലക്ഷ്യ പട്ടിക എന്നിവയുണ്ട്. കെർണൽ മുൻഗണനാ ക്രമത്തിൽ നിയമങ്ങളിലൂടെ നടന്ന് ആദ്യ പൊരുത്തത്തിൽ നിൽക്കുന്നു, തുടർന്ന് ആ പട്ടികയിൽ സാധാരണ ഏറ്റവും നീളമുള്ള പ്രിഫിക്സ് തിരയൽ നടത്തുന്നു. ശൂന്യമായ പട്ടികയിലേക്ക് ചൂണ്ടുന്ന നിയമം അടുത്ത നിയമം തിരഞ്ഞെടുക്കുന്നതിലേക്ക് വീഴുന്നു, സൂക്ഷ്മമായി എഴുതിയ ഒരു നിയമം ഒന്നും ചെയ്യുന്നില്ലെന്ന് തോന്നുന്നത് ഇങ്ങനെയാണ്.
അതുകൊണ്ടാണ് പ്രധാന പട്ടിക ഡംപ് ചെയ്യുന്നത് പ്രവർത്തിക്കുന്ന VPN ക്ലയന്റിനെ അപൂർവ്വമായി മാത്രം വിശദീകരിക്കുന്നത്. ക്ലയന്റുകൾ സാധാരണയായി താഴ്ന്ന മുൻഗണനാ നമ്പറുകളിൽ നിയമങ്ങൾ ചേർക്കുന്നു, പ്രധാന പട്ടികയുടെ ഡിഫോൾട്ട് നിയമത്തിന് വളരെ മുമ്പ്, അതിനാൽ പാക്കറ്റ് നിങ്ങൾ നോക്കിയിരുന്ന റൂട്ടിൽ ഒരിക്കലും എത്തുന്നില്ല. പ്രധാന പട്ടികയിലെ മെട്രിക് കുറയ്ക്കുന്നത് ഇതിനകം വഴിതിരിച്ചുവിട്ട ട്രാഫിക്കിന് ഒന്നും മാറ്റുന്നില്ല.
ഒരു നിയമത്തിന് പ്രിഫിക്സിനെ ബോധപൂർവ്വം ബ്ലാക്ക് ഹോളോ എത്തിച്ചേരാനാകാത്തതോ ആക്കാനും കഴിയും. ചില ക്ലയന്റുകൾ അത്തരം ഒരു നിയമം സുരക്ഷാ സ്വിച്ചായി ചേർക്കുന്നു, അപ്പോൾ ഡ്രോപ്പ് കോൺഫിഗർ ചെയ്ത ടണലിനെക്കാൾ തകർന്ന ടണലിനെപ്പോലെ തോന്നുന്നു.
നിയമക്കൂട്ടം ഒരു പട്ടികയായല്ല, ഒരു ശ്രേണിയായി വായിക്കുക
നിയമങ്ങൾ അവയുടെ മുൻഗണനകളോടും അവ പരാമർശിക്കുന്ന പട്ടികകളോടും കൂടി അച്ചടിക്കുക, തുടർന്ന് ഡിഫോൾട്ട് അല്ലെങ്കിൽ ടണൽ റൂട്ട് ഉള്ള ഓരോ പട്ടികയും അച്ചടിക്കുക. ക്രമമാണ് പ്രധാനമായ ഭാഗം, സ്ക്രീൻഷോട്ട് സാധാരണയായി ഒഴിവാക്കുന്ന ഭാഗവും അതുതന്നെ:
ip rule show ip route show table all | sed -n '1,60p' ip route get 198.51.100.20 from 10.8.0.2 ip route get 198.51.100.20 from 10.8.0.2 mark 0x1
സിദ്ധാന്തത്തെ നിരീക്ഷണമാക്കി മാറ്റുന്നത് അവസാനത്തെ രണ്ട് കമാൻഡുകളാണ്, കാരണം അവ ചോദിക്കുന്നു കെർണൽ ആ ഉറവിടത്തിനും ആ മാർക്കിനും എന്ത് ചെയ്യുമായിരുന്നു. മാർക്ക് മാറുമ്പോൾ ഉത്തരം മാറുകയാണെങ്കിൽ, മാർക്ക് അടിസ്ഥാനമാക്കിയ ഒരു നിയമം പ്രവർത്തിക്കുന്നു, മാർക്ക് ഒഴിവാക്കുന്ന ഏത് പരിശോധനയും മറ്റൊരു പാക്കറ്റ് പരിശോധിക്കുന്നു. പുറത്തുള്ള കണക്ഷന് സ്വന്തം നിയമം അർഹിക്കുന്നു. എല്ലാ ട്രാഫിക്കും തന്നിലൂടെ റൂട്ട് ചെയ്യുന്ന ടണൽ, താൻ ബന്ധിപ്പിക്കുന്ന അന്ത്യബിന്ദു വിലാസം ഒഴിവാക്കണം, അല്ലെങ്കിൽ എൻക്രിപ്റ്റ് ചെയ്ത പാക്കറ്റുകൾ ഇപ്പോൾ വിട്ട ടണലിലേക്ക് തിരികെ അയയ്ക്കപ്പെടും. മിക്ക ക്ലയന്റുകളും ആ ഒഴിവാക്കൽ സ്വയമേവ ചേർക്കുന്നു, കൈകൊണ്ട് തിരുത്തിയ നിയമക്കൂട്ടമാണ് അത് നഷ്ടപ്പെടുന്നിടം.
മാർക്കുകളും സോക്കറ്റുകളും: ക്ലയന്റുകൾ ട്രാഫിക് വിഭജിക്കുന്ന രണ്ട് വഴികൾ
ചില ക്ലയന്റുകൾ ഫയർവാളിൽ പാക്കറ്റുകൾ മാർക്ക് ചെയ്ത് മാർക്കിന് പൊരുത്തപ്പെടുന്ന ഒരു നിയമം ചേർക്കുന്നു. മറ്റുള്ളവർ സോക്കറ്റ് തലത്തിലെ റൂട്ടിംഗ് ഉപയോഗിച്ച്, ബന്ധിപ്പിക്കുന്നതിന് മുമ്പ് സോക്കറ്റിൽ ഒരു റൂട്ട് ഇടുന്നു. ആദ്യത്തേത് ip rule ൽ കാണാം; രണ്ടാമത്തേത് കാണാനാകില്ല, പൊതുവായ തിരയലിൽ അത് പ്രത്യക്ഷപ്പെടുകയുമില്ല.
ഒരു പരീക്ഷണ പ്രോഗ്രാം അത് പ്രതിനിധീകരിക്കേണ്ട ആപ്ലിക്കേഷനിൽ നിന്ന് വ്യത്യസ്തമായി പ്രവർത്തിക്കുന്നെങ്കിൽ, ആപ്ലിക്കേഷൻ ഒരു മാർക്ക് ഇടുന്നുണ്ടോ അല്ലെങ്കിൽ ഒരു ഉപകരണത്തിലേക്ക് ബന്ധിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കുക. സംവിധാനത്തിന് പേര് ലഭിച്ചാൽ ആ വ്യത്യാസം രഹസ്യമല്ല, ഒരേ യന്ത്രത്തിൽ ഷെല്ലിൽ നിന്നുള്ള curl-ഉം ബ്രൗസർ ടാബും വ്യത്യസ്ത വഴികൾ സ്വീകരിക്കാമെന്നതിന് അത് വിശദീകരണം നൽകുന്നു. രണ്ട് സാങ്കേതിക വിദ്യകളും വിശാലമായ അർത്ഥത്തിൽ പോളിസി റൂട്ടിംഗാണ്: ലക്ഷ്യസ്ഥാനത്തിൽ നിന്നല്ലാത്ത എന്തോ ഉപയോഗിച്ച് അവ ഒരു പാത തിരഞ്ഞെടുക്കുന്നു. രണ്ടിൽ ഒന്നും ട്രാഫിക്കിന് അനുമതി നൽകുന്നില്ല, രണ്ടിൽ ഒന്നും പിയർ പ്രതീക്ഷിക്കുന്ന ഫയർവാൾ നിയമങ്ങൾക്കോ ക്രെഡൻഷ്യലുകൾക്കോ പകരമാകുന്നില്ല.
ഇനിയൊരു നിയമം ചേർക്കുന്നതിന് മുമ്പ് ഉടമസ്ഥത കണ്ടെത്തുക
നിയമങ്ങൾ എന്തോ ഇൻസ്റ്റാൾ ചെയ്യുന്നു. ഒരു VPN ക്ലയന്റ്, ഒരു നെറ്റ്വർക്ക് മാനേജർ, കൈകൊണ്ട് എഴുതിയ ഒരു സ്ക്രിപ്റ്റ് എന്നിവയ്ക്ക് ഓരോന്നിനും തുടക്കത്തിൽ നിയമങ്ങൾ ചേർക്കാം, വീണ്ടും ബന്ധിപ്പിക്കുന്ന ലോജിക് മുൻ കൂട്ടം പിന്നിൽ വിടാം. മുൻ പ്രൊഫൈലിൽ നിന്നുള്ള രണ്ട് പഴയ നിയമങ്ങൾ പ്രൊഫൈൽ ഇല്ലാതാക്കിയതിന് ഏറെക്കാലം കഴിഞ്ഞും ട്രാഫിക്ക് നയിക്കുന്നത് തുടരും.
ഏത് പ്രോസസ്സാണ് നിയമം സ്വന്തമാക്കുന്നതെന്ന് അതിന്റെ മുൻഗണനയും രൂപവും വെച്ച് കണ്ടെത്തുക, ആ ഉടമ ഓരോ കണക്ഷനിലും കൂട്ടം വീണ്ടും എഴുതുന്നുണ്ടോ എന്ന് പരിശോധിക്കുക. എഴുതുന്നെങ്കിൽ, ഇന്ന് ചേർത്ത കൈനിയമം നാളെ അപ്രത്യക്ഷമാകും, തിരുത്തൽ ഷെൽ ചരിത്ര ഫയലിലല്ല, ക്ലയന്റിന്റെ കോൺഫിഗറേഷനിൽ വേണം. പരിശോധനയ്ക്കായി മുഴുവൻ നിയമക്കൂട്ടവും മായ്ക്കുന്നത് പ്രവചിക്കാവുന്ന ചെലവുള്ള ഒരു പ്രലോഭനീയ ചുരുക്കവഴിയാണ്: ക്ലയന്റിന് സ്വന്തം ടണൽ പ്രവർത്തിപ്പിക്കാൻ ആവശ്യമായ നിയമങ്ങളും അത് നീക്കം ചെയ്യുന്നു. ഓരോന്നായി നിയമം ഇല്ലാതാക്കുക, അല്ലെങ്കിൽ റീബൂട്ട് ചെയ്യാവുന്ന ഒരു യന്ത്രത്തിൽ പരിശോധിക്കുക.
ഒന്നല്ല, രണ്ട് ഫ്ലോകൾ കൊണ്ട് വ്യാപ്തി തെളിയിക്കുക
ബാധിക്കേണ്ട ഒരു ഫ്ലോയും ബാധിക്കേണ്ടാത്ത ഒരു ഫ്ലോയും കൊണ്ട് മാത്രമേ തിരുത്തൽ സ്ഥിരീകരിക്കുന്നുള്ളൂ. പോളിസി ടണലിലേക്ക് റൂട്ട് ചെയ്യുന്ന ഒരു ലക്ഷ്യസ്ഥാനവും പുറത്ത് നിൽക്കേണ്ട മറ്റൊന്നും തിരഞ്ഞെടുത്ത്, രണ്ടിനുമുള്ള തിരയലുകളും ക്യാപ്ചറുകളും താരതമ്യം ചെയ്യുക:
ip route get 198.51.100.20 from 192.0.2.44 ip route get 198.51.100.21 from 192.0.2.44 tcpdump -ni any host 198.51.100.21 and port 443
രണ്ട് തിരയലുകളും വ്യത്യസ്ത ഇന്റർഫേസുകൾ നൽകുമ്പോൾ നിയമം എന്തോ ചെയ്യുന്നു. ഒരേ ഇന്റർഫേസ് നൽകുമ്പോൾ നിയമം ഉദ്ദേശിച്ചതിലും വിശാലമായി പൊരുത്തപ്പെടുന്നു, ഒരു ആപ്ലിക്കേഷനുവേണ്ടി ഉദ്ദേശിച്ച ടണലിലൂടെ ഒരു മുഴുവൻ സബ്നെറ്റിനെയും നിശബ്ദമായി അയയ്ക്കുന്ന പരാജയം അതാണ്.
ടിക്കറ്റിൽ നിയമങ്ങളുടെ മുൻഗണനകളും ഉടമസ്ഥ സേവനവും രണ്ട് പരീക്ഷണ വിലാസങ്ങളോടൊപ്പം രേഖപ്പെടുത്തുക. അപ്പോൾ അടുത്ത വ്യക്തിക്ക് രോഗലക്ഷണത്തിന്റെ വിവരണത്തിന് പകരം പുനരുൽപ്പാദിപ്പിക്കാവുന്ന ഒരു ജോടി ലഭിക്കും, പോളിസി റൂട്ടിംഗ് ഇപ്പോഴും പ്രവർത്തിക്കുന്നുണ്ടോ എന്ന് ഒരു മിനിറ്റിനുള്ളിൽ പറയാനും കഴിയും.